lab manual - isc.ku.edu.k manuals/isc480 lab manual.pdf · run on a pc with windows operating...
TRANSCRIPT
Lab Manual
ISC 480 IS Development
Prepared by
Latifa Al-Dhafeeri
Reviewed by
Dr.Kalim Qurishi
ISC 480 IS Development P a g e | 2
Table of Contents
Laboratory Hardware and Software/Tools Requirements ................................................... 5 Laboratory Schedule ........................................................................................................... 6 Laboratory Policy ................................................................................................................ 7 Laboratory Grading Policy ................................................................................................... 8 Introduction ......................................................................................................................... 9 Familiarity with Lab Hardware and Software tools ............................................................... 9 Laboratory Tools Setup ....................................................................................................... 9 Laboratory #1 Write up Scope Document & SRS Document ..............................................10 Laboratory #2 Introduction to StarUML ...............................................................................14 Laboratory #3 Use Case Diagram ......................................................................................21 Laboratory #4 Sequence Diagram ......................................................................................25 Laboratory #5 Activity Diagram ..........................................................................................28 Laboratory #6 State Machine Diagram ...............................................................................32 Laboratory #7 High Level Design .......................................................................................35 Laboratory #8 Data Flow Diagram ......................................................................................39 Laboratory #9 Class Diagram .............................................................................................46 Laboratory #10 Introduction to MS Project .........................................................................51 Laboratory #11 PERT chart and Gantt chart ......................................................................57 Appendix A: Rules to fallow by Computer Lab Users .........................................................66 Appendix B: Endorsement ..................................................................................................67 References…………………………………………………………………………..……………………… 68
ISC 480 IS Development P a g e | 3
Laboratory Hardware and Software/Tools Requirements
In this lab the students will be using StarUML application software and MS Project
run on a PC with Windows operating system.
ISC 480 IS Development P a g e | 4
Laboratory Schedule
# Lab Title Lab
activ
ity
1 Write up Scope Document & SRS Document
2 Introduction to StarUML
3 Use Case Diagram
4 Use Case Diagram Quiz#1
5 Sequence Diagram
6 Activity Diagram
7 State Machine Diagram Quiz#2
8 State Machine Diagram Quiz#3
9 HLD Diagrams
1
0
DFD Chart.............................................................................................................................. Quiz#4
1
1
Class Diagram .......................................................................................................................
1
2
Introduction to MS Project ......................................................................................................
1
3
PERT chart and Gantt chart ...................................................................................................
1
4
Review
1
5
Final Lab Final Lab
ISC 480 IS Development P a g e | 5
Laboratory Policy
Fallow the laboratory rules listed in appendix “A”
Cheating in whatever form will result in F grade.
Attendance will be checked at the beginning of each Lab.
Number of absence hours will be combined with the absence hours of the course and
they are subject for applying the university absence regulations.
Cheating in Lab Work or Lab Project will result F grade in Lab.
There will be no make-up for any Quiz/Exam/Lab exercise.
Hard work and dedication are necessary ingredients for success in this course.
ISC 480 IS Development P a g e | 6
Laboratory Grading Policy
Activity Weight
Lab Quizzes 5%
Lab Exercises 5%
Final Lab 10%
Total 20%
ISC 480 IS Development P a g e | 7
Introduction This lab is an integral part of the course ISC 480 IS Development. The main
objectives of the lab are to experience using StarUML an open source tool for Unified
Modeling Language (UML) diagrams and modeling.
Familiarity with Lab Hardware and Software tools In this lab the students will be using StarUML and MS Project.
Laboratory Tools Setup
Install StarUML 2.7.0
1. Open download page http://staruml.io/download
2. Select Windows as operating system and start download.
3. After download: execute installation file and follow instructions
ISC 480 IS Development P a g e | 8
ISC 480 IS Development P a g e | 9
ISC 480 IS Development P a g e | 10
Laboratory #1 –Write up Scope Document & SRS Document
1. Laboratory Objective
The objective of this introductory laboratory is to introduce scope and SRS documents.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Know what scope and SRS documents are. b. Write a proposal c. Define functional and non-functional requirements d. Review samples of SRS documents. e. Write their own SRS documents.
3. Laboratory Introductory Concepts The scope documents consist of the following parts:
1. Business requirements and context 1.1 Product rationale and business opportunity 1.2 Business objectives 1.3 Business risks 1.4 Stakeholders 1.5 Context and environment
2. Product vision 2.1 Statement of product goals 2.2 Main features 2.3 Assumptions and dependencies
3. Project scope 3.1 Scope of current release 3.2 Scope in future releases 3.3 Limitations
3.4 Project priorities
1. Business requirements and context
In this section, we provide the rationale for the development of this software and the business opportunity justifying its existence. In addition, we list the business objectives and potential risks. Finally, we identify the potential stakeholders including the types of users, and we describe the context and environment within which this software will exist and operate. 1.1 Product rationale and business opportunity
Example [Kuwait University is a very large government institution of higher education. It includes 13 colleges in which more than 20 thousand students study, and about 5000 faculty and staff are employed. The university is spread over many geographically
ISC 480 IS Development P a g e | 11
distributed campuses, Each campus includes different types of facilities, such as classrooms, laboratories, seminar rooms, and auditoriums. There is a need to automate the process of managing these facilities to speed up the processes needed for reservation, maintenance and security, among other processes, and to provide an accurate and high quality service to the intended users.]
1.2 Business objectives
List the main business objectives and some quantifiable success criteria for the objectives. The business objectives can refer to either financial or technical benefits to the target customers that are preferably quantifiable.
1.3 Business risks
List the business risks associated with the business requirements and their management, which include risk assessment, prioritization, monitoring, mitigation, and control
1.4 Stakeholders
Identify and describe the types of product users and other stakeholders.
1.5 Context and environment
Describe the context and environment in which the product will be operating. The operating context and environment will determine many of the non-functional product quality requirements such as security, performance, availability, and business continuity requirements.
2. Product vision
2.1 Statement of product goals
Provide a clear statement of the product goals. Indicate the views of the potential stakeholders and types of users, and clearly show the financial and non-financial business benefits over other existing systems.
2.2 Main features
Identify the main functionalities and features of the product being developed. The detailed functional requirements that are developed later must be traceable back to this section of the vision and scope document.
2.3 Assumptions and dependencies
List all the assumptions that are made and the dependencies that exist. Normally, dependencies are related to external conditions that have to be met, for example, the availability of a hardware device with which to interface. Stating the assumptions and dependencies helps to identify and reduce the risks and to clarify the constraints to the various project and product stakeholders.
ISC 480 IS Development P a g e | 12
3. Project scope
List the functionalities and features that will be included in different releases or versions of the product. The scope for each release is developed in line with the stakeholders’ objectives and priorities. This also lessens the chance of future misunderstandings between the developers and the clients.
3.1 Scope of current release
Feature Release 1
FE-1
FE-2
FE-3
3.2 Scope of future releases
Feature id and name Release 2 Release 3 Release 4
3.3 Limitations
List the limitations including the functionalities and features that will not be provided by the product in any of its future releases. Clearly stating the limitations helps clarifying the expectations and functional boundaries of the product and reduces possible future conflicts between the various product stakeholders.
Annexes
Include any document or communications that was used to develop this document.
ISC 480 IS Development P a g e | 13
The SRS consist of the following:
1. Use Case Model (it will be explained in details in Lab3)
1.1 Actors and relationships
1.2 Use Cases and relationships
1.3 Use Case Diagrams
2. System wide Non Functional Requirements
3. Detailed Use Case Descriptions (it will be explained in details in Lab3 & Lab4)
3.1 Use Case templates
3.2 Sequence diagrams
4. Behavior Specification Model (it will be explained in details in Lab5 & Lab6)
Input / output specification
State diagrams
Activity diagram
5. Process Specification Model (it will be explained in details in Lab7)
Data flow diagrams at all levels
Decision tables, decision trees
Object oriented Analysis
6. Data Specification Model (it will be explained in details in Lab8)
Entity relationship model
Data dictionary
Appendix
Index
4. Laboratory Problem Description You will receive an example of scope and SRS documents via your email.
Open the file and we will discuss each point.
5. Laboratory Exercises You will be divied into groups each group select one of the following topics and write scope
and SRS documents:
1- Library System
2- University Registration System
3- Pharmacy System
4- Hotel Reservation System
5- Any Product Ordering System
ISC 480 IS Development P a g e | 14
Laboratory #2 – Introduction to StarUML
1. Laboratory Objective
The objective of this introductory laboratory is to introduce user interface for StarUML.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Know how to enter/exit the StarUML environment. b. Be familiar with main menu c. Investigate toolbar area d. Creating Models.
3. Laboratory Introductory Concepts
This section describes in detail all of the StarUML™ windows. Main window Menu Toolbars
Main window
StarUML™ Main window consists of the following components.
ISC 480 IS Development P a g e | 15
Main Menu
The main menu is at the top of the screen. Most of StarUML™'s functions are accessible through the main menu.
Toolbars
Toolbars are right below the main menu. They contain frequently used menu items.
Browser Area
The browser area is located in the upper left corner of the screen. This area contains the functions to facilitate easy exploring of the software project component elements. This area includes [Model Explorer] which shows the model elements in hierarchical structures, and [Diagram Explorer] which shows the diagram types.
ISC 480 IS Development P a g e | 16
Inspector Area
The inspector area is located in the lower left corner of the screen. This area contains the functions to facilitate editing of the detailed information for elements. This area includes [Property Editor] which edits properties, [Documentation Editor] which records detailed descriptions, and [Attachments Editor] which
attaches additional files or URLs.
Information Area
The information area is located in the lower right corner of the screen. This area contains the functions to show various types of information throughout the StarUML™ application. This area includes [Output Window] which shows log recordings, [Messages Window] which shows the model search and inspection results.
Diagram Area
The diagram area is located in the upper right corner of the screen. This area contains the functions to edit and manage the diagrams.
Pallet
Located on the left-hand side of the area is Pallet, which contains the elements that can be created.
Menu
This section describes in detail all of the menu items included in StarUML™’s main menu.
File Menu
Edit Menu
Format Menu
Model Menu
View Menu
Tools Menu
Help Menu
Shortcuts
File Menu
The File menu contains the following menu items.
Menu Item Description
New Project[Ctrl+N] Creates a new project.
New Project By Approach[Ctrl+I] Opens the Select New Project dialog box.
Open[Ctrl+O] Opens a project file.
Save[Ctrl+S] Saves the project file.
Save As[Ctrl+A] Saves the project as another file.
Close Closes the current project.
ISC 480 IS Development P a g e | 17
Export Diagram[Shift+Ctrl+D] Saves the currently active diagram as an image file.
Page Setup Configures the page for printing
Print[Ctrl+P] Prints the diagram.
Recent Files Contains a list of the recently opened files.
Exit Exits the program.
Edit Menu
The Edit menu contains the following menu items.
Menu Item Description
Undo[Ctrl+Z] Cancels the most recent action performed by the user.
Redo[Ctrl+Y] Repeats the most recent action performed by the user.
Cut[Ctrl+X] Copies the selected elements to clipboard and
removes them from the current location.
Copy[Ctrl+C] Copies the selected elements to clipboard.
Copy Diagram[Shift+Ctrl+C] Copies the currently active diagram to clipboard.
Copy Diagram as Bitmap[Shift+Ctrl+C] Copies the currently active diagram to clipboard as
Bitmap.
Paste[Ctrl+V] Pastes the clipboard contents into the currently
selected element (or diagram).
Delete[Del] Deletes the selected view elements in the diagram.
Delete From Model[Ctrl+Del] Deletes the selected model elements.
Find[Ctrl+F] Finds an element.
Select All[Ctrl+A] Selects all the elements in the current diagram.
Format Menu
The Format menu contains the following menu items.
Menu Item Description
Font Specifies the font for the selected view elements.
Line Color Specifies the line color for the selected view elements.
Fill Color Specifies the fill color for the selected view elements.
Line Style->Rectilinear[Ctrl+L] Specifies the line style of the selected connection view
element as rectilinear.
ISC 480 IS Development P a g e | 18
Line Style->Oblique[Ctrl+B] Specifies the line style of the selected connection view
element as oblique.
Auto Resize Automatically resizes the selected view elements.
Alignment-> Bring to Front Brings the selected elements to front.
Alignment-> Send to Back Sends the selected elements to back.
Alignment-> Align Left Aligns the selected elements to left.
Alignment-> Align Right Aligns the selected elements to right.
Alignment-> Align Middle Centers the selected elements horizontally.
Alignment-> Align Top Aligns the selected elements to top.
Alignment-> Align Bottom Aligns the selected elements to bottom.
Alignment-> Align Center Centers the selected elements vertically.
Alignment-> Space Equally,
Horizontally
Evenly distributes the selected elements horizontally.
Alignment-> Space Equally,
Vertically
Evenly distributes the selected elements vertically.
Layout Diagram Lays out the view elements in the current diagram.
Model Menu
The Model menu contains the following menu items.
Menu Item Description
Add->... Adds a model element. The model elements that can be added under the currently selected model elements are displayed in the sub menu.
Add Diagram->... Adds a diagram. The diagrams that can be added under the currently selected model elements are displayed in the sub menu.
View Menu
The View menu contains the following menu items.
Menu Item Description
Close Diagram Closes the currently active diagram.
Close All Diagrams Closes all open diagrams.
Select In Model Explorer Shows the currently selected element in the model explorer.
ISC 480 IS Development P a g e | 19
Referesh Refreshes the current diagram.
Model Explorer Toggles the Model Explorer on and off.
Diagram Explorer Toggles the Diagram Explorer on and off
Output Toggles the Output Window on and off.
Messages Toggles the Message Window on and off.
Toolbox Toggles the Toolbox on and off.
Zoom-> Zoom In Makes the diagram look larger.
Zoom-> Zoom Out Makes the diagram look smaller.
Zoom-> Fit To Window Automatically adjusts the zoom ratio to fit the whole diagram
in the window.
Toolbars->Standard Toggles the Standard toolbar on and off.
Toolbars->Format Toggles the Format toolbar on and off.
Toolbars->View Toggles the View toolbar on and off.
Toolbars->Alignment Toggles the Align toolbar on and off.
Tools Menu
The Tools menu contains the following menu items.
Menu Item Description
Options... Opens the Options dialog box that can be used to edit various environment configuration options.
Add-In Manager... Opens the Add-In Manager that can be used to manage the additionally installed Add-In programs.
Help Menu
The Help menu contains the following menu items.
Menu Item Description
Contents...[F1] Opens the StarUML™ help.
StarUML On the Web Moves to the StarUML™ website.
About Shows the StarUML™ information.
Create Model
To create a model go to Model add Model
ISC 480 IS Development P a g e | 20
To select a diagram go to Model add Diagram
ISC 480 IS Development P a g e | 21
Laboratory #3 – Use Case Diagram
1. Laboratory Objective
The objective of this laboratory is to have practice in drawing use case diagram.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Know main component of use case diagram. b. Use StarUML to create a add use case diagram to a model. c. Translate the English text into use case diagram.
3. Laboratory Introductory Concepts
Definition: A use case is a methodology used in system analysis to identify, clarify, and organize system requirements. The use case is made up of a set of possible sequences of interactions between systems and users in a particular environment and related to a particular goal.
Use case Diagram main component
1. Actors (people – computer hardware and devices – External systems) 2. Use cases 3. Interrelationships among actors and use cases
Why we use case diagram UCD answer the main question about your system:
Who’s your system for?
What must it do?
Why build it in the first place? Define System users : Actors Define System normal situation : Use cases Stay focus in your client’s goals. A complete set of use cases = system requirements.
Use Case Diagram relationships A UCD is made of actors, use cases and interrelationships among actors and use cases:
1. <<communicates>> : linking a use case and an actor – represents interactions
2. <<extend>> : linking use cases – represents one use case interrupted by another user case under certain conditions
ISC 480 IS Development P a g e | 22
3. <<include>> : linking use cases – represents the inclusion of the steps of one use case in the other user case steps
4. generalization (inheritance): relationship among actors and among use cases (type-of relationship)
Example:
Actors: Resident (primary actor) and Alarm System Use case: Activate Alarm Two <<communicate>> relationships
4. Laboratory Problem Description
In this laboratory you are required to draw use case diagram for the following text:
Ex1: “The student either be a grad or undergrad student and he can borrow and return a
book from employee Library”
Solution:
1. Start starUML
2. Select Empty project
3. Create a model go to Model add Model
4. Select use case diagram from Model add Diagram
ISC 480 IS Development P a g e | 23
System
Student
Borrow a Book
Return a Book
Employee Library
MAster StudentBAstudent
Ex2: “The Library system has two users Student and admin. Student can search for a book, add a book to the list, return a book and view the list of borrowed books. The admin can update Book DB by adding, deleting, and modifying book info. The admin also send reminder to student to return book on time.”
Solution:
1. Start starUML
2. Select Empty project
3. Create a model go to Model add Model
4. Select use case diagram from Model add Diagram
ISC 480 IS Development P a g e | 24
5. Laboratory Exercises
Ex1: Draw the UCD showing all use cases, actors and relationships
“A patient record and scheduling system in a doctor’s office is used by the receptionists,
the nurses, and the doctors. The receptionists use the system to enter new patient
information when first-time patients visit the doctor and the data is saved in patient file.
They also schedule all appointments in appointment file. The nurses use the system to
keep track of the results of each visit and to enter information about patient care, such as
medications and diagnoses. The nurses can also access the information to print out patient
reports or the history of patient visits. The doctors primarily use the system to view patient
history. The doctors may enter some patient treatment information occasionally, but most
frequently they let the nurses enter this information”
Ex2: Given the following English description of a software subsystem:
‘A subscriber will be able to logon to his/her account and subscribe to a newspaper. In
addition the subscriber can cancel his subscription or modify his subscription information
like changing the address. When a new subscription is made, the subscriber will be able to
pay online and an email confirming his subscription will be sent. When canceling a
subscription, the subscriber will be refunded an amount depending on the unused number
of days and will be asked to provide account information into which the refund will be
deposited.’’
Draw the UCD corresponding to the above showing all use cases, actors and relationships.
EX3: Draw the UCD showing all use cases, actors and relationships
“The client is able to book a flight online. In addition, the client can cancel or modify the booking any time prior to the flight. The client can fill a report about his/her remarks online and can view if there are any comments returned on his remarks. The admin can add, remove or modify the information related to a given flight. In addition, the admin can view the client reports and provide some feedback on them. While booking or modifying a flight, the client can cancel at any time. The client should receive an email when any booking related activity is performed. The admin should logon to the system before he/she can perform any operation.”
ISC 480 IS Development P a g e | 25
Laboratory #4 –Sequence Diagram
1. Laboratory Objective
The objective of this laboratory is to have practice in drawing sequence diagram.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Know main component of sequence diagram b. Use StarUML to create a add sequence diagram to a model c. Translate the English text into sequence diagram
3. Laboratory Introductory Concepts Definition: A Sequence diagram is an interaction diagram that shows how processes operate with one another and in what order. It is a construct of a Message Sequence Chart. A sequence diagram shows object interactions arranged in time sequence.
Sequence Diagram Drawing elements
Why we use sequence diagram It shows the interaction logic between the objects in the system in the time order that the interactions take place.
4. Laboratory Problem Description
In this laboratory you are required to draw sequence diagram for the following:
ISC 480 IS Development P a g e | 26
EX1: Here we have 3 use cases: Process Sale, Handle Returns and Cash In.With these, we must now create the use case descriptions. Let us say for now that we only have the use case process sale. Here is the use case description for that use case:
i. Customer arrives at a checkout ii. Cashier starts a new sale ( makeNewSale() ) iii. Cashier enters item ID ( enterItem(itemID, quantity) ) iv. System presents total amount with taxes calculated ( Description,
total and total() ) v. Cashier tells customer the total and asks for payment
(acknowledgements) ( endSale() ) vi. Customer pays up and the system handles payment
( makePayment() and Change / Receipt )
Solution:
1. Start starUML
2. Select Empty project
3. Create a model go to Model add Model
4. Select sequence diagram from Model add Diagram
5. The main actor here is the cahier, mainly also because they are the only ones
that can use the “handle payment” use case. So the SSD would be as follows:
ISC 480 IS Development P a g e | 27
cashier system
1 : makeNewSale()
2 : enterItem()
3 : Description, quantity()
4 : endsale()
5 : total()
6 : makePayment()
7 : change due, receipt()
EX2:
Draw Sequence diagram for student registration process in optimistic scenario.
Solution:
1. Start starUML and Select Empty project
2. Create a model go to Model add Model
3. Select sequence diagram from Model add Diagram
student registration system student DB
1 : login() 2 : check()
3 : valid()4 : Registration page()
5 : select course()
6 : check status()
7 : valid()
8 : confirm()
5. Laboratory Exercises Draw sequence Diagram for EX1,EX2 and EX3 in Laboratory #3 – Use Case Diagram
ISC 480 IS Development P a g e | 28
Laboratory #5 – Activity Diagram
1. Laboratory Objective
The objective of this laboratory is to have practice in drawing Activity diagram.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Know main component of Activity diagram b. Use staruml to create a add Activity diagram to a model c. Translate the English text into Activity diagram
3. Laboratory Introductory Concepts Definition: is basically a flowchart to represent the flow from one activity to
another activity. Theactivity can be described as an operation of the system. The control flow is drawn from one operation to another.
Why we use sequence diagram
1. Demonstrate the logic of an algorithm. 2. Describe the steps performed in a UML use case. 3. Illustrate a business process or workflow between users and the system. 4. Simplify and improve any process by clarifying complicated use cases.
5. Model software architecture elements, such as method, function, and operation.
Activity Diagram Components
Some of the most common components of an activity diagram include:
1. Actions - a step in the activity wherein the users or software perform a given task. 2. Decision node - a conditional branch in the flow that is represented with a
diamond. It includes a single input and two or more outputs. 3. Control flows - this is another name for the connectors that show the flow between
steps in the diagram. 4. Start node - symbolizes the beginning of the activity. This is represented with a
black circle. 5. End node - represents the final step in the activity. It's modeled with an outlined
black circle.
4. Laboratory Problem Description
In this laboratory you are required to draw Activity diagram for the following:
ISC 480 IS Development P a g e | 29
EX1: Activity Diagram Airline Reservation System
The first example shows the process of reserving a flight. First, you enter the dates. Once you submit your desired flight plan, you can enter your personal information and at the same time the system could be searching availability. The system flow then joins back into one and you can select the specific flight on the dates you want to fly. This activity diagram gives you two different paths dependent on whether you are using reward points. After entering payment information, the system performs two processes at the same time and then sends out a confirmation email.
Solution:
1. Start starUML and Select Empty project
2. Create a model go to Model add Model
3. Select Activity diagram from Model add Diagram
ISC 480 IS Development P a g e | 30
EX2: Activity Diagram Library System checking out a book from your local library.
Solution:
1. Start StarUML and Select Empty project
2. Create a model go to Model add Model
3. Select Activity diagram from Model add Diagram
ISC 480 IS Development P a g e | 31
5. Laboratory Exercises
Ex1: Activity Diagram for Login
Create an activity diagram for simple login process. When you enter a name and password, the system checks to see if the unique pairing is correct. If it is, the system allows you to login. If not, you're prompted to re-enter your information.
Ex2: Activity Diagram for Course Registration System
Create an activity diagram for class registration process for a client. This diagram uses notes to give more details about the initial and final states. After filling out the registration form, the client submits the form to a validation loop that is represented as a decision in the flow. If the information is correct, the system creates an account for the client and lets the client know about the creation of the account.
ISC 480 IS Development P a g e | 32
Laboratory #6 – State Machine diagram
1. Laboratory Objective
The objective of this laboratory is to introduce how to draw Finite state machine in StarUML
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Know main component of FSM diagram b. Use StarUML to create a add FSM diagram to a model c. Know when machine completely specified
d. Know when machine fully connected
e. Know when machine strongly connected
f. Know when machine deterministic
3. Laboratory Introductory Concepts
Definition A finite-state automaton, finite automaton, or simply a state machine, is a mathematical model of computation. It is an abstract machine that can be in exactly one of a finitenumber of states at any given time.
State Machine Components
1. A state machine can be described as:
2. An initial state or record of something stored someplace
3. A set of possible input events
4. A set of new states that may result from the input
5. A set of possible actions or output events that result from a new state
4. Laboratory Problem Description
Given the following tabular representation
S1 S2 S3
S1 - a/0 b/0
S2 a/1 P: b/1 ~P: b/0
S3 Td=10 - /1 a/1 b/1
ISC 480 IS Development P a g e | 33
a. Draw the equivalent graphical representation
Solution:
1. Start StarUML and Select Empty project
2. Create a model go to Model add Model
3. Select State Machine diagram from Model add Diagram
S1 S2
S3
b/0
a/0
a/1
p: b/1
P: b/0
Td=10 -/1 a/1
b/1
b. What is the set of inputs? a,b
c. What is the set of outputs? 0,1
d. List the predicates. P
e. Is this machine completely specified? Why
Yes, FMS is able to react to every to every input at every state
f. Is this machine fully connected?
Yes
g. Is this machine strongly connected? Why?
Yes, we can reach other state by executing one transition
h. Is the machine deterministic? Why?
No, the reaction to an input b in S2 is not unique
i. What is the meaning of Td=10 - /1 in the table?
If at state S3, no input is present within 10 time unit the system should go to S1 and deliver an output of 1
j. Add to the specification the fact that a variable V is incremented by two for every
continuous 5 seconds we remain at S2 without receiving any input.
ISC 480 IS Development P a g e | 34
Td = 5 -/v+2 k. Add to the tabular specification the fact that a variable V is incremented by one every
time the self loop at state S3 is executed.
At S3 add v++
5. Laboratory Exercises
EX1: Draw the equivalent graphical representation for the given the following tabular
specification of an extended finite state machine:
S1 S2 S3
S1 Td=5 - /1 a/0 b/0
S2 a/1 P: b/1 ~P: b/0
S3 c/0 a/1 a/1
a. What is the set of inputs?
b. What is the set of outputs?
c. List the predicates.
d. Is this machine completely specified? Why
e. Is this machine fully connected?
f. Is this machine strongly connected? Why?
g. Is the machine deterministic? Why?
h. What is the meaning of Td=5 - /1 in the table?
i. Add to the specification the fact that a variable V is incremented by two for every
continuous 5 seconds we remain at S2 without receiving any input.
j. Add to the tabular specification the fact that a variable V is incremented by one every
time the self-loop at state S3 is executed.
ISC 480 IS Development P a g e | 35
Laboratory #7 – High Level Design
1. Laboratory Objective
The objective of this laboratory is to introduce HLD in StarUML.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to Know levels of intermodal coupling
3. Laboratory Introductory Concepts
A software module, as a black box, is an abstraction of the control and data flows that
exist inside it. Specification is an abstraction of the design, and the design as an
abstraction of the implementation.
High level architectural design
Very important for meeting the non-functional requirements and enforcing good design
properties
Interconnected modules
o Fan in, fan out, height, width
o Inter-module coupling
o Intra-module cohesion
Levels of intermodal coupling are:
• Data coupling: M1 is passing the necessary data to M2 • Stamp coupling: M1 is passing a data structure to M2 - not all of its content is needed • Control coupling: M1 is passing a flag to M2 – flag controls the execution inside M2 • Common coupling: M1 and M2 have indirect relationship • Content coupling: M1 jumps inside M2 (go to in some programming languages)
ISC 480 IS Development P a g e | 36
4. Laboratory Problem Description
Given the following pseudocode:
M1(string message) { print message in errorFile;}
M2() { value = M3() ; if value == 0 then call M4(); read from fileA}
Int M3() { call M5(); call M6(flag); read from FileC; return value; }
M4() { read from FileC; call M7(); }
M5() { call M1(“error 1”); read from FileB; write into FileC; }
M6(Boolean flag) { if flag==true call M1(“error 2”); else call M8(r2); }
M7() { call M1(“error 3”); read record from FileA; call M8(record); write into fileA; }
M8(studentrecord r) {print r.name and r.number};
a. Draw the high level design hierarchy.
What is?
The height of the design 4
The width of the design 3
The highest fan in? Which module? M1,3
The highest fan out? Which module? M2, M3, M6,M7,2
M1 M8 Error File
M3 M4
M2 File A
M5
File
C
File
B
M6 M7 File
A
ISC 480 IS Development P a g e | 37
b. What is the coupling among modules?
M1 M2 M3 M4 M5 M6 M7 M8
M1 X
M2 X NC NC Common
M3 X Common Common Control
M4 Common X Common NC
M5 Data Common Common X
M6 Data X Stamp
M7 Data Common X Stamp
M8 X
5. Laboratory Exercises
Given the following pseudocode:
M1 () { write into file B; } M2(int x) { …; print x; …; } M3() { write into file A } M4(Record StudentRecord) { print Student Number; call M1(); } M5() { int = 0; call M2(0); } M6() { call M1(); } M7() { call M4(CompleteStudentRecord); call M5(); go to L1;} M8(Boolean x) { if ( x== true) call M9() ; else call M6(); call M11(); write into file B; } M9() { call M3() ; call M1(); } M10() { call M8(Boolean flag); call M7(); } M11() { …L1: write to file C; }
a. Draw the high level design hierarchy.
What is?
The height of the design
The width of the design
The highest fan in ? which module?
The highest fan out ? which module?
ISC 480 IS Development P a g e | 38
b. What is the coupling among modules?
From - to M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11
M1
M2
M3
M4
M5
M6
M7
M8
M9
M10
M11
ISC 480 IS Development P a g e | 39
Laboratory #8 – Data Flow Diagram
1. Laboratory Objective
The objective of this laboratory is to introduce Data Flow Design.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Know type of DFD
b. Know DFD components
c. Develop context level
d. Develop level 0 and level 1 of DFD
3. Laboratory Introductory Concepts
Definition A chart which shows the breakdown of a system to its lowest manageable levels. They are used in structured programming to arrange program modules into a tree. Each module is represented by a box, which contains the module's name.
Data Flow Diagram
Data flow diagram is graphical representation of flow of data in an information system. It is
capable of depicting incoming data flow, outgoing data flow and stored data.
Types of DFD
Data Flow Diagrams are either Logical or Physical.
Logical DFD - This type of DFD concentrates on the system process, and flow of data
in the system.For example in a Banking software system, how data is moved between
different entities.
Physical DFD - This type of DFD shows how the data flow is actually implemented in
the system. It is more specific and close to the implementation.
DFD Components
DFD can represent Source, destination, storage and flow of data using the following set of
components.
ISC 480 IS Development P a g e | 40
Entities - Entities are source and destination of information data. Entities are
represented by a rectangles with their respective names.
Process - Activities and action taken on the data are represented by Circle or Round-
edged rectangles.
Data Storage - There are two variants of data storage - it can either be represented as
a rectangle with absence of both smaller sides or as an open-sided rectangle with only
one side missing.
Data Flow - Movement of data is shown by pointed arrows. Data movement is shown
from the base of arrow as its source towards head of the arrow as destination.
Levels of DFD
Level 0 - Highest abstraction level DFD is known as Level 0 DFD, which depicts the
entire information system as one diagram concealing all the underlying details. Level 0
DFDs are also known as context level DFDs.
Level 1 - The Level 0 DFD is broken down into more specific, Level 1 DFD. Level 1
DFD depicts basic modules in the system and flow of data among various modules.
Level 1 DFD also mentions basic processes and sources of information.
ISC 480 IS Development P a g e | 41
Level 2 - At this level, DFD shows how data flows inside the modules mentioned in
Level 1.
Higher level DFDs can be transformed into more specific lower level DFDs with deeper
level of understanding unless the desired level of specification is achieved.
Structure Charts
Structure chart is a chart derived from Data Flow Diagram. It represents the system in
more detail than DFD. It breaks down the entire system into lowest functional modules,
describes functions and sub-functions of each module of the system to a greater detail
than DFD.
Structure chart represents hierarchical structure of modules. At each layer a specific task
is performed.
Here are the symbols used in construction of structure charts: Module - It represents process or subroutine or task. A control module branches to
more than one sub-module. Library Modules are re-usable and invokable from any module.
ISC 480 IS Development P a g e | 42
Condition - It is represented by small diamond at the base of module. It depicts that control module can select any of sub-routine based on some condition.
Jump - An arrow is shown pointing inside the module to depict that the control will jump
in the middle of the sub-module.
Loop - A curved arrow represents loop in the module. All sub-modules covered by loop
repeat execution of module.
Data flow - A directed arrow with empty circle at the end represents data flow.
ISC 480 IS Development P a g e | 43
Control flow - A directed arrow with filled circle at the end represents control flow.
4. Laboratory Problem Description
The Food Ordering System Example
A context diagram is a data flow diagram that only shows the top level, otherwise known as Level 0. At this level, there is only one visible process node that represents the functions of a complete system in regards to how it interacts with external entities. Some of the benefits of a Context Diagram are:
1. Shows the overview of the boundaries of a system 2. No technical knowledge is required to understand with the simple notation 3. Simple to draw, amend and elaborate as its limited notation
The figure below shows a context Data Flow Diagram that is drawn for a Food Ordering System. It contains a process (shape) that represents the system to model, in this case, the "Food Ordering System". It also shows the participants who will interact with the system, called the external entities. In this example, Supplier, Kitchen, Manager and Customer are the entities who will interact with the system. In between the process and the external entities, there are data flow (connectors) that indicate the existence of information exchange between the entities and the system.
ISC 480 IS Development P a g e | 44
Context DFD is the entrance of a data flow model. It contains one and only one process and does not show any data store.
Level 1 DFD
The figure below shows the level 1 DFD, which is the decomposition (i.e. break down) of the Food Ordering System process shown in the context DFD. Read through the diagram and then we will introduce some of the key concepts based on this diagram.
The Food Order System Data Flow Diagram example contains three processes, four external entities and two data stores.
ISC 480 IS Development P a g e | 45
Based on the diagram, we know that a Customer can place an Order. The Order Food process receives the Order, forwards it to the Kitchen, store it in the Order data store, and store the updated Inventory details in the Inventory data store. The process also deliver a Bill to the Customer.
Manager can receive Reports through the Generate Reports process, which takes Inventory details and Orders as input from the Inventory and Order data store respectively.
Manager can also initiate the Order Inventory process by providing Inventory order. The process forwards the Inventory order to the Supplier and stores the updated Inventory details in the Inventory data store.
5. Laboratory Exercises
EX1: Given the following English specification for a Web-based order processing system
for a computer store. “A new user can connect to the company’s web page and create a new customer profile by providing personal information. This information will be validated and saved in a customer information file at the company’ s server. The user is then provided with a user id and password via an email sent by the system. Using the provided password, the user can then logon to the system and place an order. The user can also delete or update an order within a certain time after placing the order. In all cases, the system will verify the transaction and act accordingly. If the transaction is not allowed (e.g., deleting after the deadline) the user is informed. Before accepting the transaction, the system checks the customer information file for credit check and the inventory file for availability. If the ordered item is not available, the system will ask the user whether to keep the order in a back order file, otherwise the order is discarded. If the product is available, the inventory and customer information files are updated accordingly. The ordered product is delivered along with a bill, and the accounting file is updated. Once the payment is received, the accounting file and the customer information files are updated accordingly. From time to time, the system administrator send emails to customers informing them about special deals …”. Draw Data Flow Diagrams at all levels.
ISC 480 IS Development P a g e | 46
Laboratory #9 – Class Diagram
1. Laboratory Objective
The objective of this laboratory is to introduce how to draw class diagram in StarUML
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Know main component of Class diagram b. Use staruml to create a add Class diagram to a model c. Translate the English text into Class diagram
3. Laboratory Introductory Concepts
Definition: is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects. Class Diagram Components
Classes - a template for creating objects and implementing behavior in a system. In UML, a class represents an object or a set of objects that share a common structure and behavior. They're represented with a rectangle that includes rows of the class name, its attributes, and its operations. When drawing a class diagram on a class diagram, only the top row must be filled out—the others are optional if you'd like to provide more detail. Name - the first row in a class shape. Attributes - the second row in a class shape. Each attribute of the class is displayed on a separate line. Methods - the third row in a class shape. Also known as operations, these are displayed in list format with each operation on its own line. Signals - symbols that represent one-way, asynchronous communications between active objects. Data types - classifiers that define data values. Data types can model both primitive types and enumerations. Packages - this containing shape is designed to organize related classifiers in a diagram. It is symbolized with a large tabbed rectangle shape. Interfaces - similar to a class, except that a class can have an instance of its type, and an interface must have at least one class to implement it. Enumerations - representations of user-defined data types. An enumeration includes groups of identifiers that represent values of the enumeration. Objects - instances of a class or classes. Objects can be added to a class diagram when representing either concrete or prototypical instances. Artifacts - model elements that represent the concrete entities in a software system, such as documents, databases, executable files, software components, and so on.
ISC 480 IS Development P a g e | 47
Interactions - a term for the various relationships and links that can exist in class and object diagrams. Some of the most common interactions include: Inheritance - also known as generalization, this is the process of a child or sub-class taking on the functionality of a parent or superclass. It's symbolized by a straight connected line with a closed arrowhead pointing towards the superclass. Bidirectional association - the default relationship between two classes; both classes are aware of each other and their relationship with the other. This association is represented by a straight line between two classes. Unidirectional association - a slightly less common relationship between two classes; one class is aware of the other and interacts with it. Unidirectional association is modeled with a straight connecting line that points an open arrowhead from the knowing class to the known class.
Why use class diagram
1. Illustrate data models for information systems. 2. Understand the general overview of an application's schematics. 3. Express the needs of a system and disseminate that information throughout the
business. 4. Create detailed charts that focus on the programming code needed to implement the
described structure. 5. Provide an implementation-independent description of types used in a system and
passed between its components.
ISC 480 IS Development P a g e | 48
4. Laboratory Problem Description
In this laboratory you are required to draw class diagram for Class Diagrams for a Login Page
Solution:
4. Start StarUML and Select Empty project
5. Create a model go to Model add Model
6. Select Activity diagram from Model add Diagram
ISC 480 IS Development P a g e | 49
Draw Class Diagrams for an Airline Reservation System
Solution:
1. Start StarUML and Select Empty project
2. Create a model go to Model add Model
3. Select Activity diagram from Model add Diagram
ISC 480 IS Development P a g e | 50
5. Laboratory Exercises
EX1: Draw a Class Diagrams for Online Shopping Systems
EX2: Class Diagram for a Hotel Management System
ISC 480 IS Development P a g e | 51
Laboratory #10 – Introduction to MS Project
1. Laboratory Objective
The objective of this introductory laboratory is to introduce MS Project.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to: a. Learn how to start new sheet in MS Project b. Learn how to create a Task List c. Learn how to add Start and Finish Dates to Each Task d. Learn how to add Tasks to the Timeline e. Learn how to Set Up Resources in Microsoft Project
3. Laboratory Introductory Concepts
1. Create a Task List
You’ll need to build a list of required tasks. While building the list, try to prioritize them in the
order they need to be completed. To get started, open Microsoft Project, click Blank Project,
and type each task into a cell under Task Name.
ISC 480 IS Development P a g e | 52
2. Add Start and Finish Dates to Each Task
To enter start and end dates, click the Start cell that corresponds to the first task and enter a date
(if you click the down arrow in the cell, a calendar will appear and you can use that to select a
date). Then tab over to the Finish row and enter an end date. Microsoft will automatically enter the
amount of time it will take to complete the task in the Duration row. You’ll notice that as you add
the dates, bar charts will be added to the timeline in the right-hand pane.
ISC 480 IS Development P a g e | 53
3. Add Tasks to the Timeline
To add tasks to the Timeline, click the View tab and click the Timeline bar that appears above the
task list. Then right-click on a Task cell and choose Add to Timeline from the list and click it to add
the task to the timeline.
ISC 480 IS Development P a g e | 54
4. How to Set Up Resources in Microsoft Project
Now that you have the basic structure for your project, we’re going to add the resources you need
to get the job done. The term “resources” typically refers to people, but can also mean
documentation or a certain type of work that will be needed to complete the project.
ISC 480 IS Development P a g e | 55
a. Open the Resource Sheet
From the View tab, click Resource Sheet. The Resource Sheet will appear on the screen.
b. Add Resources
Type the name of the resource needed in the Resource Name field and complete the remainder of
the information: Type, Material (if it’s a material), Initials, Max (max amount of time), Standard
Rate, Overtime, Cost/Use, Accrue, Base, and Code.
ISC 480 IS Development P a g e | 56
4. Laboratory Problem Description
Use MS Project to create the following task table:
5. Laboratory Exercises
Each group is required to think of a project and set up the task with duration and required
resourses using MS Project.
ISC 480 IS Development P a g e | 57
Laboratory #11 – PERT and Gantt charts
1. Laboratory Objective
The objective of this introductory laboratory is to introduce some of root finding methods build in MATLAB.
2. Laboratory Learning Outcomes: After conducting this laboratory students will be able to:
a. Learn how to create the Gantt chart b. Learn how to create the PERT chart
c. Learn how to Schedule Tasks Automatically or Manually
3. Laboratory Introductory Concepts
Once you have a list of resources for your project, you’ll want to assign tasks. This will help you
better manage the project and get work done in a specific time period. One of the benefits of MS
Project is that it can calculate how long it will take a person to complete the task based on their
availability. If it’s a particularly important part of the project that needs to be done quickly, you can
assign multiple people to it and Microsoft Project will decrease the time it takes to complete the
task based on how many resources are assigned. This also lets the people assigned to the project
know how much time is required of them.
1. Switch to the Gantt chart
To assign tasks, you’ll need to switch to the Gantt chart. Click the Gantt chart icon in top left corner
of the window.
2. Open the Task Form
You should still be in the View tab. Click the Details box in the ribbon. The Task Form should
appear on the lower half of the screen. If it doesn’t appear, click the down arrow in the Details box
and select Task Form.
ISC 480 IS Development P a g e | 58
3. Select a Task to Assign
Click a task in the Gantt chart view and it will appear in the Name section of the Task Form. Click
the box under Resource Name and choose a resource from the drop-down menu. Then click OK.
ISC 480 IS Development P a g e | 59
You can add another person to the same task by clicking the area under Resource Name and
choosing the name you want. Click OK. As you assign tasks, the amount of time will be added to
the Gantt chart.
Repeat steps to assign all the tasks.
ISC 480 IS Development P a g e | 60
How to Schedule Tasks Automatically or Manually
With Microsoft Project 2016 you can schedule tasks manually or automatically. When you opt to
manually schedule tasks it’s up to you schedule all new tasks and track them to ensure they are
being completed on time. If you choose Automatic scheduling, Project will schedule tasks based
on dependencies, calendars, and constraints among other things. The default option when
creating tasks is to schedule them manually, so we’ll show you here how to change the setting to
automatic.
1. Access Microsoft Project Settings
Click File on the menu bar and choose Options (it’s the last choice in the left column). Click Edit
project settings.
2. Change Schedule Options
When the Project Options form appears on the screen, click Schedule in the left column.
ISC 480 IS Development P a g e | 61
Next, under Scheduling Options for this Project section, click the drop-down menu for New Tasks
Created. The default is set to Manually Scheduled. Select and click Auto Scheduledand click
the OK button.
ISC 480 IS Development P a g e | 62
How to Create Task Dependencies
Dependencies occur when one task can’t move on to the next phase until a particular task is
completed before it. Creating dependencies involves linking tasks in the Gantt chart view. In
Microsoft Project, you can link any two tasks. Once tasks are linked, every change made to the
predecessor affects the successor.
1. Switch to Gantt Chart View
You should still be in the Gantt chart view. If you’re not, click the Gantt chart icon in top left corner
of the window.
2. Select Tasks to Link
Click the Task tab in the menu bar. Identify the two tasks in the list that you want to link. Click the
ISC 480 IS Development P a g e | 63
first task and press and hold the Ctrl key and select the second task. Click the chain icon in the
ribbon to link the tasks. You’ll see an arrow appear on the Gantt chart that connects the items.
Generate a Cost Report in Microsoft Project 2016
Once you’ve entered time and resources information to the best of your ability, you can use
Project to run a Cost Overview report. Here’s how to create a Resource Cost Overview report:
1. Select the Report Tab
Click the Report tab to get a quick overview of the reports you can run.
2. Choose a Cost Report to Run
Click the arrow below Costs in the ribbon and click Resource Cost Overview.
ISC 480 IS Development P a g e | 64
A report like the one below will be generated.
4. Laboratory Problem Description In this laboratory you are requied to draw Gantt and PERT chart for the following:
Task No Task
Time
(weeks) Predecessors
1 Collect requirements 3
2 Analyze processes 2 1
3 Analyze data 2 2
4 Design processes 6 2
5 Design data 3 3
6 Design screens 2 3,4
7 Design reports 4 4,5
8 Program 5 6,7
ISC 480 IS Development P a g e | 65
9 Test and Document 7 7
10 Install 2 8,9
5. Laboratory Exercises
Given the information provided below and the Gantt chart layout provided, you are to construct
a PERT and Gantt chart, with overlaps as specified.
Task Task Description
Predecessor
Duration
(months)
A Train project team None 1
B Project paperwork and systems design A 2 ½
C Modify purchased package B 2
D Manual systems flow B 1 ½
E Modify in-house procedures B 4
F Test and implement modifications to purchased package C 1 ½
G Test and implement manual D ¾
H Test and implement modifications to in-house procedures E 1
Appendix A: Rules to fallow by Computer Lab Users
The loud conversations / discussion that disturbing the other users is prohibited.
Audio CDs or applications with audio output may only be used with headphones with minimum
volume that it should not be disturb other users.
All cell phones are to be turned off or set to silent while in the lab. If you receive a phone call,
you should exit the lab before answering your cell phone.
Do not bring food or beverages inside the lab.
Any file saved on the computer hard drive will be deleted without notice. Students should save
their work onto an external storage device such as USB drive or CD.
Changing hardware and software configurations in the computer labs is prohibited. This includes
modifications of the settings, modification of system software, unplugging equipment, etc.
Open labs are reserved for academic use only. Use of lab computers for other purposes, such as
personal email, non-academic printing, instant messaging, playing games, and listening to music
is not permitted.
Please leave the computer bench ready for the next patron. Leave the monitor on the login
screen, and do not forget to take goods related to you. While leaving computer bench please push
the chair inside the computer bench.
Users are responsible for their own personal belongings and equipment. Do not leave anything in
the Computer Lab unattended for any length of time. The Computer Labs staffs are not
responsible for lost or stolen items.
Users are not allowed to clear paper jams in the printer by themselves.
Operate the lab equipments with care.
After using white-board the user must clean for other user.
Thanks for your cooperation.
Information Science Department
ISC 480 IS Development P a g e | 67
Appendix B: Endorsement
LABORARTORY MANUAL FOR
ISC 480 IS Development
# Instructor name Remarks Signature Date
1 Prof. Kassem Saleh
2 Prof. Jehad AlDallal
3 Dr. Kalim AlQurashi
4 Latifa Al-Dhafeeri
ISC 480 IS Development P a g e | 68
References:
1- http://staruml.io/download
2- http://staruml.sourceforge.net/
3- https://www.smartsheet.com/
4- https://www.lucidchart.com
5- https://www.tutorialspoint.com
6- https://www.project-tutorial.com/