5 Se
5 Se
OF
SOFTWARE
ENGINEERING
(CIC-357)
To attain global excellence through education, innovation, research, and work ethics with the
commitment to serve humanity.
M1. To excel in the field by imparting quality education and skills for software
development and applications.
M2. To establish a conducive environment that promotes intellectual growth and
research.
M3. To facilitate students to acquire entrepreneurial skills for innovation and product
development.
M4. To encourage students to participate in competitive events and industry interaction
with a focus on continuous learning.
MAHARAJA AGRASEN INSTITUTE OF TECHNOLOGY
PEO1. The graduates would utilize their professional skills in Information Technology
to address real-world and societal challenges.
PEO3. The graduates would pursue research globally and engage in producing novel
products to serve humanity.
PSO2. Students are able to provide efficient solutions for emerging challenges in
the computation domain such as Artificial Intelligence, Data Science, Web
Technologies.
PSO3. Students are able to apply domain knowledge and expertise in the field of
Information Technology for enhancing research capability to transform
innovative ideas into reality.
CO OF THE LAB SUBJECT AND ITS MAPPING
WITH PO AND PSO
CO Course Outcome
CO1 Ability to have an understanding of SDLC Models, Techniques for Requirement
Elicitation, and SRS
Document.
CO2 To be able to explain Software Project Planning and various methods for
software design
CO3 To Understand Software Metrics, Software Reliability, and Quality assurance
CO4 Ability to have an understanding of Software testing, documentation and
maintenance.
CO & PO Mapping:
CO
1 3 2 2 2 3 - - - 3 2 2 3
CO
2 3 2 2 2 3 - - - 3 2 2 3
CO 3 2 2 2 3 - - _ 3 2 2 3
3
CO 3 2 2 2 3 - - - 3 2 2 3
4
Lab Objective:
2. To be able to explain Software Project Planning and various methods for software
design.
1
HARDWARE & SOFTWARE REQUIREMENT
2
LIST OF PRACTICALS (AS PER SYLLABUS
PRESCRIBED BY G.G.S.I.P.U)
1. Write down the problem statement for a suggested system of
relevance.
2. Do requirement analysis and develop Software Requirement
Specification Sheet (SRS) for suggested system.
3. To perform the function-oriented diagram: Data Flow Diagram
(DFD) and Structured chart.
4. Draw the entity relationship diagram for the suggested system.
5. To perform the user’s view analysis for the suggested
system: Use case diagram.
6. To draw the structural view diagram for the system: Class diagram,
object diagram.
7. To draw the behavioral view diagram: State-chart diagram,
Activity diagram
8. To perform the behavioral view diagram for the suggested system:
Sequence diagram, Collaboration diagram
9. To perform the implementation view diagram: Component
diagram for the system.
10. To perform the environmental view diagram: Deployment
diagram for the system.
11. To perform various testing using the testing tool unit testing,
integration testing for a sample code of the suggested system.
12. To Perform Estimation of effort using FP Estimation for chosen
system.
13. To Prepare time line chart/Gantt Chart/PERT Chart for selected
software project.
Choose any one project and do the above exercises for that project
3
(b) Library management system
(c) Inventory control system
(d) Accounting system
(e) Fast food billing system
(f) Blood bank system
(g) Railway reservation system
(h) Automatic teller machine
(i) Video library management system
(j) Hotel management system
(k) Hostel management system
(l) E-ticking
(m) Share online trading
(n) Hostel management system
(o) Resource management system
(p) Court case management system
(q) Bank Loan System
4
LIST OF PRACTICALS (BEYOND THE
LIST PRESCRIBED BY G.G.S.I.P.U)
a.
1. To design a flow chart for chosen system.
2. To draw ER Diagram for chosen system.
5
FORMAT OF THE LAB RECORDS TO BE
PREPARED BY THE STUDENTS
The students are required to maintain the lab records as per the
instruction:
1. All the record files should have a cover page as per the format.
2. All the record files should have an index as per the format.
3. All the record should have the following:
I. Date
II. Aim
III. Algorithm or The Procedure to be followed
IV. Program
V. Output
VI. Viva Questions
6
MARKING SCHEME
FOR THE
PRACTICAL EXAMINATION
1. Regularity/ Attendance
2. File
3. Quiz
4. Viva Voce
7
EXTERNAL PRACTICAL EXAMINATION
It is taken by the concerned faculty of the batch and by an external
examiner. In this exam, student needs to perform the experiment allotted
at the time of the examination, a sheet will be given to the student in
which some details asked by the examiner needs to be written and at the
last viva will be taken by external examiner.
8
ANNEXURE I
COVER PAGE OF THE LAB RECORD TO BE
PREPARED BY THE STUDENTS
SOFTWARE ENGINEERING LAB
CIC-357
(Size 20”, italics bold, Times New Roman)
Faculty Name:
(16”, Times New Roman) Student Name:
Roll No.:
Semester:
Batch:
(16”, Times New Roman)
9
ANNEXURE II
FORMAT OF THE INDEX TO BE PREPARED BY THE
STUDENTS
SOFTWARE ENGINEERING LAB
PRACTICAL RECORD
PAPER CODE : CIC -357
Name of the student :
University Roll No. :
Branch :
Section/ Group :
PRACTICAL DETAILS
a) Experiments according to the list provided by GGSIPU
b)
Experiment Date Experiment Name Marks (0-3) Total Signature
No. Marks
(15)
R1 R2 R3 R4 R5
1.
2.
3.
4.
5.
10
c) Experiments beyond the list provided by GGSIPU
2.
3.
4.
5.
11
INTRODUCTION OF SOFTWARE ENGINEERING LAB
StarUML is an open-source software modeling tool that supports UML (Unified Modeling
Language). It is based on UML version 1.4, provides eleven different types of diagrams and it
accepts UML 2.0 notation. It actively supports the MDA (Model Driven Architecture) approach
by supporting the UML profile concept and allowing to generate code for multiple languages.
Features
When you start a new project, StarUML proposes which approach you want to use: 4+1
(Krutchen), Rational, UML components (from Chessman and Daniels book), default or empty.
Depending on the approach, profiles and/or frameworks may be included and loaded. If you don't
follow a specific approach, the "empty" choice could be used. Although a project can be managed
as one file, it may be convenient to divide it into many units and manage them separately if many
developers are working on it together.
StarUML makes a clear conceptual distinction between models, views and diagrams. A Model is
an element that contains information for a software model. A View is a visual expression of the
information contained in a model, and a Diagram is a collection of view elements that represent
the user’s specific design thoughts.
StarUML is build as a modular and open tool. It provides frameworks for extending the
functionality of the tool. It is designed to allow access to all functions of the model/meta-model
and tool through COM Automation, and it provides extension of menu and option items. Also,
users can create their own approaches and frameworks according to their methodologies. The tool
can also be integrated with any external tools.
12
The user interface is intuitive. On the upper right side, a window allows to rapidly navigate
between all the content of a project, adopting either a model or a diagram view. Multiple diagrams
can be open at the same time and tabs allow switching rapidly between views. The lower right
window allows to document the current diagram, either with plain text or attaching an external
document. During diagram editing, "wizards" are located around the object that give you the quick
shortcuts to main associated tasks with your current operation, like adding an attribute when you
create a class for instance. A right-click on the mouse brings the full set of operations at your
disposal.
StarUML has also a model verification feature. You can export diagram in different formats (jpg,
bmp, wmf). It also supports a patterns approach and import of Rational Rose files.
StarUML Generator is platform module to generate various artifacts (like as Microsoft Word,
Excel, PowerPoint, and Text-based artifacts) by templates depending on UML model elements in
StarUML. The users can define their own templates and can apply many different kinds of
templates to the same UML model, so the users can get various artifacts automatically, easily and
fast. The tool supports code generation and reverse engineering for Java, C# and C++.
So, we can summarize the key features of StarUML as follows: -
13
EXPERIMENT 1
AIM:
Write down the problem statement for a suggested system of relevance.
THEORY:
The problem statement is the initial starting point for a project. It is basically a one to three-
page statement that everyone on the project agrees with that describes what will be done at a
high level. The problem statement is intended for a broad audience and should be written in
non-technical terms. It helps the non-technical and technical personnel communicate by
providing a description of a problem. It doesn't describe the solution to the problem.
So, basically a problem statement describes what needs to be done without describing how.
Performance Instruction:
1. Choose any one project from given list.
2. Collect all requirements
3. Identify functionalities
4. Write a one to three-page statement that everyone on the project agrees with that
describes what will be done at a high level.
Sample Output:
PROBLEM STATEMENT FOR RAILWAY RESERVATION SYSTEM
Software has to be developed for automating the manual railway reservation system. The system
should be distributed in nature. It should be designed to provide the functionalities as follows:
Reserve Seat: A traveler should be able to reserve seats in the desired train. A reservation form is to be filled
by the traveler and given to the clerk, who then checks for the availabilityof seats for the specified train and
date of journey. If seats are available, then entries are madeinto the system regarding the train name, train
number, date of journey, boarding station, destination, person name, age, sex and the total fare. Traveler is
asked to pay the required fareand the tickets are printed. It should be noted that a single ticket should not
reserve more thansix persons at a time and the children below 12 years and the senior citizens should get 50%
concession in their respective fare. If the seats are not available, then reservation request is rejected and the
Traveler is informed so.
14
1. Cancel Reservation: A traveler wishing to cancel a reservation is required to fill a form. The
traveler then submits the form and the ticket to the clerk. The clerk then deletes the
corresponding entries in the system and changes the reservation status of that train. The ticket
is crossed by hand and considered cancelled. A new cancellation ticket is generated and given
to the traveler along with the fare minus the 20% cancellation fees per reservation.
2. Update Train Information: Only the administrator can enter any changes related to the train
information like change in train name, train number, train route, etc. in the system.
3. Report Generation: Provision for generation of different reports should be there in the
system. The system should be able to generate reservation chart, monthly train report etc.
4. Login: For security reasons all the users of the systems are given a user ID and password.
Only when both the entries are correct and they match the user should be allowed to enter the
system.
5. View Reservation status: All the users should be able to see arrival & departure time and
reservation status of a train online. The user needs to enter the train number the PNR number
printed on the ticket so that the system can display the current train position like on time, late
by specified hours or the reservation status like confirmed, wait listed and RAC.
6. View Train Schedule: Provision should be made in the system to see information related to
the train schedules for entire train network. The user should be able to see the train name, train
number, boarding and destination stations, duration of journey etc.
Conclusion: The problem statement was written successfully by following the steps described
above.
15
VIVA - QUESTIONS:
Q-1. What is problem statement?
Q-3. Writing a problem statement, is really a beneficial for you in proceeding proje
Q-5. What are steps that need to follow while writing problem statement?
16
EXPERIMENT 2
AIM:
Do requirement analysis and develop Software Requirement Specification Sheet (SRS) for
suggested system.
THEORY:
Software Requirement Specification (SRS) is a document that describes the requirements of
a computer system from the user's point of view.
An SRS document specifies: The required behavior of a system in terms of: input data, required
processing, output data, operational scenarios and interfaces. The attributes of a system
including: performance, security, maintainability, reliability, availability, safety requirements
and design constraints.
It provides feedback to the customer. An SRS is the customer's assurance that the
development organization understands the issues or problems to be solved and the software
behavior necessary to address those problems. Therefore, the SRS should be written in
natural language (versus a formal language, explained later in this article), in an
unambiguous manner that may also include charts, tables, data flow diagrams, decision
tables, and so on.
It decomposes the problem into component parts. The simple act of writing down software
requirements in a well-designed format organizes information, places borders around the
problem, solidifies ideas, and helps break down the problem into its component parts in an
orderly fashion.
It serves as an input to the design specification. As mentioned previously, the SRS serves
as the parent document to subsequent documents, such as the software design specification
and statement of work. Therefore, the SRS must contain sufficient detail in the functional
system requirements so that a design solution can be devised.
It serves as a product validation check. The SRS also serves as the parent document for
testing and validation strategies that will be applied to the requirements for verification.
SRSs are typically developed during the first stages of "Requirements Development," which is
the initial product development phase in which information is gathered about what
requirements are needed--and not. This information-gathering stage can include onsite visits,
questionnaires, surveys, interviews, and perhaps a return-on-investment (ROI) analysis or
needs analysis of the customer or client's current business environment. The actual
specification, then, is written after the requirements have been gathered and analyzed.
17
1.4 References
1.5 Overview
2. Overall Description
2.1 Product Perspective
3. Specific Requirements
3.1 External Interface Requirements
3.1.1 User Interfaces
Login Screen
Train Info Parameters Screen
Train Information Screen
Passenger Info Parameters Screen
Passenger Information Screen
Passenger’s Train Choice Parameters Screen
Passenger Entry Info Screen
Non-Availability Info Screen
Passenger Entry Screen
Passenger Parameters Screen
Passenger List Report Parameters
RAC List Parameters Screen
Sequencing Information
19
3.1.5 Software Interfaces
3.1.6 Communications Interfaces
3.3 Software Product Features
3.3.1 Train Information Maintenance
Description
Validity Checks
Sequencing Information
Error Handling/ Response to Abnormal Situations
3.3.2 Passenger Information Maintenance
Description
Validity Checks
Sequencing Information
Error Handling/ Response to Abnormal Situations
3.3.3 Ticket Generation
Description
Validity Checks
Sequencing Information
Error Handling/ Response to Abnormal Situations
3.3.4 Repot Generation
Passenger List and RAC Report
WL Report
Monthly Passenger List Report
Sample Output:
1. INTRODUCTION
This document aims at defining the overall software requirements for ‘RAILWAY
RESERVATION SYSTEM’. Efforts have been made to define the requirements exhaustively
and accurately. The final product will be having only features/functionalities mentioned in this
document and assumptions for any additional functionality/feature should not be made by any of
the parties involved in developing/testing/implementing/ using this product. In case it is required
to have some additional features a formal change request will need to be raised and subsequently
a new release of this document and/or product will be produced.
1.1 PURPOSE
This specification document describes the capabilities that will be provided by the software
application ‘RAILWAY RESERVATION SYSTEM’. It also sates the various required constraints
by which the system will abide. The intended audiences for this document are the development
team, testing team and end users of the product.
1.2 SCOPE
The software product ‘RAILWAY RESERVATION SYSTEM’ is an application that will be used
for ticketing, reservation, cancellation and management of railway system for our government.
The application will manage the information about various passengers which travel through the
railways, through which train they want to travel, where the want to travel, distance between the
two cities, what is the current status and the status of next three days of the reservation, what is the
fare, what is the class through they want to travel and their personal records. Printable tickets for
the passengers will also be generated.
This application will greatly simplify and speed up the result preparation and management process
21
PNR: Passenger Name Record
RAC: Reservation Against Cancellation.
1.3 REFERENCES
(i) Website: For more information, log on to www.indianrail.gov.in
1.4 OVERVIEW
The rest of this SRS document describes the various system requirements, interfaces, features and
functionalities in detail.
1. OVERALL DESCRIPTION
22
(i) Reservation Chart: Printable report will be generated to show the list of the passengers
reserved in a particular train along with the class of their travel.
(ii) RAC Chart: Printable report will be generated to show to show the list of passengers who
are getting their seats in RAC in a particular train.
(iii) Waiting List: Printable reports will be generated to show the list of the passengers who are
in the waiting list of the reservation for their seats in a particular train.
(iv) Monthly Report: Monthly report will be generated for the railway department to show how
many passengers have traveled during the particular month.
Software mentioned in pts. (iii) and (iv) above will be required only for development of the application.
The final application will be packaged as an independent setup program that will be delivered to the
client (hospital in this case
23
1.1.6 MEMORY CONSTRAINTS
At least 64 MB RAM and 2 GB space on hard disk will be required for running the program.
1.1.7 OPERATIONS
This product release will not cover any automated housekeeping aspects of the database. The DBA at
the client site (i.e., Railways) will be responsible for manually deleting old/non-required data.
Database backup and recovery will also have to be handled by the DBA. However, the system wil
provide a ‘RESET SYSTEM’ function that will delete (upon conformation from the administrator) all
the existing information from the database.
1.1.8 SITE ADAPTATION REQUIREMENTS
The terminals at client site will have to support the hardware and software interface specified in
above section.
1.2 PRODUCT FUNCTIONS
The system will allow access only to authorized users with specific roles. Depending upon the user’s
role he/she will be able to access only specific modules of the system.
A summary of the major functions that the software will perform:
(i) A LOGIN facility for enabling only authorized access to the system.
(ii) User (with role Reservation Clerk) will be able to add/modify/delete information about
different passengers that are reserving their ticket in different trains and dates.
(iii) User (with role Reservation Clerk) will be able to add/modify/delete information about
different seats that are offered in a train (1AC, 2AC, 3AC, Sleeper). The Reservation list
of passengers along with their class should be displayed.
(iv) User (with role Reservation Clerk) will be able to add/modify/delete information about the
waiting list of the passengers and their RAC.
(v) User (with role Reservation Clerk) will be able to print the ticket of the passenger.
(vi) User (with role Administrator) will be able to generate printable reports.
(vii) User (with role Administrator) will be able to ‘Reset’ the system – leading to deletion of
all existing information from the backend database.
(viii) User (with a role Administrator) will be able to create/ modify/ delete new/ existing user
accounts.
(ii) Experience- Should be well informed about the features concerning railways. Technical
24
expertise-Should be comfortable with general purpose applications of computer.
1.4 CONSTRAINTS
(i) Since the DBMS being used in MS access 2000, which is not a very powerful DBMS it
will not be able to store a very huge number of records.
(ii) Due to limited features of DBMS being used performance tuning features will not be
applied to the queries and thus the system may become slow with the increase in the records
being stored.
(iii) Due to limited features of DBMS being used, database auditing will also not be provided.
(iv) Users at Railway Reservation will have to implement a security policy to safeguard the
passenger related information from being modified by unauthorized users (by means of
gaining access to the backend database).
2. SPECIFIC REQUIREMENTS
This section contains the software requirements to a level of detail sufficient to enable designers
to design the system, and testers to test that system.
2.1 EXTERNAL INTERFACE REQUIREMENTS
2.1.1 USER INTERFACES
The following screens will be provided:
Login Screen:
This will be the first screen that will be displayed. It will allow user to access different screens
based upon the user’s role. Various fields available on this screen will be:
(i) User ID: Alphanumeric of length upto 10 characters.
(ii) Password: Alphanumeric of length upto 8 characters.
(iii) Role: Will have the following values:
Administrator, Coordinator, Reservation Clerk.
Train Info Parameters Screen:
This screen will be accessible only to user with role Administrator. It will allow the user to enter
the name of train for which the user wants to access the train information.
25
Train Information Screen:
This screen will be accessible only to user with role Administrator. It will allow user to
add/modify/delete information about new/existing train(s) for a particular date that was selected in
the ‘Train Info Parameters’ screen. The list of available seats for that train will also be displayed.
Various fields available on this screen will be:
(i) Train number: of format T#### (# represent a digit).
(ii) Train Name: Alphanumeric of length upto 50 characters.
(iii) Seats: Number of total seats in each class section of the train.
26
Non-Availability Info Screen:
This screen will be accessible to the user with the role Administrator. It will display the error
message to the user about the non-availability of the seats in the current train and class. It allows
user to enter another choice for the train number and class. It also allows the user if he wants to
continue reserving in the current train and class in the waiting section.
27
3.1.2 HARDWARE INTERFACES
As stated in section 2.1.3.
Sequencing Information:
Train info will have to be entered in the system before any info regarding passenger is entered.
Error Handling/ Response to Abnormal Situations:
If any of the above validations/ sequencing flow does not hold true, appropriate error msg. will be
prompted to user for doing the needful.
Sequencing Information:
Train info will have to be entered in the system before any info regarding passenger is entered.
Error Handling/ Response to Abnormal Situations:
If any of the above validations/ sequencing flow does not hold true, appropriate error msg. will be
prompted to user for doing the needful.
INDIAN RAILWAYS
NAME OF TRAIN
TRAIN NUMBER
Validity Checks:
(i) Only User with role Coordinator will be authorized to access the Ticket Generation
module.
Sequencing Information:
Ticket for a particular passenger can be generated by the system only after PNR number has been
entered in the system for a given train number, the passenger info for that ticket has been entered
in the system, the choice for the train has been entered in the system, the journey date, and the
amount has been paid to the reservation clerk.
Error Handling/ Response to Abnormal Situations:
If any of the above validations/ sequencing flow does not hold true, appropriate error msg. will be
prompted to user for doing the needful.
2.2.4 REPORT GENERATION
Passenger List and RAC Report:
For each train a passenger list and a RAC list will be generated containing the list of passengers
who have been allotted seats in the train.
INDIAN RAILWAYS
NAME OF TRAIN
TRAIN NUMBER
COACH NO.:
30
S. No. PNR NO. SEAT NO. NAME AGE SEX
WL Report:
For each train a WL will be generated containing the list of passengers who are waiting to get the
seats allotted in a train.
INDIAN RAILWAYS
NAME OF TRAIN
TRAIN NUMBER
INDIAN RAILWAYS
MONTH/YEAR
31
the system. The following information would be maintained:
Sequencing Information:
User Account for particular user has to be created in order for the system to be accessible to that
user. AT system startup, only a default user account for ‘Administrator’ would be present in the
system.
Error Handling/ Response to Abnormal Situations:
If any of the above validations/ sequencing flow does not hold true, appropriate error msg. will be
prompted to user for doing the needful.
32
2.5.3 PORTABILITY
The application will be easily portable on any windows-based system that has MS-Access 2000
installed.
Conclusion: The SRS was written successfully by following the template described above.
VIVA - QUESTIONS:
33
EXPERIMENT 3.
AIM:
To perform the function-oriented diagram: Data Flow Diagram (DFD) and Structured chart.
THEORY:
Data flow diagrams are versatile diagramming tools. With only four symbols, data flow diagrams
can represent both physical and logical information systems. The four symbols used in DFD
representation are data flows, data stores, processes, and sources / sinks (or external entities).
Symbols of DFD:
34
Data flow diagrams illustrate how data is processed by a system in terms of inputs and outputs.
35
A Structure Chart (SC) in software engineering is a chart which shows the breakdown of a
system to its lowest manageable levels. They are used in structured programming to arrange
program modules into a tree. Each module is represented by a box, which contains the module's
name. The lines represent the connection and or ownership between activities and sub activities
as they are used in organization charts. The tree structure visualizes the relationships between
modules.
Performance Instruction:
To draw DFD
1) Identify various processes, data store, input, output etc. of the system and analyses it.
2) Use processes at various levels to draw the DFDs.
To draw structured Chart Diagram
3) Identify various modules, input, output etc. of the system.
4) Draw structured chart diagram describing it in form of levels.
Sample Output:
36
Level 1 DFD
Structured Diagram
Conclusion: DFD and Structured Chart diagram was made successfully by following above
steps.
VIVA - QUESTIONS:
Q-3. Distinguish between a data flow diagram and a flow chart with example?
37
EXPERIMENT 4.
AIM:
Draw the entity relationship diagram for the suggested system.
THEORY:
An Entity Relationship (ER) Diagram is a type of flowchart that illustrates how “entities” such as people,
objects or concepts relate to each other within a system. ER Diagrams are most often used to design or
debug relational databases in the fields of software engineering, business information systems, education
and research. Also known as ERDs or ER Models, they use a defined set of symbols such as rectangles,
diamonds, ovals and connecting lines to depict the interconnectedness of entities, relationships and their
attributes.
When to use: ER diagrams are used to model and design relational databases, in terms of logic and
business rules (in a logical data model) and in terms of the specific technology to be implemented (in a
physical data model.)
Entity:
An entity may be any object, class, person or place. In the ER diagram, an entity can be represented as
rectangles.
Consider an organization as an example- manager, product, employee, department etc. can be taken as an
entity.
Weak Entity
An entity that depends on another entity called a weak entity. The weak entity doesn't contain any key attribute
of its own. The weak entity is represented by a double rectangle.
38
Attribute
The attribute is used to describe the property of an entity. Eclipse is used to represent an attribute.
For example, id, age, contact number, name, etc. can be attributes of a student.
Composite Attribute
An attribute that composed of many other attributes is known as a composite attribute. The composite attribute
is represented by an ellipse, and those ellipses are connected with an ellipse.
39
Multivalued Attribute
An attribute can have more than one value. These attributes are known as a multivalued attribute. The double
oval is used to represent multivalued attribute.
For example, a student can have more than one phone number.
Derived Attribute
An attribute that can be derived from another attribute is known as a derived attribute. It can be represented
by a dashed ellipse.
For example, A person's age changes over time and can be derived from another attribute like Date of birth.
40
Relationship
A relationship is used to describe the relation between entities. Diamond or rhombus is used to represent the
relationship.
Sample Output
41
42
EXPERIMENT 5
AIM:
To perform the user’s view analysis for the suggested system: Use case diagram.
THEORY:
The use-case diagram can provide the user’s view for designing of the software product. And it
can also be tested by matching up the requirements with the use-cases.
When to Use: Use Cases Diagrams
Use cases are used in almost every project. They are helpful in exposing requirements and planning
the project. During the initial stage of a project most use cases should be defined, but asthe project
continues more might become visible.
Actors---Are NOT part of the system – they represent anyone or anything that must interact with
the system.
Only input information to the system.
Only receive information from the system.
Both input to and receive information from the system.
43
Performance Instruction:
1) Identify various processes, use-cases, actors etc. of the system and analyze it.
2) Use processes at various levels and draw use case diagram.
Sample Output:
Conclusion: Use Case diagram was made successfully by following above steps.
44
VIVA - QUESTIONS:
Q-4. Explain guidelines that should be kept in mind while creating use cases?
45
EXPERIMENT 6
AIM:
To draw the structural view diagram for the system: Class diagram, object diagram.
THEORY:
Class diagrams are widely used to describe the types of objects in a system and their
relationships. Class diagrams model class structure and contents using design elements such
asclasses, packages and objects. Class diagrams describe three different perspectives when
designing a system, conceptual, specification, and implementation. Classes are composed of
three things: a name, attributes, and operations. Below is an example of a class:
Object diagrams are derived from class diagrams so object diagrams are dependent upon class
diagrams. Object diagrams represent an instance of a class diagram. The basic concepts are
similar for class diagrams and object diagrams. Object diagrams also represent the static view of
a system but this static view is a snapshot of the system at a particular moment.
Object diagrams are used to render a set of objects and their relationships as an instance.
Performance Instruction:
To draw class diagram
1) Identify various elements such as classes, member variables, member functions etc. of
the class diagram
2) Draw the class diagram as per the norms
1) First, analyze the system and decide which instances have important data and association.
2) Second, consider only those instances, which will cover the functionality.
3) Third, make some optimization as the number of instances are unlimited.
46
Sample Output:
Class diagram
47
Object Diagram
Conclusion: Class diagram and Object diagram were made successfully by following above
steps.
VIVA - QUESTIONS:
48
EXPERIMENT 7
AIM:
THEORY:
State diagrams are used to describe the behavior of a system. State diagrams describe
all of the possible states of an object as events occur. Each diagram usually represents objects of
a single class and tracks the different states of its objects through the system.
State chart diagrams represent the behavior of entities capable of dynamic behavior by specifying
its response to the receipt of event instances.
Activity diagrams describe the workflow behavior of a system. Activity diagrams are similar to
state diagrams because activities are the state of doing something. The diagrams describe the state
of activities by showing the sequence of activities performed. Activity diagrams can show
activities that are conditional or parallel. Activity diagrams show the flow of activities through the
system. Diagrams are read from top to bottom and have branches and forks to describe conditions
and parallel activities. A fork is used when multiple activities are occurring at the same time. The
diagram below shows a fork after activity1. This indicates that both activity2 and activity3 are
occurring at the same time. After activity2 there is a branch. The branch describes what activities
will take place based on a set of conditions. All branches at some point are followed by a merge
to indicate the end of the conditional behavior started by that branch. After the merge all of the
parallel activities must be combined by a join before transitioning into the final activity state.
49
Performance Instruction:
50
Sample Output:
51
Activity diagram for booking ticket
52
Activity Diagram for cancel ticket
Conclusion: State Chart and Activity diagram were made successfully by following above
steps.
53
VIVA - QUESTIONS:
54
EXPERIMENT 8
AIM:
To perform the behavioral view diagram for the suggested system: Sequence diagram,
Collaboration diagram.
THEORY:
Sequence diagrams show potential interactions between objects in the system being defined.
Normally these are specified as part of a use case or use case flow and show how the use case
will be implemented in the system. They include:
#Objects - oblong boxes or actors at the top - either named or just shown as belonging
to a class, from, or to which messages are sent to other objects.
# Messages - solid lines for calls and dotted lines for data returns, showing the messages
that are sent between objects including the order of the messages which is from the
top to the bottom of the diagram.
#Object lifelines - dotted vertical lines showing the lifetime of the objects.
#Activation - the vertical oblong boxes on the object lifelines showing the thread of
control in a synchronous system.
Sequence diagrams show a detailed flow for a specific use case or even just part of a
specific use case. They are almost self-explanatory; they show the calls between the
different objects in their sequence and can show, at a detailed level, different calls to
different objects. A sequence diagram has two dimensions: The vertical dimension
shows the sequence of messages/calls in the time order that they occur; the horizontal
dimension shows the object instances to which the messages are sent.
Collaboration Diagram
They are the same as sequence diagrams but without a time axis:
Their message arrows are numbered to show the sequence of message sending.
They are less complex and less descriptive than sequence diagrams.
These diagrams are very useful during design because you can figure out how objects
communicate with each other.
55
Performance Instruction:
To draw Sequence Diagram
1) Identify the class instances (objects) by putting each class instance inside a box.
2) If a class instance sends a message to another class instance, draw a line with an open arrowhead
pointing to the receiving class instance; place the name of the message/method above the line.
3) Optionally, for important messages, you can draw a dotted line with an arrowhead pointing back
to the originating class instance; label the return value above the dotted line.
To draw collaboration Diagram
1) By simply pressing combination of keys, we can design collaboration diagram from sequence
diagram.
Sample Output:
56
Sequence Diagram for cancel diagram
VIVA - QUESTIONS:
Q-5. Explain terms- entity objects, interface objects and control objects?
58
EXPERIMENT 9
AIM:
To perform the implementation view diagram: Component diagram for the system.
THEORY:
A component diagram provides a physical view of the system. Its purpose is to show the
dependencies that the software has on the other software components (e.g., software libraries) in
the system. The diagram can be shown at a very high level, with just the large-grain components,
or it can be shown at the component package level. [Note: The phrase component package level
is a programming language-neutral way of referring to class container levels such as .NET's
namespaces (e.g., System. Web.UI) or Java's packages (e.g., java.util).
Component
A component is a logical unit block of the system, a slightly higher abstraction than classes. It is
represented as a rectangle with a smaller rectangle in the upper right corner with tabs or the
word written above the name of the component to help distinguish it from a class.
Interface
An interface (small circle or semi-circle on a stick) describes a group of operations used
(required) or created (provided) by components. A full circle represents an interface created or
provided by the component. A semi-circle represents a required interface, like a person's input.
59
Dependencies
Draw dependencies among components using dashed arrows.
Port
Ports are represented using a square along the edge of the system or a component. A port is often
used to help expose required and provided interfaces of a component.
Performance Instruction:
To Draw a Component Diagram
Take stock of everything needed to implement the planned system. For example, for a
simple e-commerce system, you'll need components that describe products, orders, and
customer accounts.
Create a visual for each of the components.
Describe the organization and relationships between components using interfaces, ports,
and dependencies
Sample Output:
60
Component Diagram
VIVA - QUESTIONS:
61
EXPERIMENT 10
AIM:
To perform the environmental view diagram: Deployment diagram for the system.
THEORY:
The deployment diagram shows how a system will be physically deployed in the hardware
environment. Its purpose is to show where the different components of the system will physically
run and how they will communicate with each other. Since the diagram models the physical
runtime, a system's production staff will make considerable use of this diagram.
The notation in a deployment diagram includes the notation elements used in a component
diagram, with a couple of additions, including the concept of a node. A node represents either a
physical machine or a virtual machine node (e.g., a mainframe node). To model a node, simply
draw a three-dimensional cube with the name of the node at the top of the cube.
Performance Instruction:
To create a deployment diagram
1) Identify component
2) Add shapes
3) Connect Nodes
4) Form
Sample Output:
Deployment Diagram
63
Experiment 11
AIM:
To perform various testing using the testing tool unit testing, integration testing for a sample code
of the suggested system.
THEORY:
“Testing is the process of executing a program with the intent of finding errors.”
The purpose of software testing is
1. To demonstrate that the product performs each function intended.
2. To demonstrate that the internal operation of the product performs according to specification
and all internal components have been adequately exercised.
3. To increase our confidence in the proper functioning of the software.
4. To show the product is free from defect.
5. All of the above.
Unit Testing—Checks each coded module for the presence of bugs. Unit testing’s purpose is to
ensure that each as- built module behaves according to its specification defined during detailed
design.
Integration Testing ---Interconnects sets of previously tested modules to ensure that the sets
behave as well as they did as independently tested modules. Integration testing’s purpose is to
ensure that each as-built component behaves according to its specification defined during
preliminary design.
Performance Instruction:
Unit test planning—Generate plans and procedures to test each module independently and
thoroughly.
Integration Test Planning—Generate plans and procedures to effect orderly system integration.
Sample Output:
Quadratic equation will be of type:
ax2+bx+c=0
Roots are real if (b2-4ac)>0
64
Roots are imaginary if (b2-4ac)
Roots are equal if (b2-4ac)=0 Equation is not quadratic if a=0 The boundary value test cases are
:
1 -1 50 50 Invalid input`
3 1 50 50 Real roots
4 50 50 50 Imaginary roots
5 99 50 50 Imaginary roots
6 100 50 50 Imaginary roots
65
11 50 99 50 Imaginary roots
14 50 50 -1 Invalid input
15 50 50 0 Real roots
16 50 50 1 Real roots
17 50 50 99 Imaginary roots
18 50 50 100 Imaginary roots
19 50 50 101 Invalid input
VIVA - QUESTIONS:
66
EXPERIMENT 12
AIM:
To Perform Estimation of effort using FP Estimation for chosen system.
THEORY:
A function point is a "unit of measurement" to express the amount of business functionality an
information system (as a product) provides to a user. Function points are used to compute a
functional size measurement (FSM) of software.
The principle of Albrecht’s function point analysis (FPA) is that a system is decomposed into
functional units.
1. Inputs: information entering the system
2. Outputs: information leaving the system
3. Enquiries: requests for instant access to information
4. Internal logical files: information held within the system
5. External interface files: information held by other system that is used by the system being
analyzed.
The FPA functional units are shown in figure given below:
67
information referenced by the system, but maintained within another system. Thismeans
that EIF counted for one system, may be an ILF in another system.
(ii) Transactional function types
External Input (EI): An EI processes data or control information that comes from outside
the system. The EI is an elementary process, which is the smallest unit of activity that is
meaningful to the end user in the business.
External Output (EO): An EO is an elementary process that generate data or control
information to be sent outside the system.
External Inquiry (EQ): An EQ is an elementary process that is made up to an input-output
combination that results in data retrieval.
Special features
Function point approach is independent of the language, tools, or methodologies used for
implementation; i.e., they do not take into consideration programming languages, data
base management systems, processing hardware or any other data base technology.
Function points can be estimated from requirement specification or design specification,
thus making it possible to estimate development efforts in early phases of development
Function points are directly linked to the statement of requirements; any change of
requirements can easily be followed by a re-estimate.
Function points are based on the system user’s external view of the system, non-technical
users of the software system have a better understanding of what function points are
measuring.
Performance Instruction:
68
1. Observe functional units and their weighting factors.
2. Compute them in formula to find value of UFP count.
3. Find value of FP by using formula.
69
i. Significant data communication
ii. Performance is very critical
iii. Designed code may be moderately reusable
iv System is not designed for multiple installation in different organizations.
Other complexity adjustment factors are treated as average. Compute the function points for the
project.
Sample Solution: Unadjusted function points may be counted using below table
Functional Units Count Complexity Complexity Functional Unit
Totals Totals
External Inputs 10 Low * 3 30
(EIs) 15 Average * 4 60
17 High * 6 102 192
External Outputs 6 Low * 4 24
(EOs) 0 Average * 5 0
13 High * 7 91 115
External 3 Low * 3 9
Inquiries (EQs) 4 Average * 4 16
2 High * 6 12 37
External logic 0 Low * 7 0
Files (ILFs) 2 Average * 10 20
1 High * 15 15 35
External 9 Low * 5 45
Interface Files 0 Average * 7 0
(EIFs) 0 High * 10 0 45
Total Unadjusted Function Point Count = 424
Σ Fi = 3+4+3+5+3+3+3+3+3+3+2+3+0+3=41
71
EXPERIMENT 13
AIM:
To Prepare time line chart/Gantt Chart/PERT Chart for selected software project. Description: A Gantt
chart is a graphical depiction for planning and scheduling projects. It breaks a project into smaller pieces of
tasks with each of these spread out over time. With it, you can see task dependencies, scheduling
constraints, duration of each task and percent complete.
In a Gantt Chart, each activity is represented by a bar; the position and length of the bar reflects
the start date, duration and end date of the activity. The milestone is represented by a triangle,
Gantt Chart
PERT stands for Program Evaluation Review Technique. It was introduced by the United
States Navy in the 1950s. Pert chart is also a project management tool used to plan tasks within aproject –
making it easier to schedule and coordinate team members accomplishing the work.
72
Pert chart was initially developed to simplify the planning and scheduling of large and complexprojects.
Pert chart looks like a flowchart. It uses boxes and arrows to show the subtasks and their dependencies.
PERT Chart
Performance Instruction:
73
2. With the text box still selected, go to the Format tab under Drawing Tools.
3. Click on the inside of the text box and begin entering any information for a single task.
Sample Output:
Gantt Chart
PERT Chart
74
VIVA - QUESTIONS:
75
Experiment 14
AIM:
THEORY:
76
Performance Instruction:
1) Identify various processes, input/output and decision-making statement of the
system and analyze it.
2) Use them to draw flow chart.
Sample Output:
77
Conclusion: Flow chart was made successfully.
VIVA - QUESTIONS:
78
Experiment 15
AIM:
To draw ER Diagram for chosen system.
THEORY:
An entity relationship model, also called an entity-relationship (ER)
diagram, is a graphical representation of entities and their relationships to
each other, typically used in computing in regard to the organization of
data within databases or information systems. An entity is a piece of data-
an object or concept about which data is stored.
Relationships Between Entities
A relationship is how the data is shared between entities. There are three
types of relationships between entities:
1. One-to-One
One instance of an entity (A) is associated with one other instance of
another entity (B). For example, in a database of employees, each
employee name (A) is associated with only one social security number
(B).
2. One-to-Many
One instance of an entity (A) is associated with zero, one or many
instances of another entity (B), but for one instance of entity B there is
only one instance of entity A. For example, for a company with all
employees working in one building, the building name (A) is associated
with many different employees (B), but those employees all share the
same singular association with entity A.
3. Many-to-Many
One instance of an entity (A) is associated with one, zero or many
instances of another entity (B), and one instance of entity B is associated
79
with one, zero or many instances of entity A. For example, for a company
in which all of its employees work on multiple projects, each instance of
an employee (A) is associated with many instances of a project (B), and at
the same time, each instance of a project (B) has multiple employees (A)
associated with it.
80
Performance Instruction:
1) Identify all entities and their attributes.
81
Sample Output:
82
Conclusion: ER diagram was made successfully.
VIVA - QUESTIONS:
83
84