Object Oriented Software Engineering Sample Lab Manual
Object Oriented Software Engineering Sample Lab Manual
1. To perform the Requirement analysis of the specified problem and draw a flow chart
2. Understanding of System modeling: Data model i.e. ER –Diagram and draw the ERDiagram
with generalization, specialization and aggregation of specified problem statement
3. Understanding of System modeling: Functional modeling: DFD level 0 i.e. Context Diagram
and draw it
4. Understanding of System modeling: Functional modeling: DFD level 1 and DFD level 2 and
draw it
5. Understanding different actors and use cases in detail of the specified problem statement and
draw it using Rational Rose software
6. To perform the user’s view analysis : Use case diagram and draw it using Rational Rose
software
7. To draw the structural view diagram: Class diagram of specified problem statement using
Rational Rose
8. To draw the behavioral view diagram: State-chart diagram, Activity diagram of specified
problem statement using Rational Rose
9. To understand testing and perform Boundary value analysis and Equivalence class testing
10. To draw Flow graph, DD paths, calculation of cyclomatic complexity and find out all the
independent paths from the DD paths graph
11. Case study: Prepare SRS for the problem statement
LAB WORK-I
--------------------------------------------------------------------------------------------------------------------
Title: Design of Flow Chart
Objective To perform the Requirement analysis of the specified problem and draw a flow chart
Theory:
Flowcharts are the ideal diagrams for visually representing business processes. For example, if you
need to show the flow of a custom-order process through various departments within your
organization, you can use a flowchart. This paper provides a visual representation of basic flowchart
symbols and their proposed use in communicating the structure of a well-developed web site, as well
as their correlation in developing on-line instructional projects. A typical flowchart from older
Computer Science textbooks may have the following kinds of symbols:
• Start and end symbols, represented as lozenges, ovals or rounded rectangles, usually
containing the word "Start" or "End", or another phrase signaling the start or end of a process,
such as "submit enquiry" or "receive product".
• Arrows showing what's called "flow of control" in computer science. An arrow coming from
one symbol and ending at another symbol signifies flow passes to the symbol the arrow
points to.
• Processing steps, represented as rectangles. Examples: "Add 1 to X"; "replace identified
part"; "save changes" or similar.
• Input/ Output represented as a parallelogram. Examples: Get X from the user; display X.
• Conditional (or decision) represented as a diamond (rhombus). These typically contain a
Yes/No question or True/False test. This symbol is unique in that it has two arrows coming
out of it, usually from the bottom point and right point, one corresponding to Yes or True,
and one corresponding to No or False. The arrows should always be labeled. More than two
arrows can be used, but this is normally a clear indicator that a complex decision is being
taken, in which case it may need to be broken-down further, or replaced with the "pre-
defined process" symbol.
A number of other symbols that have less universal currency, such as:
Applicant
Student reporting
Physically in
Campus for Adm.
Name
DOB
Generation of Enrolment Number and Course
mapping with AID Branch
Mother Name
Father Name
Generate Id card Blood Group
Enrolment
Number
Allotment of sections to student
according to branch
Student
Eligible for
Exam
End
LAB WORK-II
--------------------------------------------------------------------------------------------------------------------
Title: Draw E-R diagram for the specified system
Objective: To draw the ER-Diagram with generalization, specialization and aggregation.
--------------------------------------------------------------------------------------------------------------------
Theory: An entity-relationship model (ERM) is an abstract and conceptual representation of data.
Entity-relationship modeling is a database modeling method, used to produce a type of conceptual
schema or semantic data model of a system, often a relational database, and its requirements in a top-
down fashion. Diagrams created by this process are called entity relationship diagrams, ER diagrams,
or ERDs. The building blocks: entities, relationships, and attributes
An entity may be defined as a thing which is recognized as being capable of an independent existence
and which can be uniquely identified. An entity may be a physical object such as a house or a car, an
event such as a house sale or a car service, or a concept such as a customer transaction or order.
Entities can be thought of as nouns. Examples: a computer, an employee, a song, a mathematical
theorem. Entity sets are drawn as rectangles, relationship sets as diamonds. If an entity set
participates in a relationship set, they are connected with a line.
Weak Entity:
A weak entity is an entity that must defined by a foreign key relationship with another entity as it
cannot be uniquely identified by its own attributes alone.
A relationship captures how two or more entities are related to one another. Relationships can be
thought of as verbs, linking two or more nouns. Examples: a performs relationship between an artist
and a song, a proved relationship between a mathematician and a theorem.
Relationships illustrate how two entities share information in the database structure.
Attributes are drawn as ovals and are connected with a line to exactly one entity or relationship set
Key attribute
A key attribute is the unique, distinguishing characteristic of the entity. For example, an employee's
social security number might be the employee's key attribute.
Multivalued attribute:
A multivalued attribute can have more than one value. For example, an employee entity can have
multiple skill values.
Derived attribute:
A derived attribute is based on another attribute. For example, an employee's monthly salary is based
on the employee's annual salary.
Cardinality:
Cardinality specifies how many instances of an entity relate to one instance of another entity.
Ordinality is also closely linked to cardinality. While cardinality specifies the occurrences of a
relationship, ordinality describes the relationship as either mandatory or optional. In other words,
cardinality specifies the maximum number of relationships and ordinality specifies the absolute
minimum number of relationships.
Cardinality
One-to-one 1
1
One-to-many 1
n
Many-to-Many
n
m
Participation
Total
(Mandatory)
Partial
(Optional)
user-password
User-name Login
#user-id
#role-id
User-mobile
Role-name
User
User-email Roles
HAS
User-address Role-desc
#per-id
Permission
Per-roleid
Stu-pass
#stu-id Manage Per-name
e
Per-module
Stu- Student
name
Stu-email
Stu-
mobile registration
Stu-add
Reg_dat Reg_id
Course e
Reg_type
#crs_id Crs_desc
Reg_desc
HAS
Crs_nam Crs_typ
colleges e e
Crs_stu_id
Coldesc
de
Col_id
Col_type
ER diagram of University Management System
login-role-id
login-username
#login-id
user-password
Login
User-name
#user-id
#role-id
User-mobile
Role-name
User
User-email Roles
HAS
User-address Role-desc
#per-id
Permission
Cus_pass Per-roleid
#cus_id Manage Per-name
e
Per-module
Cusname Customer
#pay_id
Cus-email
Cus-
Payments
mobile Cus-add
Pay_dat Pay_cu
e s_id
Booking
book_d Pay_amount
#book_id
esc Pay_desc
HAS
Cabs Bookdate book_type
Cab_id Booktitle
Cabtype de
Cab_desc
Theory:
Data flow diagram:
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 DFDs represent
data flows, data stores, processes, and sources / sinks (or external entities).
Symbols of DFD:
A data flow is depicted as an arrow.
A rectangle or square is used for sources / sinks and its name states what the external agent is, such as
customer, teller, EPA office, or inventory control system.
The symbol for a process is a rectangle with rounded corners.
The symbol for a data store is a rectangle with the right vertical line missing. Its label includes the
number of data store.
External entity
Process
Data flow
Control flow
Output:
Colleges Management
Registration
Management
Classes Management
University
Management
System
Courses Management
Students
Management
Faculties
Management
Transportation
and travelling
Management
Customer Employee
System
Theory:
Data flow diagram
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 DFDs represent
data flows, data stores, processes, and sources / sinks (or external entities). Symbols of DFD
• A data flow is depicted as an arrow.
• A rectangle or square is used for sources / sinks and its name states what the external agent is,
such as customer, teller, EPA office, or inventory control system.
• The symbol for a process is a rectangle with rounded corners.
• The symbol for a data store is a rectangle with the right vertical line missing. Its label
includes the number of data store.
External entity
Process
Data flow
Control flow
Data store
Procedure:
1) Identify various processes, data store, input, output etc. of the system and analyse it.
2) Use processes at various levels to draw the DFDs.
3) Identify various modules, input, output etc. of the system and ask students to analyse.
Sample Output:
Collages Generate Collages
Management Report
Generate Classes
Classes Management Report
University
Management
System
Faculties Generate Faculties
Management Report
Generate Registration
Registration Report
Management
Generate Hotel
Report
Hotel Management
--------------------------------------------------------------------------------------------------------------------
Theory:
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.
• Represented in UML as a stickman.
Use Case
• A sequence of transactions performed by a system that yields a measurable result of values
for a particular actor
• A use case typically represents a major piece of functionality that is complete from beginning
to end. A use case must deliver something of value to an actor
Procedure:
1) Identify various processes, use-cases, actors etc. of the system and analyse it.
2) Use processes at various levels .
LABWORK –VI
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.
Procedure:
1) Identify various processes, use-cases, actors etc. of the system and analyse it.
2) Use processes at various levels and draw use case diagram.
Output:
Use –Case Diagram of Transportation Management System
Use –Case Diagram of University Management System
LABWORK –VII
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 as
classes, packages and objects.2 Class diagrams describe three different perspectives when designing a
system, conceptual, specification, and implementation.1 These perspectives become evident as the
diagram is created and help solidify the design. This example is only meant as an introduction to the
UML and class diagrams. If you would like to learn more see the Resources page for more detailed
resources on UML.Classes are composed of three things: a name, attributes, and operations. Below
is an example of a class.
Procedure:
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.
Output:
LAB WORK-VIII
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. Statechart diagrams
represent the behavior of entities capable of dynamic behavior by specifying its response to the
receipt of event instances. Typically, it is used for _describing the behavior of classes, but statecharts
may also describe the behavior of _other model entities such as us ecases, actors, subsystems,
operations, or methods. Use state diagrams to demonstrate the behavior of an object through many
use cases of the system. Only use state diagrams for classes where it is necessary to understand the
behavior of the object through the entire system. Not all classes will require a state diagram and state
diagrams are not useful for describing the collaboration of all objects in a use case.
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.
Procedure:
1) Identify various elements states and their different transition of the state-chart diagram 2)
Draw the state-chart diagram as per the norms.
3) Identify various elements such as different activity their boundaries etc. of the activity
diagram
4) Draw the activity diagram as per the norms.
Output:
Request
Scheme
New Customer
New Tour
Registered Customer Register Information
Customer
Select Tour
Package/ Select
Travel Plan
More packages
Reserve Tickets
Make Payment
--------------------------------------------------------------------------------------------------------------------
Title: Design Test Cases.
Objective: To perform Boundary value analysis and Equivalence Class Testing.
--------------------------------------------------------------------------------------------------------------------
Theory:
Boundary value analysis is a software testing technique in which tests are designed to include
representatives of boundary values. The expected input and output values should be extracted from
the Component specification. The input and output values to the software component are then
grouped into sets with identifiable boundaries
Procedure:
Boundary values Testing
1. First try to identify different inputs and output of the
problem Statement.
2. Write down Boundary/edge value i.e. minimum, minimum-, nominal, maximum and
maximum+ value of each input
3. Create Test cases by putting each value at the edge / boundary value and other at nominal
value for Boundary values Testing
Sample Output:
PROCEDURE:
STEP 1: Analyze the source code
STEP 2: Draw Flow Graph
STEP 3: Draw the following DD Path Graph
STEP 4: Create decision table to find out the independent paths.
STEP 5: Calculate Cyclomatic Complexity V(G)
STEP 6: Identify independent paths and execute it.
PROGRAM:
#include<stdio.h>
#include<conio.h>
SAMPLE::
OUTPUT Draw Flow Graph of Triangle Problem
DD Path Graph: Since, nodes 1-9 are sequential nodes in the above flow graph, hence they are
merged together as a single node – “a”. Likewise we can go on deciding the merging of nodes &
arrive at the following DD Path Graph
Following Decision Table::
Nodes in Corresponding
the flow Nodes of DD
Graph Path Graph Justification
10 b Decision Nodes
11 C Decision Nodes
14 e Two Edge
Combined
18 g Decision Nodes
19 h Decision Nodes
22 j Decision Nodes
28 m Three edge
combined
29 n Decision Nodes
35 q Three edge
combined
Method – 1: V(G) = e – n + 2 ( Where “e” are edges & “n” are nodes)
V(G) = 23– 18+ 2 = 5 + 2 = 7
1. Objectives
• Gain a deeper understanding of the Software Requirement Specification phase and the
Software Requirement Specification (SRS).
• Learn how to write requirements and specifications.
• Gain exposure to requirements management using RequisitePro.
2. Background
A requirement is a statement of a behavior or attribute that a system must possess for the system to be
acceptable to a stakeholder.
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.
Requirements management is a systematic approach to eliciting, organizing and documenting the
requirements of a system. It is a process that establishes and maintains agreement between the
customer and the project team on the changing requirements of a system.
Requirements management is important because, by organizing and tracking the requirements and
managing the requirement changes, you improve the chances of completing the project on time and
under budget. Poor change management is a key cause of project failure.