Software Engineering Lab Manual PDF
Software Engineering Lab Manual PDF
COURSEOBJECTIVES
• To have hands on experience in developing a software project by using
various software engineering principles and methods in each of the phases of
software development.
• To produce the requirements and use cases the client wants for the software
being Produced
• To impart state-of-the-art knowledge on Software Engineering and UML in an
interactive manner through the Web.
• Topresentcasestudiestodemonstratepracticalapplicationsofdifferentconcepts.
• Toprovideascopetostudentswheretheycansolvesmall,real-lifeproblems.
PREREQUISITE
1
MAPPING WITH PROGRAM OUTCOMES
CO’s- PO’s & PSO’s MAPPING
CO’s PO’s PSOs
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3
1 3 3 3 - - - - - - - - - 3 - -
2 3 3 3 - - - - - - - - - 3 - -
3 3 3 3 - - - - - - - - - 3 2 2
4 3 3 - - - - - - - - - - 3 - -
5 3 3 3 3 2 - - - - - - - 3 2 2
Avg. 3 3 3 3 2 - - - - - - - 3 2 2
Note:--1: Slight 2: Moderate 3: Substantial
LIST OF EXPERIMENTS
1.
1. Write a Problem Statement to define a title of the project with bounded scope of project
2. Select relevant process model to define activities and related task set for assigned project
3. Prepare broad SRS (Software Requirement Specification) for the above selected projects
4. Prepare USE Cases and Draw Use Case Diagram using modelling Tool
5. Develop the activity diagram to represent flow from one activity to another for software
development
6. Develop data Designs using DFD Decision Table & ER Diagram.
7. Draw class diagram, sequence diagram, Collaboration Diagram, State Transition Diagram for the
assigned project
8. Write Test Cases to Validate requirements of assigned project from SRS Document
9. Evaluate Size of the project using function point metric for the assigned project
10. Estimate cost of the project using COCOMO and COCOCMOII for the assigned
project
11. Use CPM/PERT for scheduling the assigned project
12. Use timeline Charts or Gantt Charts to track progress of the assigned project
LEARNING RESOURCES
REFERENCES
1. SoftwareEngineering:APractitioner'sApproach,9thEdition.RogerPressmanandBruce
Maxim, McGraw-Hill 2019.
2. SoftwareEngineering,10thEdition,IanSomerville,PearsonEducationAsia2016.
3. SoftwareArchitectureInPractice,3rdEdition,LenBass,PaulClementsandRickKazman,
Pearson India 2018
4. AnintegratedapproachtoSoftwareEngineering,3rdEdition,PankajJalote,Narosa
Publishing House, 2018
2
Ex. No : 1 Write a Problem Statement to define a title of the project with bounded scope of
project
Date :
Aim: Write a Problem Statement to define a title of the project with bounded scope of project
Description:
1. Introduction Identify the product whose software requirements are specified in this
document, including the revision or release number. Describe the scope of the product
that is covered by this SRS, particularly if this SRS describes only part of the system or
a single subsystem.
2. Intended Audience and Reading Suggestions
Describe the different types of reader that the document is intended for, such as
developers, project managers, marketing staff, users, testers, and documentation
writers. Describe what the rest of this SRS contains and how it is organized. Project
Scope
Provide a short description of the software being specified and its purpose, including
relevant benefits, objectives, and goals. Relate the software to corporate goals or business
strategies. If a separate vision and scope document is available. Refer to it rather than
duplicating its contents here.
3
Step2:
1. Product Perspective
Describe the content and origin of the product being specified in this SRS. For
example, state whether this product is a follow-on member of a product family, a
replacement for certain existing systems, or a new, self-contained product.
Features
Summarize the major features the product contains or the significant functions that it
performs or lets the user perform. Only a high level summary is needed here.
Organize the functions to make them understandable to any reader of the SRS.
User Classes and Characteristics
Identify the various user classes that you anticipate will use this product. User classes
may be differentiated based on frequency of use, subset of product functions used,
technical expertise, security or privilege levels, educational level, or experience.
Describe the pertinent characteristics of each user class.
Operating Environment
Describe the environment in which the software will operate, including the hardware
platform, operating system and versions, and any other software components or
applications with which it must peacefully coexist.
Describe any items or issues that will limit the options available to the developers.
These might include: corporate or regulatory poloies; hardware limitations(timing
requirements, memory requirements); interfaces to other applications; specific
technologies, tools, and databases to be used; parallel operations; language
requirements; communications protocols; security considerations; design conventions
or programming standards).
Step 3:
1. System Features
This template illustrates organizing the functional requirements for the product by
system features, the major services provided by the product. You may prefer to
4
organize this section by use case, mode of operation, user class, object class,
functional hierarchy, or combinations of these, whether makes the most logical sense
for your product.
List the sequences of user actions and system responses that stimulate the
behavior defined for this feature. These will correspond to the dialog elements
associated with use cases.
Itemize the detailed functional requirements associated with this feature. These are
the software capabilities that must be present in order for the user to carry out the
services provided by the feature, or to execute the use case, include how the
product should respond to anticipated error condition or invalid inputs.
Requirements should be concise, compete, unambiguous, verifiable, and
necessary.
1.2 System Feature 2 (and so on)
Step 4:
1. External Interface Requirements
5
standards or product family style guides that are to be followed, screen layout
constraints, standard buttons and function (e.g. ,help)that will appear on every
screen, keyboard shortcuts, error message display standards, and so on.
1.2. Hardware Interfaces
Describe the connections between this product and other specific software
components (name and version), including databases, operating systems, tools,
libraries, and integrated commercial components. Identify the data items or
messages coming into the system and going out and describe the purpose of
each. Describe the services needed and the nature of communications.
Communications Interfaces
2. Nonfunctional Requirements
Specify the timing relationships for real time systems. Make such
requirements as specific as possible.
6
2.2 Safety Requirements
Specify thaw requirements that are concerned with possible loss, damage, or
harm that could result from the use of the product. Define any safeguards or
actions that must be taken, as well as actions that must be prevented.
Specify any additional quality characteristics for the product that will be important to either
the customers or the developers. Some to consider are adaptability, availability, correctness,
flexibility, interoperability, maintainability, portability, reliability, reusability, robustness,
testability, and usability.
Post-experiment Questions:
1. What are the characteristics of good SRS?
2. What should the SRS address?
Result: A Problem Statement to define a title of the project with bounded scope of project
is completed successfully.
7
Ex no : 2 Select relevant process model to define activities and related task set for assigned project
Date:
Aim: Select relevant process model to define activities and related task set for assigned project
Description:
Enter and leave the system? Data analysis attempts to answer four specific questions:
What data?
Data drive business activities and can trigger events (e.g. new sales order data) or be
processed to provide information about the activity. Data flow analysis. as the name suggests,
follows the flow of data through business processes and determines how organization
objectives are accomplished. In the course of handling transactions and completing tasks, data
are input, processed. Stored, retrieved, met changed and stored output. Data flow analysis
studies the use of data in each activity and documents the findings in data flow diagrams,
graphically showing the relation between processes and data.
Pre-experiment Questions:
1. What is DFD?
2. What are the types of DFD’s?
Procedure:
There are two types of data flow diagrams, namely physical data flow diagrams and
logical data flow diagrams and it is important to distinguish clearly between the two:
Physical Data Flow Diagrams
An implementation-dependent view of the current system, showing what tasks are carried out
and how they are performed. Physical characteristics can include: Names of people,
8
Form and document names or numbers Names of departments, Master and transaction files,
Equipment and devices used as shown in Fig. 2.1
The DFD (also known as a bubble chart) is a hierarchical graphical model of a system that
shows the different processing activities or functions that the system performs and the data
interchange among these functions. Each function is considered as a processing station (or
process) that consumes some input data and produces some output data. The system is
represented in terms of the input data to the system. Various processing carried out on these
data, and the output data generated by the system. A DFD model uses a very limited number
of primitive symbols (as shown in figure below) to represent the functions performed by a
system and the data flow among these functions.
9
Balancing a DFD
The data that flow into or out of a bubble must match the data flow at the next level of DFD.
This is known as balancing a DFD. The concept of balancing a DFD has been illustrated in
figure below.
In the level 1 of the DFD as shown in Fig. 2.3, data 0: the contents inside the bracket
represent optional data which may or may not appear. E.g. a+ (b) represents either a occurs
or a+b occurs.{}: represents iterative data definition, e.g.
{ name}5 represents five name data. {name}* represents zero or more instances of name
data. Items dl and d3 flow out of the bubble 0.1 and the data item d2 flows P1O. I. In the next
level,
bubble 0.1 is decomposed. The d23 flow out of the level 2 diagram and d2 flows as shown in
10
Fig. 2.4 Level 2 DFD
A DFD model of a system graphically depicts the transformation of the data input to the
system to the final result through a hierarchy of levels. A DFD starts with the most abstract
definition of the system (lowest level) and at each higher level. DFD, more details are
successively introduced. To develop a higher-level DFD model, processes are decomposed
input data to these functions and the data output by these functions and represent them
appropriately in the diagram.
If a system has more than 7 high- level functional requirements then some of the related
requirements have to be combined and represented in the form of a bubble in the level I DFD.
Such a bubble can be split in the lower DFD levels. If a system has less than three high-level
functional requirements then some of them need to be split into their sub- functions so that
we have roughly about 5 to 7 bubbles on the diagram.
Decomposition:-
Each bubble in the DFD represents a function performed by the system. The bubbles are
decomposed into sub-functions at the successive levels of the DFD.
Decomposition of a bubble is also known as factoring or exploding a bubble. Each bubble at
any level of DFD is usually decomposed to anything between 3 to 7 bubbles. Too few
bubbles at any level make that level superfluous. For example, if a bubble is decomposed to
just one bubble or two bubbles, then this decomposition becomes redundant. Also, too many
bubbles, i.e. more than 7 bubbles at any level of a DFD makes the DFD model hard to
understand. Decomposition of a bubble should be carried on until a level is reached at which
the function of the bubble can be described using a simple algorithm.
11
Numbering of Bubbles:-
It is necessary to number the different bubbles occurring in the DFD. These numbers help in
uniquely identifying any bubble in the DFD by its bubble number. The bubble at the context
level is usually assigned the number 0 to indicate that it is the 0 level DFD. Bubbles at level 1
are numbered, 0.1, 0.2, 0.3, etc, etc. When a bubble numbered x is decomposed, its children
bubble are numbered x.1, xi, x.3, etc. In this numbering scheme, by looking at the number of
a bubble we can unambiguously determine its level, its ancestors, and its successors.
Example:-
Supermarket needs to develop the following software to encourage regular customers.
For this, the customer needs to supply his/her residence address, telephone number, and the
driving license number. Each customer who registers for this scheme is assigned a unique
customer number (CN) by the computer. A customer can present his CN to the check out
staff when he makes any purchase. In this case, the value of his purchase is credited against
his CN. At the end of each year, the supermarket intends to award surprise gifts to 10
customers who make the highest total purchase over the year. Also, it intends to award a 22
carat gold coin to every customer whose purchase exceeded Rs.10,000. The entries against
the CN are the reset on the day of every year after the prize winners' lists are generated as
shown in Fig. 2.5, Fig. 2.6 and Fig. 2.7.
12
Fig. 2.5 Context diagram for supermarket problem
Result: Relevant process model to define activities and related task set for assigned
project is selected successfully.
13
Ex.No: 3 Prepare broad SRS (Software Requirement Specification) for the above selected projects
Date :
Aim: Prepare broad SRS (Software Requirement Specification) for the above selected projects
Description:
To model a system the most important aspect is to capture the dynamic behavior. To clarify
a bit in details, dynamic behavior means the behavior of the system when it is running
operating.
So only static behavior is not sufficient to model a system rather dynamic behavior is more
important than static behavior. In UML there are five diagrams available to model dynamic
nature and use case diagram is one of them. Now as we have to discuss that the use case
diagram is dynamic in nature there should be some internal or external factors for making the
interaction.
These internal and external agents are known as actors. So use case diagrams are consists of
actors, use cases and their relationships. The diagram is used to model the system/subsystem
of an application. A single use case diagram captures a particular functionality of a system.
So to model the entire system numbers of use case diagrams are used.
Procedure:
The steps are as follows:
Step1. Right Use Case Diagram on Diagram Nevigator and select New Use Case Diagram
from the pop-up menu.
14
Step2.
Enter name for the newly created use case diagram in the text field of pop-up box on the top
left corner as shown in Fig. 3.2.
Step 3:
Drawing a system
To create a system, select System on the diagram toolbar and then click it on the
diagram pane. Finally. name the newly created system when it is created.
Step 4:
Drawing an actor
To draw an actor, select Actor on the diagram toolbar and then click it on the diagram
pane.Finally. name the newly created actor when it is created
Step 5:
Besides creating a use case through diagram toolbar, you can also create it through resource
icon.
Mow the mouse over a shape and press a resource icon that can create use case. Drag it and
then release the mouse button until it reaches to your preferred place. The source shape and
the newly created use case are connected. Finally, name the newly created use case.
15
Step 6:
Create a use case through resource icon
Besides creating a use case through diagram toolbar, you can also create it through resource
icon. Mow the mouse over a shape and press a resource icon that can create use case. Drag it
and then release the mouse button until it reaches to your preferred place. The source shape
and the newly created use case are connected. Finally, name the newly created use case.
Step 7:
To create an extend relationship, move the mouse over a use case and press its resource icon
Extend-> Use Case. Drag it to your preferred place and then release the mouse button. The
use case with extension points and a newly created use case are connected. After you name
the newly created use Pop up dialog box will ask whether you want the extension point to
follow the name of the use case. Click Yes if you want it to do so: click NO if you want to
enter another name for extension point
Step 8:
Create an extend relationship
Drawing <<Include>> relationship. To create an include relationship. mouse over a use case
and press its resource icon Include -> Use Case. Drag it to your preferred place and then
release the mouse button. A new use case together with an include relationship is created.
Finally, name the newly created use case as shown in Fig. 3.8.
16
Step 9:
Include relationship is created
Structuring use cases with package. You can organize use cases with package when there are
many of them on the diagram. Select Package on the diagram toolbar (under Common
category) as shown in Fig. 3.9.
You may assign IDs to actors and use cases. By default. IDs are assigned with the order of
object creation, starting from one onwards.
To define the format of ID. select Tools > Options from the main menu to unfold the Options
dialog box. Select Diagramming from the list on the left hand side and select the Use Case
Diagram tab on the right hand side.The format of ID consists of prefix. number of digits and
suffix .
17
Step 13:
Use Case Diagram tab
Num of The number of digits for the number. For example. when digit is 3. ID "1"
will become
Digits.
Suffix The suffix you enter in Suffix text field will be inserted behind the number. Options
for
formatting ID
Showing ID on diagram
By default, ID is just a text property. It usually doesn't appear on diagram. However, you can
make it shown within a use case.
Right click on the diagram background, select Presentation Options and the specific model
element display option from the pop-up menu.
Show ID on diagram
As a result, the use case is displayed with ID as shown in Fig. 3.14a.
NOTE: The feature of showing ID does only support for use case, but not for actor.
18
ID assignment
There are several ways that you can assign an ID to a model element, including:
Through the specification dialog box (Right click on the selected model element and select
Open Specification.. from the pop-up menu)
Through the Properly Pane
Drawing business use case
Right click on a use case and select Model Element Properties > Business Model from
the pop-up menu
Step 14:
1. Click Business model
2. After selected , an extra slash will be shown on the left edge of the use case as shown
in Fig. 3.15.
19
Ex.No: 4 Prepare USE Cases and Draw Use Case Diagram using modelling Tool
Date :
Aim: Prepare USE Cases and Draw Use Case Diagram using modelling Tool
Description:
From the name Interaction it is clear that the diagram is used to describe some type of
interactions among the different elements in the model. So this interaction is a part of
dynamic behaviour of the system.
Procedure:
A sequence diagram is used primarily to show the interactions between objects that are
represented as lifelines in a sequential order.
Step 1:
Right click Sequence diagram on Diagram Navigator and select New Sequence
Diagram from the pop-up menu to create a sequence diagram as shown in Fig. 4.1.
20
Fig. 4.1 Step1 of Sequence Diagram
Step 2:
Enter name for the newly created sequence diagram in the text field of pop-up box
on the top left corner. Creating actor
To create actor, click Actor on the diagram toolbar and then click on the diagram as shown
in Fig. 4.2a.
Creating lifeline
To create lifeline, you can click LifeLine on the diagram toolbar and then click on the
diagram.
Alternatively, a much quicker and more efficient way is to use the resource-centric interface.
Click on the Message -> LifeLine resource beside an actor/lifeline and drag as shown in Fig.
4.2b.
21
Fig. 4.2b Step2 of Sequence Diagram for creating Lifeline
Step 3:
Move the mouse to empty space of the diagram and then release the mouse button. A new
lifeline will be created and connected to the actor/lifeline with a message as shown in Fig.
4.3a.
22
Fig. 4.3b Step3 of Sequence Diagram for extending activation
Step 4:
Using sweeper and magnet to manage sequence diagram. Sweeper helps you to move shapes
aside to make room for new shapes or connectors. To use sweeper, click Sweeper on the
diagram toolbar (Under the tool category) as shown in Fig. 4.4a.
Step 5:
You can also use magnet to pull shapes together. To use magnet, click Magnet on the diagram
toolbar ( under the Tools category) as shown in Fig. 4.5.
The picture below shows when drag the magnet upwards, shapes below dragged position are
pulled upwards.
23
Fig. 4.5 Step5 of Sequence Diagram
Step 6:
Creating combined fragment for messages
selection and select Create Combined Fragment. and then select a combined fragment type
(e.g. loop) from the popup menu as shown in Fig. 4.6.
Fig. 4.6 Step6 of Sequence Diagram
24
Step 7:
A combined fragment of selected type will be created to cover the messages as shown in Fig.
4.7.
Step 8:
Adding/removing covered lifelines
After you've created a combined fragment on the messages. you can add or remove the
covered lifelines. Move the mouse over the combined fragment and select Add/Remove
Covered Lifeline... from the pop-up menu as shown in Fig. 4.8
25
In the Add/Remove Covered Lifelines dialog box, check the lifeline you want to cover or
uncheck the lifeline you don’t want to cover. Click OK button.
As a result, the area of covered lifelines is extended or narrowed down according to your
selection as shown in Fig. 4.8b.
Managing Operands
After you've created a combined fragment on the messages, you can also add or remove
operand(s).Move the mouse over the combined fragment and select Operand > Manage
Operands... from the pop-up menu as shown in Fig. 4.8c.
26
Step 9:
To remove an operand , select the target operand from Operands and click Remove button,
1. Click Ok button.
2. Otherwise, click Add button to add a new operand and then name it. Click OK button.
In sequence diagram, an editor appears at the bottom of diagram by default, which
enables you to construct sequence diagram with the buttons there .
There are two panes, Lifelines and Messages. The Lifelines pane enables you to create
different kinds of actors and lifelines.
Step 10:
Buttons in Lifeline Panes
Editing Messages
The Message pane enables you to connect with various kind of messages
To hide the editor.click on the down arrow button that appears at the bar on top of the quick
editor. To expand, click on the up arrow button as shown in Fig. 4.10c.
27
Fig. 4.10 Step10 Hide editor
You are able to set the way of numbering sequence messages either on diagram base or frame
base.
Right click on the diagram's background, select Sequence Number and then
either Single Levelor Nested Level from the pop-up menu as shown in Fig. 4.10
If you choose Single Level. all sequence messages will be ordered with integers on diagram
base. On the other hand, if you choose Nested Level. all sequence messages will be ordered
with decimal place on diagram base.
28
Fig. 4.11a Step11 of Sequence Diagram
Right click on the diagram's background. select Sequence Number and then either Fnune-
based Single Level or Frame-based Nested Level from the pop-up menu as shown in Fig.
4.11a and Fig. 4.11b.
29
When you set the way of numbering sequence messages on frame base, the sequence
messages in frame will restart numbering sequence message since they are independent and
ignore the way of numbering sequence message outside the frame as shown in Fig. 4.11c.
30
Ex.No: 5 Develop the activity diagram to represent flow from one activity to another for
software development
Date :
Aim: Develop the activity diagram to represent flow from one activity to another for software
development
Description:
The class diagram is a static diagram. It represents the static view of an application. Class
diagram is not only used for visualizing, describing and documenting different aspects of a
system but also for constructing executable code of the software application.
The class diagram describes the attributes and operations of a class and also the constraints
imposed on the system. The class diagrams are widely used in the modelling of object
oriented systems because they are the only UML diagrams which can be mapped directly
with object oriented languages.
The class diagram shows a collection of classes, interfaces, associations, collaborations and
constraints. It is also known as a structural diagram.
Procedure:
Step 1:
Right click Class Diagram on Diagram Navigator and select New Class Diagram
from the pop-up menu to create a clam diagram as shown in Fig 5.1.
31
Step 2:
Creating class
To create class, click Class on the diagram toolbar and then click on the diagram. Class
will be created as shown in Fig 5.2.
To create association from class, click the Association •> Class resource beside it and
drag. Drag to empty space of the diagram to create a new class, or drag to an existing class
to connect to it. Release the mouse button to create the association.
32
To create aggregation, use the Aggregation -> Class resource instead.
Step 3:
To align multiplicity of an association end, right-click near the association end, select
Multiplicityfrom the popup menu and then select a multiplicity as shown in Fig 5.3a.
33
Step 4:
The direction arrow is beside the association
Creating generalization
To create generalization from class, click the Generalization -> Class resource beside it
and drag as shown in Fig 5.4a.
Creating operation:
Similar to creating attribute, you can press the Enter key to create multiple operations
continuously. Drag-and-Drop reordering, copying and moving of class members
To reorder a class member, select it and drag within the compartment, you will see a thick
black line appears indicating where the class member will be placed.
34
To copy a class member, select it and drag to the target class while keep pressing the Ctrl key,
you will see a thick black line appears indicating where the class member will be placed. A
plus sign is shown beside the mouse cursor indicating this is a copy action
To move a class member, select it and drag to the target class, you will see a thick black line
appears indicating where the class member will be placed. Unlike copy, do not press the Ctrl
key when drag, the mouse cursor without the plus sign indicates this is a move action.
35
Release the mouse button the class member will be moved.
The model name completion feature enables quick creation of multiple views for the
same class model. When create or rename class, the list of classes is shown.
Press up or down key to select class in the list, press Enter to confirm. Upon selecting an
existing class, all class members and relationships are shown immediately.
36
Step 5:
Continue to complete the diagram as shown in Fig 5.5.
38
Repeat the steps for other generalizations
Result:
The activity diagram to represent flow from one activity to another for software development
is developed successfully.
39
Ex.No: 6 Develop data Designs using DFD Decision Table & ER Diagram
Date :
Aim: Develop data Designs using DFD Decision Table & ER Diagram
Procedure:
collaboration diagram is a kind of UML Diagram that is designed for illustrating the dynamic
view of the system. It emphasizes the structural organization of the objects' send and receive
messages.
Perform the steps below to create a UML communication diagram in Visual Paradigm.
Select Diagram > New from the application toolbar.
40
2. Click Next.
Enter the diagram name and description. The Location field enables you to select a model to
store the diagram.
3. Click OK.
To create an actor, click Actor on the diagram toolbar and then click on the diagram
as shown in Fig. 6.1
To create lifeline, you can click LifeLine on the diagram toolbar and then click on the diagram.
Alternatively, a much quicker and more efficient way is to use Resource Catalog as shown in
Fig. 6.2.
41
4. Select Message -> LifeLine from Resource Catalog as shown in Fig.
6.3. Fig. 6.3 To create a lifeline
To create message on link, click its Create Message resource as shown in Fig. 6.4.
When the collaboration diagram Specification window appears, the Message tab is opened by
default. Double click on the Sequence # cell of a message to edit it. Click OK button to apply
42
Post Experiment Questions:
1. Can you generate a collaboration diagram using sequence diagram in UML?
2. How to represent setting a variable's and attribute's value to a specified value?
Result:
Data Designs using DFD Decision Table & ER Diagram is developed successfully.
43
Ex.No: 7 Draw class diagram, sequence diagram, Collaboration Diagram, State Transition Diagram for
the assigned project
Date :
Aim: Draw class diagram, sequence diagram, Collaboration Diagram, State Transition Diagram for the
assigned project
Description:
A state diagram, also called a state machine diagram or state chart diagram, is an illustration
of the states an object can attain as well as the transitions between those states in the Unified
Modeling Language (UML). In this context, a state defines a stage in the evolution or
behavior of an object, which is a specific entity in a program or the unit of code representing
that entity. State diagrams are useful in all forms of object-oriented programming (OOP)..
A state represents a condition during the life of an object during which it satisfies some
condition or waits for some event. Start and end states represent the beginning or ending of a
process. A state transition is a relationship between two states that indicates when an object
can move the focus of control on to another state once certain conditions are met.
Pre Experiment Questions:
1. What is difference between actions and states?
2. What do you mean by transition in state chart diagram?
Procedure:
Perform the steps below to create a UML state machine diagram in Visual Paradigm.
44
1. Select Diagram > New from the application toolbar.
2. In the New Diagram window, select State Machine Diagram.
3. Click Next.
4. Enter the diagram name and description. The Location field enables you to select
a model to store the diagram.
5. Click OK.
After creating a state machine diagram, an initial pseudo state appears by default. You can
create other states by using Resource Catalog.
2. Press on the Resource Catalog button and drag it out as shown in Fig. 7.1.
5. A new state will be created and is transited from the source state. Enter its name
and press Enter to confirm editing.
To model substates of a composite state, you need to add one or more regions to it. To add a
region, right-click the state and select Add Horizontal Region from the popup menu.
45
Next, you can draw the substates inside the region.
To model properties of transition such as effect and guard, right-click the transition and
select Open Specification... from the pop-up menu. When the Transition Specification
pops out, you can edit its name, effect and guard. Next, select Create Activity... from the
Effect property as shown in Fig. 7.3.
In Activity Specification (Effect) window, change its name and then click OK button to
apply the change.
Click OK in the Transition Specification to close it. T
46
Ex.No: 8 Write Test Cases to Validate requirements of assigned project from SRS Document
Date :
Aim: Write Test Cases to Validate requirements of assigned project from SRS Document
Description:
Component diagrams are different in terms of nature and behavior. Component diagrams are
used to model physical aspects of a system. Physical aspects are the elements like
executables, libraries, files, documents etc which resides in a node.
So component diagrams are used to visualize the organization and relationships among
components in a system. These diagrams are also used to make executable systems.
Component diagram is a special kind of diagram in UML. It describes the components used
to make that functionalities. These components are libraries, packages, files etc. So the
purpose of the component diagram can be summarized as:
Visualize the components of a system.
Construct executables by using forward and reverse engineering.
Describe the organization and relationships of the components.
Step 1: Component diagram is a kind of UML diagram. shows the physical aspect of an
object-oriented software system.
Perform the steps below to create a UML component diagram in Visual Paradigm.
4. Enter the diagram name and description. The Location field enables you to select
a model to store the diagram.
5. Click OK
47
Step 2:
Creating component
To create component in component diagram, click Component on the diagram toolbar and then
click on the diagram as shown in Fig. 8.1.
Right click on the package and select Stereotypes > Edit Stereotypes... from the pop-up menu
as shown in Fig. 8.3.
48
When the Component Specification window is opened, with the Stereotypes tab selected. The
list on the left shows the selectable stereotypes. If the stereotype you want to use is not on the
list, click Edit Stereotypes... button. Click Add... button in the Configure Stereotypes
window. Name the stereotype (e.g. application) in the Stereotype Specification window and
then click OK button to close it. Click OK button in the Configure Stereotypes window.
The added stereotype will then be shown on the list in the Component Specification
window. Select it and click Add Selected button. Finally, click OK button to confirm as
shown in Fig.
8.4.
To create required interface for a component, just follow the steps described above for creating
provided interface, but change to select Usage-> Interface in Resource Catalog.
drag from the source shape, move the mouse over the target shape and then release the mouse button
to create the dependency. Continue to complete the diagram as shown in Fig. 8.5.
You can add attributes to a component. To show/hide the attributes for all components in a diagram:
Right click on the background of the component diagram.
1. Select Presentation Options > Component Display Options from the popup menu.
2. Select/De-select Show Attributes to cause attributes to be shown or hidden.
Per component
You can add attributes to a component. To show/hide the attributes for a specific component:
50
Step 8: Showing/hiding operations in component Per diagram
You can add operations to a component. To show/hide the operations for all components in a
diagram:
Per component
You can add operations to a component. To show/hide the operations for a specific component: Right
click on the desired component.
1. Select Presentation Options > Show Operations Mode from the popup menu.
Result: Test Cases to Validate requirements of assigned project from SRS Document is written
successfully.
51
Ex.No: 9 Evaluate Size of the project using function point metric for the assigned project
Date :
Aim: Evaluate Size of the project using function point metric for the assigned project
Deployment diagrams could describe architecture at specification level (also called type
level) or at instance level (similar to class diagrams and object diagrams). Some common
types of deployment diagrams are:
Implementation (manifestation) of components by artifacts,
Specification level deployment diagram,
Instance level deployment diagram,
Network architecture of the system.
Procedure:
Deployment is a kind of UML diagram that shows the physical aspects of an object-
oriented system. It also shows the configuration of run time processing nodes and artifacts.
Perform the steps below to create a UML deployment diagram in Visual Paradigm.
52
2. In the New Diagram window, select Deployment Diagram.
3. Click Next.
4. Enter the diagram name and description. The Location field enables you to select
a model to store the diagram.
5. Click OK.
To create node in deployment diagram, click Node on the diagram toolbar and then click on the
diagram as shown in Fig. 9.1.
To create instance of node, click Instance Specification on the diagram toolbar and then
click on the diagram as shown in Fig. 9.2.
To specify classifiers for an instance specification, right-click it and select Select Classifier >
Select Classifier.. from the pop-up menu as shown in Fig. 9.3.
When the Instance Specification Specification window pops out, the Classifiers tab is opened
by default. Click Add.. Then, select the classifier(s) in the popup window and click
53
OK. Click OK button to close the specification window. The selected classifiers are assigned
Step 5:Creating link
3. Release the mouse button at the place where you want the instance specification to
be created.
4. Select Link -> Instance Specification from Resource Catalog.
Similar to creating instance of node, you first create a component model element and then
create an instance specification. However, this time assigns a component to the instance
specification as classifier.
To create dependency, click Dependency on the diagram toolbar as shown in Fig. 9.4.
Drag from the source shape, move the mouse over the target shape and then release the
mouse button to create the dependency. Continue to complete the diagram.
Result: Size of the project using function point metric for the assigned project is evaluated
successfully.
54
Ex No: 10 Estimate cost of the project using COCOMO and COCOCMOII for the
assigned project
Date :
Aim: Estimate cost of the project using COCOMO and COCOCMOII for the assigned project
Description: Activity diagrams are mainly used as a flow chart consists of activities
performed by the system. But activity diagram are not exactly a flow chart as they have some
additional capabilities. These additional capabilities include branching, parallel flow, swim
lane etc.
Pre-experimental questions:
Q: 1 What is the basic requirement of activity diagram?
Q: 2 How conditions and constraints define in activity diagram.
Perform the steps below to create a UML activity diagram in Visual Paradigm.
You can click either Horizontal Swimlane or Vertical Swimlane on the diagram toolbar as
shown in fig.10.1.
55
Double-click the partition name to rename it as shown in fig.10.2
To insert partition to swimlane, right-click on a partition and select either Insert Partition
Before or Insert Partition After from the pop-up menu as shown in fig.10.3
Click inside the partition to create the initial node there as shown in fig.10.6
56
2. Press on the Resource Catalog button and drag it out as shown in fig.10.7
3. Release the mouse button at the place where you want the action to be
created. Select Control Flow -> Action from Resource Catalog .
5.A new action will be created and is connected to the source shape with a control flow. Enter its
name and press Enter to confirm editing.
Working with scenario
57
2. In the Edit Scenarios window, click Add... button at the bottom left corner.
3. Select a path for generating scenario. Click OK to confirm.
4. Name the scenario. Add description if necessary as shown in fig.10.9
Step 7:The actions being involved in the flow are listed in the Path table. For actions that
have sub-diagram(s), pick up the sub-diagram in Diagram column or just create a new one.
Step 8: Click on the arrow beside the Generate button and select the type of diagram of the
scenario.
Result: Cost of the project using COCOMO and COCOCMOII for the assigned project is
estimated successfully.
58
Ex No: 11 Use CPM/PERT for scheduling the assigned project
Date :
Pre-Experimental questions:
Q: 1 What is the basic requirement of drawing a communication diagram?
Q: 2 Illustrate conditions and constraints define in it..
Communication diagram is a kind of UML diagram that is designed for illustrating the
dynamic view of the system. It emphasizes the structural organization of the objects' send and
receive messages.
Perform the steps below to create a UML communication diagram in Visual Paradigm.
4. Enter the diagram name and description. The Location field enables you to select
a model to store the diagram.
5. Click OK.
59
Creating ACTOR
To create an actor, click Actor on the diagram toolbar and then click on the diagram as
shown in fig.11.1
Creating lifeline
To create lifeline, you can click LifeLine on the diagram toolbar and then click on the diagram.
Alternatively, a much quicker and more efficient way is to use Resource Catalog:
60
Enter its name and press Enter to confirm editing as shown in fig.11.4
To create message on link, click its Create Message resource as shown in fig.11.5
To edit sequence number of messages, for example, to show certain messages are in nested level
of interaction, right-click the diagram and select Reorder Messages... from the pop-up menu.
When the Communication Diagram Specification window appears, the Message tab is
opened by default. Double click on the Sequence # cell of a message to edit it. Click OK
button to apply the changes.
Date:
AIM: To use the timeline charts or gantt charts to track progress of the online examination system.
GANTT CHART:
A Gantt chart is a commonly used graphical depiction of a project schedule. It's a type of bar chart showing the start
and finish dates of a project's elements such as resources, planning, and dependencies. A Gantt chart is a
visualization that helps in scheduling, managing, and monitoring specific tasks and resources in a project.
A Gantt chart can vary in complexity and depth, but will always have three key components: activities or tasks that
are to be done, running along the y-axis; milestones or progress stages indicated along the x-axis (either on the
top or bottom of the chart); and progress bars, denoted as horizontal bars, denoting how far along each task is at
any given point.
The chart identifies tasks that may be executed in parallel and those that can't be started or finished until others are
complete. It can help detect potential bottlenecks and identify tasks that may have been excluded from the
project timeline.
The chart depicts things like task slack time or additional time for completion of a task that shouldn't delay the
project; noncritical activities that may be delayed; and critical activities that must be executed on time. Gantt
charts can be used in managing projects of all sizes and types. These may include building infrastructures like
dams, bridges, and highways.
They may also include software development and other technologies. Project management tools, such as Microsoft
Visio, Project, SharePoint, and Excel, or specialized software, such as Gantto or Matchware, can help in
designing Gantt charts.
A Gantt chart is a project management tool that uses a horizontal bar chart to visualize a project plan. The left
column lists tasks that need to be completed and the horizontal x-axis is a timeline showing the project schedule.
Gantt charts have everything you need to get an overview of your project — start and end dates, milestones,
dependencies with other tasks, task owners, and assigned team members.
The biggest advantage of Gantt charts in project management is seeing everything related to the project in a single
place. It acts as a great visualization and prioritization tool as it provides the total overview of the project and
tells you about the critical information such as members involved in each step, the order of tasks, duration, start-
to-end dates, task dependencies, and progress made in projects. Hence, online Gantt charts software helps equip
project managers with the information they need to oversee while managing projects.
GANTT CHART:
RESULT: Thus the gantt chart is used to track the progress of online examination system