ISE Lab Manual (Updated)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 73

ZIAUDDIN UNIVERSITY

FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND


MANAGAMENT

Laboratory Manual
for

Introduction to Software Engineering


(CS-212)

Prepared by: Mr. Aamir Hussain

Guided by: Mr. Aamir Hussain

Approved by: Prof. Dr. Munaf Rashid


Chairperson Computer Science
and Software Engineering Dept.

COMPUTER SCIENCE AND SOFTWARE ENGINEERING DEPARTMENT


Certificate

This is to certify that Mr. / Ms.……………………………………. of ….….


Semester, ................ Year, Computer Science and Software Engineering Department
bearing Roll No. …………. has completed the necessary lab work for the course of
…………………………………………………. prescribed by the Ziauddin
University, Faculty of Engineering Science and Technology and Management, under
my supervision for the academic session ………………

Course Teacher Lab Teacher


Name: Aamir Hussain Name: Aamir Hussain

Designation: Senior Lecturer Designation: Senior Lecturer

Department: Computer Science and Department: Computer Science and


Software Engineering. Software Engineering
SOFTWARE LAB RUBRICS FOR ASSESSING IN-LAB PERFORMANCE

CRITERIA EXCEEDS MEETS DEVELOPING UNSATISFACTOR SCORE


EXPECTATION EXPECTATION (2-5) Y (0-10)
(10) (6-9) (0-2)
Understanding -Demonstrates a -Shows a solid -Understands basic -Fails to demonstrate
of Concepts deep understanding understanding of software engineering a grasp of essential
of software software engineering principles but may software engineering
engineering principles and struggle with principles.
principles and methodologies. complex applications
methodologies. Can Applies these or miss some
apply these concepts concepts to address important practices.
effectively to solve most problems.
complex problems.
Requirements Performs thorough Conducts effective Performs basic Fails to perform
Analysis requirements requirements analysis requirements analysis requirements analysis
analysis and can and can capture most but may miss some effectively, leading to
identify user needs user needs and user needs or system incomplete or
and system system requirements. requirements. inaccurate
requirements Communicates with Communicates with requirements.
accurately. stakeholders but may stakeholders but
Effectively overlook some struggles to
communicates with important document
stakeholders to requirements. requirements
gather and effectively.
document
requirements.
Software Creates Creates sound Creates basic Fails to create
Design comprehensive and software designs with software designs but meaningful software
well-structured some minor may lack cohesion or designs, resulting in
software designs inconsistencies or adherence to design poorly structured or
that adhere to omissions. principles. inappropriate
design principles Demonstrates an Demonstrates a solutions.
and best practices. understanding of limited understanding
Demonstrates a design principles and of design patterns
clear understanding some design patterns. and architectural
of design patterns concepts.
and architectural
concepts.
Implementation Implements Implements software Implements basic Unable to implement
and Coding software solutions solutions with software solutions software solutions
with clean and functional code but but may have properly, resulting in
efficient code. may have some significant coding non-functional or
Demonstrates coding inefficiencies issues and may not poorly coded
proficiency in or inconsistencies. consistently follow outcomes.
programming Adheres to coding coding standards.
languages and standards to a
follows coding reasonable extent.
standards
consistently.
REPORT WRITING LAB RUBRICS FOR ASSESSING IN-LAB PERFORMANCE

CRITERIA EXCEEDS MEETS DEVELOPING UNSATISFACTOR SCORE


EXPECTATION EXPECTATION (2-5) Y (0-10)
(10) (6-9) (0-2)
Data -Student demonstrates -Experimental data -Experimental data is -Experimental data is
Presentation diligence in creating a is presented in presented in poorly presented.
set of visually appropriate format appropriate format but
appealing tables with only a few some significant -Graphs or tables are
and/or graphs that errors are still evident. poorly constructed
minor errors or
effectively present the with several of the
experimental data.
omissions. -Tables could be following errors: data
better organized or is missing or
some titles, labels, or incorrect, units are not
units of measure are included, axis labeled,
missing. or titles missing.
Data Analysis -Student provides a -Student has -Student has analyzed -Student has simply
very focused and analyzed the data, the data, observed re-stated what type of
accurate analysis of observed trends, and trends, and compared data was taken with
the data. All compared experimental results no attempt to interpret
observations are
experimental results with theoretical trends, explain
stated well and clearly results. discrepancies, or
supported by the data.
with theoretical evaluate the validity
results. - Any discrepancies of the data in terms of
are not adequately relevant theory.
-Any discrepancies addressed.
are adequately -Student lacks
addressed. -Some observations understanding of the
that should have been importance of the
-All expected made are missing or results.
observations are poorly supported.
made.
Writing Style -Lab report has no -Lab report has very -Lab report has some -Lab report has
grammatical and/or few grammatical grammatical and/or several grammatical
spelling errors. and/or spelling errors. spelling errors and is and/or spelling errors
fairly readable. and sentence
-All sections of the -The sentence flow is construction is poor.
report are very well- smooth. - Student make
written and effective use of -Student rarely uses
technically accurate. -Student uses technical terms and technical terms or
technical terms rarely resorts to uses them incorrectly
effectively and jargon or cliches. and too often resorts
accurately. to jargon or cliches.
ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

TABLE OF CONTENT
CLOs, PLOs,
S. No. Lab Objectives
Psychomotor domain

To RECOGNIZE the concepts of Visual Paradigm software and


1 CLO- 1, PLO- 1, P- 1
implementing flow chart diagram for given process flow.

2 To OBSERVE the implementation of UML Use-Case diagram. CLO- 1, PLO- 1, P- 1

3 To PRACTICE developing Activity diagram for given scenarios. CLO- 1, PLO- 1, P- 1

4 To PRACTICE how to develop Class diagram for the given scenarios. CLO- 1, PLO- 1, P- 1

To PRACTICE understand the UML Interactions diagram by


5 CLO- 1, PLO- 1, P- 1
implementing sequence diagram for given problems.
To PRACTICE implementing more extended forms of sequence
6 CLO- 1, PLO- 1, P- 3
diagrams.
To PRACTICE developing collaboration diagrams for the given
7 CLO- 1, PLO- 1, P- 1
problems.
To RECOGNIZE the perception of State diagrams and show its
8 CLO- 1, PLO- 1, P- 1
implementation.
To PRACTICE the UML Component diagram for the specified
9 CLO- 1, PLO- 1, P- 1
problems.
PRACTICE the concept of UML Deployment Diagram and solve the
10 CLO- 1, PLO- 1, P- 1
given scenarios by implementing their deployment diagrams.

11 OBSERVE the concept of Data Flow Diagram CLO- 1, PLO- 1, P- 1

RECOGNIZE the concepts of MS Project Software and learn to develop


CLO- 2, PLO- 2, P- 1
12 a schedule of a project.

To PRACTICE the RBS and WBS and its implementation. CLO- 2, PLO- 2, P- 1
13

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Lab #01
Objective: To RECOGNIZE the concepts of Visual Paradigm software and implementing flow chart diagram for given
process flow.

Introduction about Visual Paradigm Software

Visual Paradigm for UML (VP-UML) is a powerful, cross-platform and yet the most easy-to-use visual UML
modeling and CASE tool. VP- UML provides software developers the cutting-edge development platform to build
quality applications faster, better and cheaper! It facilitates excellent interoperability with other CASE tools and
most of the leading IDEs which excels your entire Model-Code-Deploy development process in this one-stop-
shopping solution.

 UML modeling
You can draw all kinds of UML 2.x diagrams in VP-UML, which include:

 Class diagram
 Use case diagram
 Sequence diagram
 Communication diagram
 State machine diagram
 Activity diagram
 Component diagram
 Deployment diagram
 Package diagram
 Object diagram
 Composite structure diagram
 Timing diagram
 Interaction overview diagram
Apart from drawing you can also do:
• Requirement modeling.
• Database modeling.
• Business process modeling.
• Object-Relational mapping.
• Team collaboration.
• Documentation generation.
• Hardware requirements for this software :
• Intel Pentium 4 at 2.0 GHz or higher
• Minimum 512MB RAM, but 1.0 GB is recommended
• Minimum 800MB disk space
• Microsoft Windows (98/2000/XP/2003/Vista/7), Linux, Mac OS X, Solaris or all other Java-enabled platforms.
• JDK 1.6 for Mac OS X.
 There are two different ways of accessing the Visual Paradigm Software:
• One is the offline method (i.e. to install the software in your system).
• Other is the online method. (Make an account on the website https://online.visual-paradigm.com and use Visual
Paradigm unlimited features for free).

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

 How to install Visual Paradigm Software:


• Click on the Visual Paradigm Setup.

• Click on the next button.

• Select the “ I accept the agreement “ option.

• Set the drive where you want to install this software. Then click on next button.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

• Click on the next button.

• Click on the next button.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

• Click on the finish button.

• Click on “30 days free Evaluation “.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Select workspace:
A workspace is a directory used to store all settings, user interface perspectives and other preferences defined for
the working
Environment (settings can be configured via Tools > Application Options... in VP- UML). A workspace also stores
all the teamwork login information and local copies of teamwork projects. In the case of switching computers, you
simply need to copy the whole workspace directory to the new computer and specify the new workspace when
starting VP-UML. All your teamwork information and settings will then be transferred to the new computer. The
Workspace Launcher appear when running VP-UML. Specify the workspace folder.
If you do not want this dialog box to appear again, check Use this as the default and do not ask again. This will
cause VP-UML to open the specified workspace folder automatically the next time. If you already have an existing
workspace, you can import the settings from there by clicking Import Workspace....

• Click OK to continue

• Starting Window.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

 Understanding about the Visual Paradigm Software:


1) Menu bar: The menu bar at the top of the window allows you to select and perform various operations in
Visual Paradigm for UML.
2) Toolbar: Toolbar, which is below the menu bar, is the extension of menu. All buttons are presented as groups
of icons that handily placed for users.
3) Diagram navigator: A place where diagrams are listed, and where you can create and access diagrams base on
their types.
4) Property pane: The properties of chosen model/ shapes will be shown on properties pane upon selection.
5) Diagram pane: The diagram will be displayed in diagram pane. 6 Message pane Information, notification or
warnings will be shown here.
Task: Given a process flow, demonstrate your understanding of visual paradigm software by representing the
process flow in diagrammatic form.

Process Flow of a Alarm Clock:

Steps of execution:

1. Alarm rings.
2. If the person is ready to wake up then he will turn off the alarm clock, leave the bed and the process flow ends
here.
3. If the person is not ready to wake up, then there are two options:
a. Weather the person has planned to wake up late and will snooze the alarm OR
b. The person is going to be late.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Output:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Lab # 02
Objective: To OBSERVE the implementation of UML Use-Case diagram.

Understanding Use Case:

☐ The Use Case Diagram describes the system functionality as a set of Use Cases which represent discrete
tasks. Actors interact with the system to complete the tasks.

☐ A use case is a set of scenarios that describing an interaction between a user and a system. A use case
diagram displays the relationship among actors and use cases. The two main components of a use case
diagram are use cases and actors.

☐ An actor represents a user or another system that will interact with the system you are modeling. A use
case is an external view of the system that represents some action the user might perform in order to
complete a task.

☐ 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 as the project
continues more might become visible.

☐ A use case is a high-level piece of functionality that the system will provide.

☐ Use cases are a technique for capturing the functional requirements of a system.

☐ Use cases work by describing the typical interactions between the users of a system and the system itself,
providing a narrative of how a system is used.

Components of a Use Case Diagram:

1. System Boundary.
2. Actor/s
3. Relationships.
System Boundary:

Rectangle diagram representing the boundary between the actors and the system.

SYSTEM

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Actor/s:

☐ An actor is a role that a user plays with respect to the system.


☐ Actors might include customer, customer service rep, sales manager, and product analyst.
☐ A use case can have more than one actors and an actor can play more than one role.
☐ There are three types of Actors :

• An actor is anyone who interact with the system


• First type is physical person
• Other system that interact with the system
• Third is time; Passing certain amount of time trigger some event
• Actors are not part of the system they are out of the System e.g. loan officer and customer
• Abstract actor that has no instance.

Kinds of Use Case Relationships:

Association:
☐ Association is the communication path between an actor and a use case that it participates in. The association
relationship is used to show the relationship between a use case and an actor.

Extend:
☐ A dotted line labeled <<extend>> with an arrow toward the base case. The extending use case may add behavior
to the base use case. The base class declares “extension points”.

<<extends>>

Generalization:
☐ Relationship between one general use case and a special use case (used for defining special alternatives)
Represented by a line with a triangular arrow head toward the parent use case.

Include:
☐ A dotted line labeled <<include>> beginning at base use case and ending with an arrow pointing to the include
use case. The include relationship occurs when a chunk of behavior is similar across more than one use case. Use
“include” instead of copying the description of that behavior.

<<include>>

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Creating a Use Diagram:

☐ Right click Use Case Diagram in Diagram Navigator and select New Use Case Diagram.
☐ Enter the name for the new diagram after creating it.

Creating Shapes:

☐ To create a shape, select the type of shape from the diagram toolbar, click on diagram and start dragging it to
create with a preferred size.
☐ Select Use Case from the diagram toolbar, click on the diagram and then start dragging. Release the mouse to
confirm creation.
☐ Enter the name for the use case and press enter to confirm the name.

Connection of Shapes:

☐ Two shapes can be connected by making use of the resource icons surrounding a shape.
☐ Let say if we want to associate an actor with a use case, move the mouse pointer towards the actor, press on its
Association resource icon and drag it to the use case, finally release the mouse button.

Example:

Task:
☐ Given the details of a system, demonstrate your understanding of use case diagramming by drawing a use case
diagram.

Online book reading system:

READER

☐ A reader logs in the account.


☐ If the credentials are correct, the reader will log in.
OR
If the credentials are incorrect, the reader will be asked to click the “Forgot the password link” in case of incorrect
password.

Remember that account name is given by admin of the system and can’t be changed.
☐ Reader reads the book and after reading he/she can log out.
☐ Reader can search the book by its name, author or genre.
☐ If book found, the reader will be directed to book online version OR if the book not found, show the message
“Not found, try another way”.
☐ The system allows the reader to mark the book as favorite that can be directly accessed via his timeline/home
page.

ADMIN

☐ Admin can create a user if he gets the request via email.


☐ Admin can only access accounts name, passwords are secret to the users only.
☐ Whenever a user requests to change the password, admin will send him/her the link for changing the password.
☐ Admin can delete the record of a user upon requests via email only.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Output:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Lab #03
Objective: To PRACTICE developing Activity diagram for given scenarios.

Activity diagram:

☐ Activity diagrams, along with use case and state machine diagrams, are considered behavior diagrams
because they describe what must happen in the system being modeled.

☐ Activity diagrams help people on the business and development sides of an organization come together
to understand the same process and behavior.

☐ Activity diagram is basically a flowchart to represent the flow from one activity to another activity. The
activity can be described as an operation of the system.
☐ The control flow is drawn from one operation to another. This flow can be sequential, branched, or
concurrent. Activity diagrams deal with all type of flow control by using different elements such as fork,
join, etc.
Example:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Task:
Draw the Activity diagram of:
☐ Order Management System

Output:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Lab #04
Objective: To PRACTICE how to develop Class diagram for the given scenarios.

Class Diagram:
☐ A class diagram depicts classes and their interrelationships. Used for describing structure and behavior in the use
cases.
☐ Provide a conceptual model of the system in terms of entities and their relationships.
☐ Used for requirement capture, end-user interaction. Detailed class diagrams are used for developers.
☐ Each class is represented by a rectangle subdivided into three compartments.
• Name

• Attributes

• Operations

☐ Modifiers are used to indicate visibility of attributes and operations.


☐ ‘+’ is used to denote Public visibility (everyone)
☐ ‘#’ is used to denote Protected visibility (friends and derived) ‘-’ is used to denote Private visibility (no one)
☐ By default, attributes are hidden and operations are visible.

Relationships In Class Diagram:

☐ There are two kinds of Relationships


☐ Generalization ( exist between two related classes where one is a specialized form of other)
☐ Association ( A relationship between two class ) Associations can be further classified as:
 Aggregation (Subclasses may or may not be depending on the super class.)
 Composition (Subclasses depend on the super class.)

What is Generalization?
☐ Generalization implements Inheritance (A required feature of object orientation).
☐ Generalization expresses a parent/child relationship among related classes.
☐ Used for abstracting details in several layers.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

In the above diagram Generalization is represented, Superclass has two child classes Sub type 1 and Sub type 2
connected by a generalization relationship to their parent class.

Example:

The Association Relationship:

☐ Represent relationship between instances of classes


☐ Association has two ends
 Role names (e.g., enrolls)
 Multiplicity (e.g., One course can have many students)
☐ Navigability (unidirectional, bidirectional)

Multiplicity
Symbol Meaning
e and only one
.1 ro or one
..N om M to N (natural langua
om zero to any positive int
.* om zero to any positive int
.* om one to any positive inte

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Example:

Composition:

☐ Is a strong form of association


☐ Components have only one owner
☐ Components cannot exist independent of their owner
☐ Components live or die with their owner
☐ E.g., Each car has an engine that cannot be shared with other cars.
☐ A type of association that represent a part-whole relationship in which one element dies too when other dies.
☐ Representation with a closed diamond symbol.

Aggregation:

☐ May form "part of" the association, but may not be essential to it. They may also exist independent of the
aggregate.
☐ A type of association that represent a part-whole relationship in which one element lives independently of its
parent element.
☐ Representation by a open diamond symbol.

Some examples of Class diagram:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Task:
☐ Draw a Class Diagram of Online Shopping System.
☐ The classes you will use are:
◦ User.
◦ Customer.
◦ Admin.
◦ Shopping Cart.
◦ Shipping Info.
◦ Orders.
◦ Order Details.

 User:
 Attributes: Id, password, login status.
 Methods: Verify Login.
 Customer:
 Attributes: Name, Address, Email, Credit Card, Shipping Info.
 Methods: Register, Login Update Profile.
 Admin:
 Attributes: Name, Email.
 Methods: Update Catalog.
 Shopping Cart:
 Attributes: Cart ID, Product ID, Quantity, Date Added.
 Methods: Add cart item, Update quantity, view cart details, check out.
 Orders:
 Attributes: ID, Date created, Date shipped, customer name, customer ID, status, shipping ID.
 Methods: place order.
 Shipping Info:
 Attributes: Shipping Id, shipping type, shipping cost, shipping region.
 Methods: Update shipping Info.
 Order Details:
 Attributes: Order ID, Product ID, product name, quantity, unit cost, total.
 Methods: Calculate Price.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Output:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Lab # 05
Objective: To PRACTICE understand the UML Interactions diagram by implementing sequence diagram for given
problems.

Interaction Diagram:

Interaction Diagrams are of two types:

1- Sequence Diagram.
2- Collaborative Diagram.
Interaction Diagram are used to:

1. Depict the interaction between the different objects.


2. Capture the interaction in use cases.
3. Show the different objects and messages that passes between objects in a use case.
4. Model the behavior of use case by describing the way objects interact with each other for the completion of some
task.
Sequence Diagram is used to show the sequence of events, the interactions of messages between classes by
modeling the sequence of object interactions that take place.

In any sequence model:

1. Objects are arranged horizontally across the top.


2. Time is represented vertically so models are read top to bottom.
3. Each object has a vertical life-line representing its period of existence.
4. Interactions (events) are represented by labeled arrows. Different styles of arrow represent different
types of interaction.
5. A rectangle in an object lifeline represents the time when the object is active.
6. Depiction of objects/classes and the message exchange between is needed to carry out the
functionality of the scenario.
7. Depiction of the translation of requirements to system responsibilities is performed.
8. Message between instances are showed which is the only way objects can interact.
 A message indicates a communication between objects the order of messages from top to bottom on your
diagram should be the order in which the messages occur.
 A message can be from an object to itself.
 A return message indicates a response from a message (rather than a new message) and is shown on the
diagram as a dashed line.
 A recursive message is one that calls itself.
 An asynchronous message does not block the object that makes the call so that the object can carry on
with its own processing without waiting for a response

Different Symbols in Sequence Diagram


Name Description Symbol
Deletion Indicates that an object has
been terminated
Asynchronous message Message that does not block
the caller (which carries on with
its processing)

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Return message Return from a previous message


(can be omitted)
Condition A message is sent only when the [condition]
condition is satisfied
Iteration marker Message is sent many times to *[iteration control]
multiple receiving objects
Self-call A message that an object sends
to it self

Sequence Diagram of an ATM System in Banks:

Task:

A) Draw a sequence diagram of phone call process in VP software.

Output:

(Task A)

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Lab # 06
Objective: To PRACTICE implementing more extended forms of sequence diagrams.

Combined fragments (alternatives, options, and loops):

A combined fragment is used to group sets of messages together to show conditional flow in a sequence diagram.
Out of eleven combined fragments, three most commonly used fragments are:

1- Alternatives.
2- Options.
3- Loops.
Alternatives:

Alternatives are used to designate a mutually exclusive choice between two or more message sequences.
Alternatives allow the modeling of the classic "if then else" logic (e.g., if I buy three items, then I get 20% off
my purchase; else I get 10% off my purchase).

A sequence diagram fragment that contains an alternative combination fragment.

At this point in the sequence the alternative combination fragment takes over. Because of the guard "[balance
>=], “if the account's balance is greater than or equal to the amount, then the sequence continues with the bank
object sending the addDebitTransaction and storePhotoOfCheck messages to the account object. However, if
the balance is not greater than or equal to the amount, then the sequence proceeds with the bank object
sending the addInsuffientFundFee and noteReturnedCheck message to the account object and the returnCheck
message to itself. The second sequence is called when the balance is not greater than or equal to the amount
because of the "[else]" guard. In alternative combination fragments, the "[else]" guard is not required; and if an
operand does not have an explicit guard on it, then the "[else]" guard is to be assumed.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Option:

The option combination fragment is used to model a sequence that, given a certain condition, will occur;
otherwise, the sequence does not occur. An option is used to model a simple "if then" statement (i.e., if there are
fewer than five donuts on the shelf, then make two dozen more donuts). The option combination fragment
notation is similar to the alternation combination fragment, except that it only has one operand and there never
can be an "else" guard (it just does not make sense here). To draw an option combination, you draw a frame. The
text "opt" is placed inside the frame's name box, and in the frame's content area the option's guard is placed
towards the top left corner on top of a lifeline.

A sequence diagram fragment that includes an option combination fragment.

According to the diagram, if a student's past due balance equals zero, then the addStudent, getCostOfClass, and
chargeForClass messages are sent. If the student's past due balance does not equal zero, then the sequence skips
sending any of the messages in the option combination fragment.

Loops:

The loop combination fragment is very similar in appearance to the option combination fragment. You draw a
frame, and in the frame's name box the text "loop" is placed. Inside the frame's content area, the loop's guard is
placed towards the top left corner, on top of a lifeline. [Note: As with the option combination fragment, the
loop combination fragment does not require that a guard condition be placed on it.] Then the loop's sequence
of messages is placed in the remainder of the frame's content area. In a loop, a guard can have two special
conditions tested against in addition to the standard Boolean test. The special guard conditions are minimum
iterations written as "minint = [the number]" (e.g., "minint = 1") and maximum iterations written as "maxint =
[the number]" (e.g., "maxint = 5"). With a minimum iterations guard, the loop must execute at least the number
of times indicated, whereas with maximum iterations guard the number of loop executions cannot exceed the
number.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

An example sequence diagram with a loop combination fragment.

Task:

Draw Sequence Diagrams of the following:

1. A Phone Call Process with alternative conditions.

Output:

1)

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Lab # 07
Objective: To PRACTICE developing collaboration diagrams for the given problem.

Collaboration diagram:

A collaboration diagram describes interactions among objects in terms of sequenced messages. The difference
b/w sequence diagram, & collaboration diagram is that collaboration diagram emphasizes more the structure
thanthe sequence of interactions. Within sequence diagram the order of interactions is established by vertical
positioning where as in collaboration diagram the sequence is given by numbering the interactions.

Example:

USING IF AND ELSE, FOR LOOP:

For Loop Example:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 25


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

If Else Example:

Task:

Draw Collaboration Diagrams of the following:

1. A Phone Call Process.

1)

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 26


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Lab # 08
Objective: To RECOGNIZE the perception of State diagrams and show its implementation.

State Diagram in UML:

☐ A state diagram is a type of diagram used in computer science and related fields to describe the behavior of
systems.

☐ State diagrams model the dynamic behavior of a system by showing the various states that an object can get into
& the transitions that occur between the states.

☐ An initial state, also called a creation state, is the one that an object is in when it is first created, whereas a final
state is one in which no transitions lead out of.

☐ A transition is a progression from one state to another and will be triggered by an event that is either internal or
external to the object.

☐ A state is represented as a rounded rectangle on a state chart diagram.

The initial and final states:

☐ The initial state is the state entered when an object is created.

☐ An initial state is mandatory.

☐ Only one initial state is permitted.

☐ The initial state is represented as a solid circle.

☐ A final state indicates the end of life for an object.

☐ A final state is optional.

☐ More than one final state may exist.

☐ A final state is indicated by a bull’s eye.

Composite State: A state that has sub states nested into it.

Choice pseudo state: A diamond symbol that indicates a dynamic condition with branched potential results.

Event: An instance that triggers a transition, labeled above the applicable transition arrow.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 27


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Exit Point: The point at which an object escapes the composite state or state machine, denoted by a circle with an
X through it. The exit point is typically used if the process is not completed but has to be escaped for some error
or other issue.

Guard: A Boolean condition that allows or stops a transition, written above the transition arrow.

Sub-state: A state contained within a composite state's region.

Trigger: A type of message that actively moves an object from state to state, written above the transition arrow.

In this example, “Issue with reservation” is the trigger that would send the person to the airport travel agency
instead of the next step in the process.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 28


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Example 1:

Example 2:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 29


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 7
MANAGEMENT

Example 3:

Task:

☐ Draw State Diagrams of the following:

1. University Form Filling System.


Output:

1)

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 30


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Lab # 09
Objective: To PRACTICE the UML Component diagram for the specified problems.

Component Diagram:

☐ The purpose of a component diagram is to show the relationship between different components in a system.

☐ A component diagram breaks down the actual system under development into various high levels of functionality.

☐ Each component is responsible for one clear aim within the entire system and only interacts with other essential
elements on a need-to-know basis.

Benefits of component diagrams:

☐ Component diagrams seem hard to build but there are advantages of creating component diagrams:

1. Imagine the system’s physical structure.

2. Pay attention to the system’s components and how they relate.

3. Emphasize the service behavior as it relates to the interface.

They are important because…

☐ A component diagram in UML gives a bird’s-eye view of your software system.

☐ Understanding the exact service behavior that each piece of your software provides will make you a better
developer.

☐ Component diagrams can describe software systems that are implemented in any programming language or style.

Symbols:

1. There are three popular ways to create a component's name compartment as shown above.

2. You always need to include the component text inside the double angle brackets and/or the component logo.

3. The distinction is important because a rectangle with just a name inside of it is reserved for classifiers (class
elements).

Provided interfaces: A straight line from the component box with an attached circle. These symbols represent the
interfaces where a component produces information used by the required interface of another component.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 31


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Required interfaces: A straight line from the component box with an attached half circle (also represented as a
dashed arrow with an open arrow). These symbols represent the interfaces where a component requires
information in order to perform its proper function.

Ports: Specifies a separate interaction point between the component and the environment. Ports are symbolized
with a small square.

Packages: Groups together multiple elements of the system and is represented by file folders. Just as file folders
group together multiple sheets, packages can be drawn around several components.

Note: Allows developers to affix a meta-analysis to the component diagram.

Dependency: Shows that one part of your system depends on another. Dependencies are represented by dashed
lines linking one component (or element) to another.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 32


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Example 1:

Example 2:

Example 3:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 33


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Task:

☐ Draw Component Diagrams of the following:

1. Online shopping system.

 The main components are Order system, Product, Customer/s, Account of customer/s.

 The Product and Order components are interacting through the interface of item code.

 Customer and Order components are interacting via interface of customer details.

 Account component has the account details interface which is a dependency for payment interface required for
the Order component.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 34


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Lab # 10

Objective: PRACTICE the concept of UML Deployment Diagram and solve the given scenarios by implementing
their deployment diagrams.

Theory:

Deployment Diagram:

A deployment diagram falls under the structural diagramming family because it describes an aspect of the system
itself. Deployment diagrams are a set of nodes and their relationships. These nodes are physical entities where
the components are deployed. The deployment diagram describes the physical deployment of information
generated by the software program on hardware components. The information that the software generates is
called an artifact.

 Deployment diagrams are used for visualizing deployment view of a system. This is generally used by the
deployment team.
 It is dependent upon the components which are used to make a component diagram.
 Are used to visualize the topology of the physical components of a system where the software components are
deployed.
Symbols:

Nodes: The three-dimensional boxes, known as nodes, represent the basic software or hardware elements, or
nodes, in the system.

Connection:

Lines from node to node indicate relationships.

Artifacts:

The smaller shapes contained within the boxes represent the software artifacts that are deployed. A box with the
header "<<artifact>>" and then the name of the file. Examples of artifacts are executable files, libraries, archives,
database schemas, configuration files, etc.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 35


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Packages: Packages are the file-shaped box that groups together all the device nodes to encapsulate the entire
deployment.

Components and Interfaces: For more detailed deployment diagrams.

Dependency:

A dependency indicates that one model element (source) depends on another model element (target), such that
a change to the target element may require a change to the source element in the dependency.

Deploy vs. Node:

There are 2 ways for connecting the artifacts with Nodes.

1. You can connect an artifact by deploying it on the Node. This is done using the dependency relationship.

2. Another way is to simply list an artifact within the deployment target Node.

Composition vs. Nested Nodes:

Either nest the Nodes or use a composition relationship for the layered Nodes.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 36


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Dependency, composition in artifacts, executables and libraries:

Using the following way the dependency and composition relationships can be built between artifacts.

Communication Path:

It can be a primary or private connection, TCP/IP Protocol or Ethernet.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 37


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Deployment Specification:

A Deployment Specification element in a UML Deployment Diagram is a configuration file, such as an XML
document or a text file that defines how an artifact is deployed on a node.

Ways to draw a deployment diagram:

1. To model embedded systems.

A. A collection of hardware that interfaces with the physical world.

B. A set of controls devices such as motors, actuators, and displays.

C. A set of external stimuli such as sensor input, movement, and temperature changes.

D. You can use deployment diagrams to model the devices and processors that comprise an embedded system.

2. To model client/server systems.

A. A client/server system is a common architecture focused on making a clear separation of concerns between the
system's user interface (which lives on the client) and the system's persistent data (which lives on the server).

B. A Client/server systems are about the physical distribution of your system's software components across the
nodes.

C. You can model the topology of such systems by using deployment diagrams.

3. To model fully distributed systems.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 38


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

A. A distributed systems are often hosts to multiple versions of software components, some of which may even
migrate from node to node.

B. A distributed systems requires you to make decisions that enable the continuous change in the system's topology.

C. You can use deployment diagrams to visualize the system's current topology and distribution of components to
reason about the impact of changes on that topology.

How to draw a deployment diagram:

1. Firstly, identify the nodes that represent your system's client and server processors and then highlight those
devices that are relevant to the behavior of your system.

2. For example, you'll want to model special devices, such as credit card readers, badge readers, and display devices
other than monitors, because their placement in the system's hardware topology are likely to be architecturally
significant.

3. Provide visual cues for these processors and devices via stereotyping.

4. Model the topology of these nodes in a deployment diagram.

5. Similarly, specify the relationship between the components in your system's implementation view and the nodes
in your system's deployment view.

Examples of Deployment Diagrams:

Example 1 (Real state system):

Example 2 (Accessing a webpage on a web server from iPad):

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 39


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Example 3 (Hospital Management System):

Example 4 (Hotel Management System):

Task:

Draw Deployment Diagrams of the following:

1. ATM system.

Output:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 40


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Lab # 11
Objective: OBSERVE the concept of Data Flow Diagram

What is a data flow diagram (DFD)?


A picture is worth a thousand words. A Data Flow Diagram (DFD) is a traditional way to visualize the
information flows within a system. A neat and clear DFD can depict a good amount of the system
requirements graphically. It can be manual, automated, or a combination of both.
It shows how information enters and leaves the system, what changes the information and where
information is stored. The purpose of a DFD is to show the scope and boundaries of a system as a
whole. It may be used as a communications tool between a systems analyst and any person who plays
a part in the system that acts as the starting point for redesigning a system.
It is usually beginning with a context diagram as level 0 of the DFD diagram, a simple representation
of the whole system. To elaborate further from that, we drill down to a level 1 diagram with lower
level functions decomposed from the major functions of the system. This could continue to evolve to
become a level 2 diagram when further analysis is required. Progression to levels 3, 4 and so on is
possible but anything beyond level 3 is not very common. Please bear in mind that the level of detail
for decomposing a particular function depending on the complexity that function.
How to Draw Data Flow Diagram?
DFD Diagram Notations
Now we'd like to briefly introduce to you a few diagram notations which you'll see in the tutorial
below.
External Entity:
An external entity can represent a human, system or subsystem. It is where certain data comes from
or goes to. It is external to the system we study, in terms of the business process. For this reason,
people used to draw external entities on the edge of a diagram.

Process:

A process is a business activity or function where the manipulation and transformation of data take
place. A process can be decomposed to a finer level of details, for representing how data is being
processed within the process.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 41


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Data Store:
A data store represents the storage of persistent data required and/or produced by the process.
Here are some examples of data stores: membership forms, database tables, etc.

Data Flow:
A data flow represents the flow of information, with its direction represented by an arrowhead that
shows at the end(s) of flow connector.

What will we do in this tutorial?


In this tutorial, we will show you how to draw a context diagram, along with a level 1 diagram.
Note: The software we are using here is Visual Paradigm. You are welcome to download a free 30day
evaluation copy of Visual Paradigm to walk through the example below. No registration, email address
or obligation is required.

How to Draw Context Level DFD?


1. To create new DFD, select Diagram > New from the toolbar.

2. In the New Diagram window, select Data Flow Diagram and click Next.

3. Enter Context as diagram name and click OK to confirm.

4. We'll now draw the first process. From the Diagram Toolbar, drag Process onto the diagram.
Name the new process System.

5. Next, let's create an external entity. Place your mouse pointer over System. Press and drag out
the Resource Catalog button at the top right.

6. Release the mouse button and select Bidirectional Data Flow -> External Entity from Resource
Catalog.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 42


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

7. Name the new external entity Customer.

8. Now we'll model the database accessed by the system. Use the Resource Catalog to create a
Data Store from System, with bidirectional data flow in between.

9. Name the new data store Inventory.

10. Create two more data stores, Customer and Transaction, as shown below. We have just
completed the Context diagram.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 43


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

How to Draw Level 1 DFD?


1. Instead of creating another diagram from scratch, we will decompose the System process to form
a new DFD. Right-click on System and select Decompose from the popup menu.

2. The data stores and/or external entities connected to the selected process (System) would be
referred to in the level 1 DFD. So when you are prompted to add them to the new diagram, click
Yes to confirm.
Note: The new DFD should look very similar to the Context diagram initially. Every element
should remain unchanged, except that the System process (from which this new DFD
decomposes) is now gone and replaced by a blank space (to be elaborated).

3. Rename the new DFD. Right-click on its background and select Rename ..... In the diagram's name
box, enter Level 1 DFD and press ENTER.
4. Create three processes (Process Order, Ship Good, Issue Receipt) in the center as shown below.
That is the old spot for the System process and we place them there to elaborate System.

Wiring with connection lines for data flows


The remaining steps in this section are about connecting the model elements in the diagram. For
example, Customer provides order information when placing an order for processing.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 44


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

1. Place your mouse pointer over Customer. Drag out the Resource Catalog icon and release your
mouse button on Process Order.

2. Select Data Flow from Resource Catalog.

3. Enter order information has the caption of flow.

4. Meanwhile, the Process Order process also receives customer information from the database to
process the order.
Use the Resource Catalog to create a data flow from Customer to Process Order.

Optional: You can label the data flow "customer information" if you like. But since this data flow is quite self-
explanatory visually, we are going to omit it here.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 45


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

5. By combining the order information from Customer (external entity) and the customer
information from Customer (data store), Process Order (process) then creates a transaction record in
the database. Create a data flow from Process Order to Transaction.

Drawing Tips:
To rearrange a connection line, place your mouse pointer over where you want to add a pivot
point to it. You'll then see a bubble at your mouse pointer. Press and drag it to the position
desired.

Up to this point, your diagram should look something like this.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 46


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

6. Once a transaction is stored, the shipping process follows. Therefore, create a data flow
from Process Order (process) to Ship Good (process).
7. By combining the order information from Customer (external entity) and the customer
information from Customer (data store), Process Order (process) then creates a transaction record in
the database. Create a data flow from Process Order to Transaction.

Drawing Tips:
To rearrange a connection line, place your mouse pointer over where you want to add a pivot
point to it. You'll then see a bubble at your mouse pointer. Press and drag it to the position
desired.

Up to this point, your diagram should look something like this.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 47


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

8. Once a transaction is stored, the shipping process follows. Therefore, create a data flow from
Process Order (process) to Ship Good (process).

9. needs to read the transaction information (i.e. The order number to pack the right product for
delivery. Create a data flow from Transaction (data store) to Ship Good (process).

Note: If there is a lack of space, feel free to move the shapes around to make room.

10. Ship Good also needs to read the customer information for his/her shipping address. Create a
data flow from Customer (data store) to Ship Good (process).

11. Ship Good then updates the Inventory database to reflect the goods shipped. Create a data
flow from Ship Good (process) to Inventory (data store). Name it updated product record.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 48


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

12. Once the order arrives in the customer's hands, the Issue Receipt process begins. In it, a receipt
is prepared based on the transaction record stored in the database. So let's create a data flow
from Transaction (data store) to Issue Receipt (process).

13. Then a receipt is issued to the customer. Let's create a data flow from Issue Receipt (process) to
Customer (external entity). Name the data flow receipt.

You have just finished drawing the level 1 diagram which should look something like this.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 49


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

How to Improve a DFD's Readability?


The completed diagram above looks a bit rigid and busy. In this section, we are going to make some
changes to the connectors to increase readability.

1. Right-click on the diagram (Level 1 DFD) and select Connectors > Curve. Connectors in the
diagram are now in curve lines.

2. Move the shapes around so that the diagram looks less crowded.

More DFD Examples


The list below directs you to various Data Flow Diagram examples that cover different businesses
and problem domains. Some of them consist of the use of multiple context levels.
• Customer Service System

• Food Ordering System

• Securities Trading

• Supermarket App

• Vehicle Maintenance Depot

• Video Rental Store

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 50


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT
Lab # 12
Objective: RECOGNIZE the concepts of MS Project Software and learn to develop a schedule of a project.

MS PROJECT:

It includes the processes required to manage the timely completion of the project. These processes are as follows:

1. Plan Schedule Development

2. Define Activities

3. Sequence Activities

4. Estimate Activity Resources

5. Estimate Activity Durations

6. Develop Schedule

7. Control Schedule

MS PROJECT DOES…

1. Keep track of all the information you gather about the work (tasks), task duration, and resource requirements for
your project.

2. Visualize your project plan in standard, well-defined formats.

3. Schedule tasks and resources consistently and effectively.

4. Exchange project information with stakeholders over networks and the Internet using standard file formats.

5. Help to communicate with resources and other stakeholders while leaving ultimate control in the hands of the
project manager.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 51


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Outlook

Task Ribbon

The Task tab provides buttons for adding, formatting, and working with tasks. From the Schedule group, you can
mark the percentage complete, link tasks to one another, and inactivate a task. You can also convert manually
scheduled tasks into automatically scheduled tasks from the Tasks group.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 52


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Project Tab

Use the Project tab to handle advanced project functions involving properties, scheduling, and reporting. For
example, you can add custom fields, define WBS codes, insert subprojects, and generate visual reports from
the Project tab.

View Tab

The View tab is a one-stop shop for selecting the various views available in Project 2010 and for customizing your
current view. It is also where you can add a timeline to your view.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 53


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Format Tab

The Format tab buttons help you customize the text, columns, colors, and other elements of each type of view.
The groups and buttons in the Format tab are completely different for each type of view. They change
automatically when you change the view.

Task Tab

Add Task name along with the duration, staring and finishing dates. Gantt chart is being displayed on the right
part of the screen.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 54


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Resource tab

The buttons on the Resource tab help you with the often-complex business of managing the resources who do
the work on your project. From this tab, you can add resources, assign them to tasks, and level resources that are
over-allocated. You can also launch the powerful team planner from this tab.

Format Tab

For changing the format, design of your project plan and Gantt chart.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 55


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

PLAN SCHEDULE OF A PROJECT

On small scale projects, defining activities, sequencing activities, estimating activity resources, estimating activity
durations, and developing the schedule model are so tightly linked that they are viewed as a single process that
can be performed by a person over a relatively short period of time.

Plan Schedule Management:

1. Plan Schedule Management is the process of establishing the policies, procedures, and documentation for
planning, developing, managing, executing, and controlling the project schedule.

2. The key benefit of this process is that it provides guidance and direction on how the project schedule will be
managed throughout the project.

Tools & Techniques:

☐ Expert Judgment: Utilizing the experience and expertise in the knowledge area

☐ Analytical Techniques: It involve choosing strategic options to estimate and schedule the project such as:
scheduling methodology, scheduling tools and techniques, estimating approaches, formats, and project
management software. The schedule management plan may also detail ways to fast track or crash the project
schedule such as undertaking work in parallel.

☐ Meetings: Planning meetings to develop the schedule management plan.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 56


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Task:

☐ Create a project schedule from the information given in the following tables below:

☐ Only add Project Name, duration, Staring and Finishing dates.

☐ Gantt chart must be designed accordingly.

1-

2-

3-

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 57


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

4-

5-

Output:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 58


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 59


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Lab # 13
Theory:

Resource Breakdown Structure:

☐ There are many aspects to planning a project. They tend to revolve around the triple constraint of time, cost and
scope. One such orbit is resources.
☐ Resources can be impacted by all three of those constraints and therefore require a method to control them—
sometimes even a resource management software.
☐ “Resources” is a broad term, of course, and speaks to not only materials and equipment used in a project, but
the human resources.
☐ In fact, those people who make up your project team are in many ways the most important resource. They are,
after all, the ones who will execute the project and chaperon it from start to finish.
☐ In project management, the resource breakdown structure (RBS) is a tool to help with planning and controlling
project work.
☐ Think of it as a work breakdown structure (WBS) for your resources, because that’s what it is, and it’s just as
valuable. Using resource planning software can help you organize, schedule and manage your resources after
you’ve made your RBS.

What Is a Resource Breakdown Structure?

☐ A resource breakdown structure is a list of the resources that will be required to execute your project. The list is
broken down by function and type, and at the very least will cover the people needed to complete a project
successfully.

☐ However, at its most thorough, it will include anything you spend money on for the project, such as people,
project management tools, equipment, materials, even fees and licenses.

☐ A resource breakdown structure is more than just a list, however: it’s a hierarchical chart that is used to help
project managers organize resources and create a resource plan.

☐ An RBS will inform the budget, as a thorough listing of resources will make it easier to estimate what a project
will cost. It’s a means to stay within budget rather than spend erratically.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 60


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Resource Breakdown Structure Example:

In order to get a different view of what an RBS is, let’s take a look at a simple, real-life example. We’re making a
bridge. There is a site, naturally, that the bridge will traverse. But large pieces of the bridge will be built
elsewhere and then assembled on site.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 61


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Map Your Resources on the Gantt Chart

The first step to making an RBS is to understand the tasks required for a successful project. Online Gantt charts
map tasks into phases, create dependencies and schedule resources across a project timeline. This helps you
understand exactly which resources you need to identify in your resource breakdown structure.

Once they are identified, tasks can be assigned from the Gantt view, as well as being able to see the number of
hours each team member has spent working on that task. You can see at a glance if team members are
overallocated or under-allocated to keep your resource balanced.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 62


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Track Your Team’s Work

With our team management tools, you can identify your human resources and categorize teams as well as supplies
and equipment. The hourly rates of team members are visible across the whole software and as teams log their
hours, the real cost is calculated and compared against the planned cost. This keeps project managers in control of
costs and in line with their budgets.

Online Software Offers Real-Time Resource Management

Because we’re a cloud-based software, you get the most current data on our real-time dashboard to help you plan
projects, schedule resources, balance workload and reassign tasks as needed. We provide transparency into your
resources in real time during the execution of the project to help you track them with accuracy.

Project Manager’s dashboard view, which shows six key metrics on a project.

Work break down structure-WBS:

☐ It is a deliverable oriented decomposition of a project into smaller components.

☐ It is a key project deliverable that organizes the team’s work into manageable sections.

☐ Company owners and project managers use the Work Breakdown Structure (WBS) to make complex projects
more manageable.

☐ The WBS is designed to help break down a project into manageable chunks that can be effectively estimated and
supervised.

☐ The WBS provides the foundation for project planning, cost estimation, scheduling and resource allocation, not to
mention risk management.

Example:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 63


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

☐ Building a Desktop Computer – Consider a company plans to start building desktop computers. To make the work
go faster, assign teams to the different aspects of computer building, as shown in the diagram below. This way,
one team could work on the chassis configuration while another team secured the components.

Example

The outlining of the related tasks:

☐ WBS helps in organizing the related tasks together or grouping the tasks.

☐ MS project provides the mechanism of providing the outlines in (ordered) numbering form.

☐ Another way is WBS codes.

☐ The intelligent WBS code basically entails swapping out the default numerical outline (1.2.3) with a descriptive
outline of the task (ABC.DEF.GHI).

The outline method:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 64


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

WBS Codes:

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 65


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

How to set codes:

Precedence:

☐ Finish-to-Start (FS): This is the most common type of relationship where one task cannot start until another
associated task has finished. A mechanical example is a pipe insulation task cannot start until the pipe installation
inspection task is complete.

☐ Start-to-Start (SS): This is a relationship where one task cannot start until another task has begun. An example is
that remove damaged piping task cannot proceed until the safety plan is commenced.

☐ Finish-to-Finish (FF): In this relationship one task cannot finish until another related task has finished. A possible
example from the research industry is that documentation cannot complete until experimental testing described
by that documentation has finished.

☐ Start-to-Finish (SF): In this not so common relationship one task cannot finish until another task has begun. An
example is the run generator task cannot cease until the power is activated.

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 66


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

Task:

Given are some tasks, use WBS structure and WBS codes for managing the project’s tasks and sub-tasks:

1-

2-

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 67


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

3-

Output:

1)

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 68


ZIAUDDIN UNIVERSITY FACULTY OF ENGINEERING SCIENCE TECHNOLOGY AND
SEMESTER 2
MANAGEMENT

2)

INTRODUCTION TO SOFTWARE ENGINEERING LAB MANUAL | CS-212 69

You might also like