Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 111

2022-Spring ITSE Lab Manual Software Engineering

LAB # 1
Deep Understanding about Software Flowchart
using Microsoft Visio

Theory
Flowcharts
A flowchart is a graphical or symbolic representation of an algorithm. They are used to
design and develop complex programs to help the users to visualize the logic of the
program so that they can gain a better understanding of the program and find flaws,
bottlenecks, and other less-obvious features within it. Basically, a flowchart depicts the
“flow” of a program. The following table shows the symbols used in flowchart along with
its descriptions System software: Helps run the computer hardware and computer system
itself. System software includes operating systems, device drivers, diagnostic tools and
more. System software is usually pre-installed on your computer.

Advantages of Flowcharts
Flowcharts help programmers to understand the logic of complicated and lengthy
problems. They help to analyze the problem in a more effective manner. Flowchart can
be used to debug programs that have errors. A flowchart is a diagrammatic representation
that illustrates the sequence of steps that must be performed to solve a problem. They are
usually drawn in the early stages of formulating computer solutions to facilitate
communication between programmers and business people.

Flowchart Shapes Representation


When you open the Basic Flowchart template, the basic flowchart shapes stencil opens
too. Each shape on the stencil represents a different kind of step in a process. However,
there is no standard, universal meaning for the shapes, any shape can carry whatever
meaning is agreed on by the people who will create and read the flowcharts. Most
flowcharts tend to use only three or four of the shapes, unless there is a clear business
reason to use more.
Visio shapes have names that suggest their most common uses. Here are some of the
most common shapes:

Start/End:Use this shape for the first and last step of your process.
2022-Spring ITSE Lab Manual Software Engineering

Process: This shape represents a typical step in your process. This is the most frequently
used shape in almost every process.

Decision: This shape indicates a point where the outcome of a decision dictates the next
step. There can be multiple outcomes, but often there are just two — yes and no.

Subprocess:Use this shape for a set of steps that combine to create a sub-process that is
defined elsewhere, often on another page of the same document. This is useful if the
diagram is very long and complex.

Document: This shape represents a step that results in a document.

Data: This shape indicates that information is coming into the process from outside, or
leaving the process. This shape can also be used to represent materials and is sometimes
called an Input/output shape.

Steps of using Visio:


Click the File tab, then Click New, click Flowchart, and then under Available
Templates, click Basic Flowchart.
2022-Spring ITSE Lab Manual Software Engineering
2022-Spring ITSE Lab Manual Software Engineering
2022-Spring ITSE Lab Manual Software Engineering

Drag a flowchart shape onto your drawing.


2022-Spring ITSE Lab Manual Software Engineering

Connect one shape to many from a single connection point:

By default, connectors are set to Right-Angle so that if you connect a single point on one
shape to three other shapes it will look like the figure below.

To have each connector radiate straight from the central point on the first shape to points
on each of the other shapes you need to set the connectors to Straight Connector as shown
in the following figure.
2022-Spring ITSE Lab Manual Software Engineering

 On the Home tab, in the Tools group, click Connector.


 For each shape you want to connect to, drag from the same connection point on
the first shape to a connection point on each of the other shapes.
 Right-click each connector and click Straight Connector.

Exercise

1. Draw a flowchart to add two numbers entered by user with the help of MS Visio
tool.
2. Draw a flowchart to show basic business process like the proposal development
process. Firstly, team members suggest a project then participants decide that if
it’s a good idea or not, if team rejects the idea then create further important
information and if agrees then create further important information.
3. Draw a flowchart for Registration Form (or signup page). Mention all necessary
fields to complete your registration.
2022-Spring ITSE Lab Manual Software Engineering

Lab#2
Creating Gantt Chart and PERT Chart using MS
Project

Introduction about Microsoft Project


Microsoft Project is a project management software program, developed and sold by Microsoft,
which is designed to assist a project manager in developing a plan, assigning resources to
tasks, tracking progress, managing the budget, and analyzing workloads. Microsoft Project
can be used in a variety of industries including construction, manufacturing,
pharmaceuticals, government, retail, financial services and health care.

Microsoft Project is a software application sold by Microsoft that provides project


management tools to manage projects. The program, which has many different versions,
allows users to:

 Understand and control project schedules and finances.


 Communicate and present project information.
 Organize work and people to make sure that projects are completed on schedule.

Features

Project creates budgets based on assignment work and resource rates. As resources are
assigned to tasks and assignment work estimated, the program calculates the cost, equal
to the work times the rate, which rolls up to the task level and then to any summary tasks
and finally to the project level. Resource definitions (people, equipment and materials)
can be shared between projects using a shared resource pool. Each resource can have its
own calendar, which defines what days and shifts a resource is available. Resource rates
are used to calculate resource assignment costs which are rolled up and summarized at
the resource level. Each resource can be assigned to multiple tasks in multiple plans and
each task can be assigned multiple resources, and the application schedules task work
based on the resource availability as defined in the resource calendars. All resources can
be defined in label without limit. Therefore, it cannot determine how many finished
products can be produced with a given amount of raw materials. This makes Microsoft
Project unsuitable for solving problems of available materials constrained production.
Additional software is necessary to manage a complex facility that produces physical
goods.

The application creates critical path schedules, and critical chain and event chain
methodology third-party add-ons also are available. Schedules can be resource leveled,
and chains are visualized in a Gantt chart. Additionally, Microsoft Project can recognize
different classes of users. These different classes of users can have differing access levels
2022-Spring ITSE Lab Manual Software Engineering

to projects, views, and other data. Custom objects such as calendars, views, tables, filters
and fields are stored in an enterprise global which is shared by all users.

Introduction about Gantt Chart

A Gantt chart, commonly used in project management, is one of the most popular and
useful ways of showing activities (tasks or events) displayed against time. On the left of
the chart is a list of the activities and along the top is a suitable time scale. Each activity
is represented by a bar; the position and length of the bar reflects the start date, duration
and end date of the activity.

A Gantt chart is a type of bar chart, developed by Henry Gantt in the 1910s, that illustrates a
project schedule. Gantt charts illustrate the start and finish dates of the terminal elements
and summary elements of a project. Terminal elements and summary elements comprise
the work breakdown structure of the project. Modern Gantt charts also show the dependencyi.e.
precedence network relationships between activities.

This allows you to see at a glance:

 What the various activities are


 When each activity begins and ends
 How long each activity is scheduled to last
 Where activities overlap with other activities, and by how much
 The start and end date of the whole project

To summarize, a Gantt chart shows you what has to be done (the activities) and when
(the schedule).

Sample of Gantt chart

Introduction about Network Diagram


The Network Diagram view was called the PERT Chart in earlier versions of Project.
This view shows the dependencies between tasks in a graphical manner. Gantt chart is
primarily meant to view the schedule time line, whereas Network diagram to view the all
type of dependencies in the project.

Each task shown in the box called node and a line connecting two boxes represents the
dependency between those tasks.
2022-Spring ITSE Lab Manual Software Engineering

You can also create new tasks in the Network Diagram. It’s always easy to manage the
tasks from Gantt chart view, but if you are concerns on view the dependencies instantly
while you creating the tasks, Network Diagram will be the right one.

Network Diagram also can display a record of progress:

 If the task is completed, the task node shows cross diagonal lines
 If the task is in progress but not completed, a single diagonal line draw through
node
 No diagonal line appears in tasks that are not yet started

Sample of Network Diagram

Create Gantt chart and Network Diagram


Gantt Chart
1. Adding tasks and milestones to a Project File

 On the View menu, click Gantt Chart.


 In the Task Name field, type a task name, and then press TAB. (Microsoft Project
enters an estimated duration of one day for the task followed by a question mark)
 In the Duration field, type the amount of time each task will take in months,
weeks, days, hours, or minutes, not counting nonworking time. (By default the
time period will be days, but that can be changed to hours, months, etc.)
 Press ENTER. It should look like the figure below:
2022-Spring ITSE Lab Manual Software Engineering

 To add a milestone the only difference is that the duration of the activity must be
zero (below is an example):

Note: By double clicking on a Task or milestone, you can modify its information
with a form that prompts

2. Grouping Tasks in Logical Order


Outlining helps organize your tasks into more manageable chunks. You can indent
related tasks under a more general task, creating a hierarchy. The general tasks are called
summary tasks; the indented tasks below the summary task are subtasks. A summary
task's start and finish dates are determined by the start and finish dates of its earliest and
latest subtasks.

 Click once on the first activity of the group of activities you want to group. For
the example Activities 4and 5

 Then click on the option “New Task” in the “Insert” Menu to insert a new task
that will represent thename of the group (“Group 1” for this example)

 Then select the tasks below (4 and 5) and then click in the option “Indent” in the
“Project

3. Creating Relationships Between Tasks


2022-Spring ITSE Lab Manual Software Engineering

A network of tasks in a project must be connecting activities from the start to the end, to
establish these relationships we need to use the field “Predecessors” of each task, where
we can designate which activity will be preceding the one we are updating, in the
example below we will indicate MS project that “Activity 5” can start once “Activity 4”
is completed (Finish to Start relationship).

Notice that by establishing the relationship now the Group 1 takes 2 days to be
completed, because before, the activities were set to be performed in parallel, and now
they are in series (Finish to Start relationship)

Note: MS project will calculate dates based on the durations of the tasks, their
relationships and the start date set for the project, however it is possible to change the
starting date of a task (if necessary) By double clicking on a Task or milestone, and using
the fields related to the dates (Start or Finish)

4. Assigning Resources to Tasks

You can use the Resource Sheet in Microsoft Project to create a list of the people,
equipment, and material resources that make up your team and carry out the project tasks.
Your resource list will consist of work resources or material resources. Work resources
are people or equipment; material resources are consumable materials or supplies, such as
concrete, wood, or nails.
 On the View menu, click Resource Sheet.
 On the View menu, point to Table, and then click Entry.
 In the Resource Name field, type a resource name.
 You can go through the fields in the sheet, but for the simplicity of the example
just focus on the name and initials of the Resource
 Below is an example of some Human resources added to the Resource Sheet (We
could add also other type of resources such as Equipment, Consumables, etc.)
2022-Spring ITSE Lab Manual Software Engineering

 Once the resources are created, you can go back to the View menu, and click
Gantt Chart to see again the tasks, and then when you double click a task you can
add a resource to this task by using the tab “Resources”

Network Diagram

 Click Gantt chart view and go to the sub options in Gantt Chart
 Click Network diagram

Now let’s try a small example, step by step to practice each of the options we have seen
so far about how to create a project using MS Project. We are going to use a small set of
tasks (Table Below) related to the initial phases of a System Testing Plan (Definition and
Design)

Activity Predecessor Responsibility Effort System Testing


Phase
1.RSD Analysis Requirements  Test Manager 3 days Definition Phase
Specification Document  Project
completed. Manager
(Not part of System  Test Leader
Testing Plan
2. Develop Test Plan Activity 1 •Test Manager 5 days Design Phase
•Test Leader
2022-Spring ITSE Lab Manual Software Engineering

•Tester E
3. Develop Test Design Activity 2 •Tester A and B 8 days Design Phase
Specification
4. Develop Test Case Activity 3 •Tester A and B 5 days Design Phase
Specification
5. Develop Test Activity 4 •Tester A and B 3 days Design Phase
Procedure Specification
6. Develop Test Item Activity 5 •Tester A and B 1 days Design Phase
7. Prepare Tools and Test Activity 6 •Tester A and B 3 days Design Phase
Scripts
8. Review Test Plan and Activity 7 •Test Manager 2 days Design Phase
Attachments •Test Leader
•Tester E
Check that System is Activity 8 •Tester E, A and B 1 days Design Phase
Ready to be tested
10. Add Design Activity 9 •Test Leader 1 days Design Phase
Documents to CMS •Tester E, A and B
(Milestone)

Step by Step Create Gantt Chart of System Testing Plan

Adding Task

 Write the name of each task in the spreadsheet using the column “Task Name”
 Write the duration in days of each task in the spreadsheet using the column
“Duration”
 Group the tasks by the Phase according to the table of tasks shown before, and
add a group that encloses the phases named “System Testing Plan MCY-ADTT-
ST-2002-01” this will represent the plan as a whole
 Write the predecessors of each task in the spreadsheet using the column
“Predecessors” (If you can’t see the column, try to expand the vertical bar that
divides the spreadsheet to the Gantt Chart)
 To convert a Task in a Milestone, just double click the Task and go to the tab
“Advanced” then check the box that says “Mark Task as a Milestone”
2022-Spring ITSE Lab Manual Software Engineering

Grouping

 Insert a new task at the beginning that will group everything. Highlight the tasks
that are going to be added as subtasks and use ‘Indent’ option.

1.1 Insert new task 1.2 Highlight task

The final result should look like this, now repeat this steps to create the Subgroups that
will represent the phases (Definition and Design).
2022-Spring ITSE Lab Manual Software Engineering

1.3 Create Group

 Insert a new task at the beginning of the definition tasks. Highlight the tasks that
are going to be added as subtasks.

2.1 Insert new task 2.2 Highlight task

The final result should look like this, now repeat this steps to create the Subgroup that
will represent the phase “Design
2022-Spring ITSE Lab Manual Software Engineering

2.3 Create Group

 Insert a new task at the beginning of the Design tasks. Highlight the tasks that are
going to be added as subtasks in the design phase and then Click on the option
‘Indent’
2022-Spring ITSE Lab Manual Software Engineering

3.1 Insert new task 3.2 Highlight tasks

The final result should look like this


2022-Spring ITSE Lab Manual Software Engineering

3.3 Create Group

Add Resource:

 Got to the view “Resource Sheet”


 Add the necessary resources to the “Resources Sheet”, we are going to use only
the Name, Initials and Standard Rate in $/hr. The resources are going to be taken
from the table showed at the beginning of the example, more specifically from the
column “Responsibilities”
 Now, with the Resources already register in the project file, go back to the View
“Gantt Chart”

Assign Resources

 Double click the task you want to link to resources available in the “Resource
Sheet”.
2022-Spring ITSE Lab Manual Software Engineering

 Then got to the Tab “Resources” and look up the resources you want to relate to
the activity (For the example let’s keep the amount of effort of each Resources as
100%, Leveling Resources won’t be covered in this tutorial), finally Click the
“Ok” button to finish the assignment.

 Repeat steps one and two for the rest of the tasks.

Insert more Column

 We can show more information, related to the tasks, in the spreadsheet, one
column that might be of general interest is the cost, to do this first perform a Right
2022-Spring ITSE Lab Manual Software Engineering

Click on top of the spread sheet (Specifically In the titles of the Columns), a pop-
up menu should appear showing several options, chose the one that says “Insert
Column”
 2. Then lookup the column named “Cost” and then press the “Ok” button

As explained before, you can add and hide columns from the Spread sheet, this lets you
show exactly what the people needs to see, below is a view with selected fields: Name,
Cost, Duration, Resource initials and Start Date. The reader is welcome to experiment
with this feature and to explore more views that are offered by MS Project, such as
resources usage, cost reports, etc.
2022-Spring ITSE Lab Manual Software Engineering

Exercise

Create Gantt Chart and Network Diagram in Microsoft Project with above mention
projects.
 Social website like (Facebook, Twitteretc.)
 Hospital Management System
 Faculty Management System
2022-Spring ITSE Lab Manual Software Engineering

Lab # 3
Getting familiarized with the
Unified Modeling Language (UML) Environment
Theory

Once the Requirements have been gathered, it is necessary to convert them into an
appropriatedesign. In order to bridge the requirements gathering and design phases, we
use some modelingor specification tool, e.g. the Unified Modeling Language. A
commonly available CASE tool fordesign through UML is the Rational Rose. Given
below is an overview of the various Aspects inwhich development could be done using
Rational Rose.

The Browser

The browser contains a list of all the modeling elements in the current model. The
browsercontains a tree view of all the elements in the current Rose model. Elements in
the tree structureare either compressed or expanded.

The Documentation Window


2022-Spring ITSE Lab Manual Software Engineering

The documentation window may be used to create, review, and modify for any
selectedmodeling element. If nothing is selected, the window displays the string no
selection. Thecontents of the Documentation Window will change as different modeling
elements are selected.

To create the documentation for a selected element, click to select the element and enter
itsdocumentation in the Documentation Window.

The Documentation Window may be docked or floating just like the Browser. Visibility
of thewindow is controlled via the View: Documentation window command.

Diagram Windows

Diagram windows allow you to create and modify graphical views of the current model.
Eachicon on a diagram represents a modeling element. Since diagrams are used to
illustrate multipleviews of a model, each model element can appear in none, one, or
several of a model's diagrams.
2022-Spring ITSE Lab Manual Software Engineering

Views in Rational Rose

There are many views of a software project under development. Rational Rose is
organized around the views of a software project:

1. The Use Case view


2. The Logical view
3. The Component view
4. The Deployment view

Each view presents a different aspect of the visual model. Each view contains a main
diagram by default. Additional elements and diagrams are added to each view throughout
the analysis and design process.

1. The Use Case View

The use case view of the system addresses the understandability and usability of the
system. This view looks at actors and use cases along with their interactions. The
2022-Spring ITSE Lab Manual Software Engineering

diagrams in this view are use case diagrams, sequence diagrams and collaboration
diagrams.

Packages in the Use Case View

Packages in the use case view can contain actors, use cases, sequence diagrams, and/or
collaboration diagrams. To create a package:

1. Right-click on the parent modeling element (use case view or another package) to
make the shortcut menu visible.
2. Select the New: Package menu command. This will add a new package called New
Package to the browser.
3. While the new package is still selected, enter its name.

Once a package is created, modeling elements may be moved to the package. To move a
modeling element to a package:

1. Click to select the modeling element to be relocated.


2. Drag the modeling element to the package.
2. The Logical View
The logical view of the system addresses the functional requirements of the system. This
view looks at classes and their static relationships. It also addresses the dynamic nature of
2022-Spring ITSE Lab Manual Software Engineering

the classes and their interactions. The diagrams in this view are class diagrams and state
transition diagrams.
2.1 Class Diagram
The browser provides a textual view of the classes in a system. Class diagrams are
created to graphically view the classes and packages in the system. Rose automatically
creates a class diagram called Main in the Logical View. This diagram may be opened by
double-clicking on it in the browser. The Main class diagram typically contains packages
thus, by the end of development it is a graphical view of the major architectural elements
of the system. A pack age may be added to a class diagram by selecting it in the browser
and dragging it onto the class diagram.

2.2 State Transition Diagram

State transition diagrams show the life history of a given class, the events that cause a
transition from a state and the actions that result from a state change. They are created for
classes whose objects exhibit significant dynamic behavior.
2022-Spring ITSE Lab Manual Software Engineering

3. The Component View

The component view of the system addresses the software organization of the system.
This view contains information about the software, executable and library components
for the system. This view contains component diagram.

Component Diagram

A component diagram shows the organizations and dependencies among components.


Mostmodels contain many component diagrams. A component is represented as a
rectangle with onesmall ellipse and two small rectangles protruding from its side.
2022-Spring ITSE Lab Manual Software Engineering

Rose automatically creates one component diagram called Main. To create an additional
component diagram:

1. Right-click on the owning package (either the component view itself or a user
createdpackage) to make the shortcut menu visible.
2. Select the New:Component Diagram menu command. This will place a new
componentdiagram called NewDiagram in the browser.
3. While the new diagram is still selected, enter its name.

Rose will automatically add the new diagram to the browser.

To open a component diagram:

Double-click on the diagram in the browser.

To create a component:
1. Click to select the package specification icon from the toolbar.
2. Click on the component diagram to place the component.
3. While the component is still selected, enter its name.
Rose will automatically add the new component to the browser.
2022-Spring ITSE Lab Manual Software Engineering

To create a dependency relationship


1. Click to select the dependency icon from the toolbar.
2. Click on the package or component representing the client.
3. Drag the dependency arrow to the package or component representing the supplier.

4. The Deployment View

The deployment view addresses the configuration of run-time processing nodes and
thecomponents, processes, and objects that live on them. This view contains only one
diagram thedeployment diagram.

Deployment Diagram

The deployment diagram contains nodes and connections. Rose provides two icons that
can be
used to draw a node – the processor and the device. A processor is a node that has
processing
capacity.

To open the deployment diagram


1. Double-click on the Deployment View in the browser.

To create a node
2022-Spring ITSE Lab Manual Software Engineering

1. Click to select the processor icon from the toolbar.


2. Click on the deployment diagram to place the node.
3. While the node is still selected, enter its name.

To create a connection
1. Click to select the connection icon from the toolbar.
2. Click on the node representing the client.
3. Drag the connection line to the node representing the supplier.

EXERCISES
1. Develop the Component Diagram following the specifications given below:
 Create a package called Registration
 Create the main component diagram for the Registration package
 Create three components on the Main component diagram for the Registration
 package – Registrar.exe, Courses.dll and People.dll //Create dummy files for this
purpose
 Create a dependency relationship between
o Registrar.exe and Courses.dll
o Registrar.exe and People.dll
o
Attach printout of the model.
2. Develop the Deployment Diagram following the specifications given below:
Open the deployment diagram.
 Add the following nodes (processors): Registration, Database, Main Building,
Dorm, Library
 Add the connections as shown in the table below

Attach printout of the model here.


2022-Spring ITSE Lab Manual Software Engineering

LAB # 04
Introduction to Rational Rose
OBJECTIVE
 Introduction to Rational Rose Software
 Getting started with Rational Rose and create Use case Diagram with some possible scenario
THEORY
 Modeling is a way of thinking about the problems using models organized around the real world
ideas.
 UML(Unified Modeling Language)is a standard visual modeling language
intended to be used for
o modeling business and similar processes,
o analysis, design, and implementation of software-based systems

Brief Introduction to Rational Rose Development Software


This manual provides introduction and concept tutorial to help you become familiar with Rational Rose
Software. This manual is intended to help you using the main features of the development tool.
ROSE = Rational Object Oriented Software Engineering
Rational Rose is a set of visual modeling tools for development of object oriented software.

Visual Modeling is the process of graphically depicting the system to be developed:


 Presenting essential details
 Filtering out non-essential details
 Viewing the system from different perspective

Modeling can be useful at any point in the application development process.


Initial Design Work (Requirement Analysis and Definition)
 Use Cases
 Class Diagrams
 Sequence Diagram

Rose Enterprise
Supports multiple languages, including VC++, VB,Java, CORBA.

Rose GUI
 Standard ToolBar 
 Diagram ToolBox
 Browser 
 Diagram Window
 Documentation Window
 Specifications
 Log Window

Getting Started with Rational Rose Development Software


Click on Start, Programs, Rational Suit Development, and then on Rational Rose 2000 Enterprise Edition
(not the one that has the arrow next to it).
2022-Spring ITSE Lab Manual Software Engineering

You will now see a window appearing that says “Create New Model”. This is for working with Java,
Oracle, and VB, Just press “Cancel”.
Next you see the main window called “Rational Rose [untitled]” and a smaller window within it called
“Class Diagram: Logic View/ Main”. The First diagram you will be working on is a use case diagram.
Toolbar

The standard toolbar is displayed directly under the menu bar, along the top of the
application window. This toolbar is independent of the open diagram window.

The following icons are available for use on the standard toolbar, independent of the open
diagram window.

Standard Toolbar
Create New Model

Clicking the New File icon creates a new model.

Open Existing Model

Clicking the Open Model icon from the toolbar opens the Load Model dialog box. You
can open a model from anywhere within the design.

Create and Open icons: If you have a model open when you click either the Create or Open icon, you are
asked to save your current model. Clicking No discards all changes since your last save. Clicking Yes saves
your changes and opens a new model, or displays the Load Model dialog box automatically.

Save Model or Log

Clicking the Save Model icon opens the Save Model to dialog box. Enter a new file
name. After the model is named and saved, clicking this icon automatically saves your
changes to the current model without displaying the dialog box. This will also save the
log if the log window is open.

Cut

Clicking the Cut icon removes icons from your model. Element(s) must be selected to
activate the icon. Cutting an element will also cut associated relationships. You can cut
multiple selected items.

Copy

Clicking the Copy icon copies an element to a new location on the same model, or to a
new model, without affecting the original model.
2022-Spring ITSE Lab Manual Software Engineering

Paste

Clicking the Paste icon pastes a previously cut or copied element to the clipboard onto
another location.

Print Diagrams

Clicking the Print icon prints diagrams to the default printer.

Context Sensitive Help

Clicking the Context Sensitive Help icon makes all topics covered in the on-line help
material available. Click on this icon, drag to the item and release the mouse.

View Documentation

Clicking the View Documentation icon displays the documentation window on the
diagram.

Browse Class Diagram

Clicking the Browse Class Diagram icon opens the Select Class Diagram dialog box.

Browse Interaction Diagram

Clicking the Browse Interaction Diagram icon opens the Select Interaction Diagram
dialog box.

Browse Component Diagram

Clicking the Browse Component Diagram icon opens the Select Component Diagram
dialog box.

Browse State Machine Diagram

Clicking the Browse State Machine Diagram icon opens the Select Statechart
Diagram or Activity Diagram dialog box.

Browse Deployment Diagram

Clicking the Browse Deployment Diagram icon opens the Deployment Diagram dialog
box.
2022-Spring ITSE Lab Manual Software Engineering

Browse Use-Case Diagram

Clicking the Browse Use-Case Diagram icon opens the Selected Use Case Diagram
dialog box.

Browse Parent

Clicking the Browse Parent icon displays the "parent" of the selected diagram or
specification. If you have a specification selected, the specification for the parent of the
"named" item is displayed.

Browse Previous Diagram

Clicking the Browse Previous Diagram icon displays the last displayed diagram.

Zoom In

Clicking the Zoom In icon magnifies the current diagram to view an area in detail.

Zoom Out

Clicking the Zoom Out icon minimizes the current diagram allowing you to "pull back"
to view more information.

Fit in Window

Clicking the Fit In Window icon centers and displays any diagram within the limits of
the window. This command changes the zoom factor so that the entire diagram shows.

Undo Fit in Window


Clicking the Undo Fit In Window icon undoes the actions performed on the previous Fit
In Window command.

User Interface for modeling UML diagrams

Diagram Toolbox
Bowser Window

Your Model is Diagram Window


Really in HERE!

Documentation Window
Log Window
2022-Spring ITSE Lab Manual Software Engineering

Basic Use Case Diagram Symbols and Notations


 System 
Draw your system's boundaries using a rectangle that contains use cases. Place actors outside the
system's boundaries.

 UseCase 
Draw use cases using ovals. Label the ovals with verbs that represent the system's functions.

 Actors 
Actors are the users of a system. When one system is the actor of another system, label the actor
system with the actor stereotype.

 Relationships 
Illustrate relationships between an actor and a use case with a simple line. For relationships among use
cases, use arrows labeled either "uses" or "extends." A "uses" relationship indicates that one use case is
needed by another in order to perform a task. An "extends" relationship indicates alternative options
under a certain use case.

Use Case Relationship


 Extends:
Extend is a directed relationship that specifies how and when the behavior defined in usually
supplementary (optional) extending use case can be inserted into the behavior defined in the extended
use case.Extend relationship is shown as a dashed line with an open arrowhead directed from
the extending use case to the extended (base) use case. The arrow is labeled with the
keyword «extend».
2022-Spring ITSE Lab Manual Software Engineering

Registration use case is complete and meaningful on its own.


It could be extended with optional Get Help On Registration use case.

Include:
Use case include is a directed relationship between two use cases which is used to show that behavior of
the included use case (the addition) is inserted into the behavior of the including (the base) use case.
The include relationship could be used:
 to simplify large use case by splitting it into several use cases,
 to extract common parts of the behaviors of two or more use cases.

Checkout use case includes several use cases - Scan Item,


Calculate Total and Tax, and Payment

Example: Bank ATM


 An automated teller machine (ATM) or the automatic banking machine (ABM) is a banking subsystem
(subject) that provides bank customers with access to financial transactions in a public space without
the need for a cashier, clerk, or bank teller.
 Customer (actor) uses bank ATM to Check Balances of his/her bank accounts, Deposit
Funds, Withdraw Cash and/or Transfer Funds (use cases). ATM
Technician provides Maintenance and Repairs. All these use cases also involve Bank actor whether it
is related to customer transactions or to the ATM servicing.
2022-Spring ITSE Lab Manual Software Engineering

Lab Exercise:
 Create Use Case Diagram which relate to a Web site on which customers can
order meals from restaurants.
 Create Website management or administration UML use case diagram, website
administrator actor could manage user groups, users, user sessions, and logs. Help
Desk staff uses a subset of functions available to the Website Administrator.
 Create use case scenario between patient and doctor relationship.
 Create use case diagram of Login scenario. In this scenario, authorized admin and
user duties.
2022-Spring ITSE Lab Manual Software Engineering

Lab # 5
Modeling Use Case Diagram & Sequence Diagram
using Rational Rose
Objective
 An Overview of Modeling Use Case Diagram
 Creating a Use Case Diagram
 Creating a Sequence Diagram using Collaboration Diagram on Rational
Rose
 Steps for creating a Sequence Diagram on Rational Rose

An Overview of Modeling Use Case Diagram

Use-case diagrams present a high-level view of system usage as viewed from an


outsider's (actor's) perspective.

These diagrams show the functionality of a system or a class and how the system
interacts with the outside world.

Use-case diagrams can be used during analysis to capture the system requirements and to
understand how the system should work.

During the design phase, use-case diagrams specify the behavior of the system as
implemented.

Creating a Use Case diagram:

1. In the Window on the left side click on the "+" (plus) sign next to "Use Case
View"
2. In the same window, double click on the icon next to "Main". This will open a
blank Use Case diagram called "Main"

Adding an Actor

1. To create an Actor, click on the stick figure icon located on the toolbar in the
middle of the screen. Then click on the diagram to place the Actor.
2. Open the Actor's specification by right clicking on the Actor (in the diagram) and
select "Specification" from the pop-up menu. Fill in applicable fields. The
specification can also be brought up by double clicking on the actor.

Example: Add an Actor called "Elevator Rider"

Adding a Use Case


2022-Spring ITSE Lab Manual Software Engineering

1. In the toolbar, click on the oval shaped icon then click on the open diagram to
place the use case.
2. Bring up the specification and fill in appropriate fields.

Example: Add a Use Case called "Ride Elevator"

Adding an Association

1. Click on the association icon (a solid line with no arrowheads). Then, click on the
actor first then the use case. An association (line) will be drawn between the two.

NOTE: Adding additional buttons to your toolbar:

Using the Main Menu Bar (top of the screen) follow these steps:

a. Click on "Tools"
b. Click on "Options"
c. Click on the "Toolbars" tab Note that different diagrams have different
toolbars associated with them. You can add/remove buttons for each type
of tools bar.
d. Click on the button with "..." in it next to the name of the diagram toolbar
you want to alter.
e. The window that appears will allow you to add/remove buttons.

Use Case Diagram for Flight Reservation System

Creating a Sequence Diagram using Collaboration Diagram

1. Make sure the Collaboration diagram is the active diagram. (If you've been doing
the examples in order, it should already be active)
2. Hit the "F5" key (the single key labeled 'F5').
2022-Spring ITSE Lab Manual Software Engineering

Rose generates the Sequence diagram based on the Collaboration diagram. The reverse
can be done as well. A Collaboration diagram can be generated from a Sequence diagram
by hitting the 'F5' key.

The sequence diagram looks like this:

Getting familiar with sequence diagram symbols and notations

A sequence diagram in a Unified Modeling Language (UML) is a kind of interaction


diagram that shows how processes operate with one another and in what order.
Sequence diagrams are sometimes called event diagrams, event scenarios, and timing
diagrams.

Basic Sequence Diagram Symbols and Notations


Class roles
Class roles describe the way an object will behave in context. Use the UML object
symbol to illustrate class roles, but don't list object attributes.

Activation
Activation boxes represent the time an object needs to complete a task.
2022-Spring ITSE Lab Manual Software Engineering

Messages
Messages are arrows that represent communication between objects. Use half-arrowed
lines to represent asynchronous messages. Asynchronous messages are sent from an
object that will not wait for a response from the receiver before continuing its tasks.

Lifelines
2022-Spring ITSE Lab Manual Software Engineering

Lifelines are vertical dashed lines that indicate the object's presence over time.

Loops

A repetition or loop within a sequence diagram is depicted as a rectangle. Place the


condition for exiting the loop at the bottom left corner in square brackets [].

Destroying Objects

Objects can be terminated early using an arrow labeled "<< destroy >>" that points to an
X.

Steps for creating a Sequence Diagram on Rational Rose


2022-Spring ITSE Lab Manual Software Engineering
2022-Spring ITSE Lab Manual Software Engineering
2022-Spring ITSE Lab Manual Software Engineering

Exercise:
Q1: Draw a use case diagram of the stated scenario: A user has all the rights of login to
a catalog management website browse the catalog and view products. Similarly, the
administrator of that website has all the rights that a user has but in addition to that
administrator has other rights too that include Logout, create product, edit product
and to delete product. Find out the actors and relation of actor or actors to the use
cases.
Note: Show the relevant association of actors with the use cases.
State the Actors and Use Cases of the above stated scenario and describe briefly the
dependencies between them.

Q2: At the start of each semester a student can request a prospectus containing a course
list. Information about a course is provided, such as the tutor, department and pre-
requisites. The new system will allow students to create a schedule, then select four
courses. Each student chooses two others in case their first choices become full or
are cancelled. No course can have more than 10 students. No course can have less
than 3 students or it will be cancelled. This will be the same functionality as
available to other internal users of the system. When registration is complete, the
registration system sends a message to the billing system to send out a bill to the
student.
Tutors use the system to find which classes they are teaching and who the students
are. The
registrar will administer the system.
For a period at the beginning of the semester the student can change their schedule.
Students must be allowed to access the system during this time to add or delete
courses.
2022-Spring ITSE Lab Manual Software Engineering

Identify the Actors, Use Cases and Association of the given scenario.
Q3: For the hospital Management System, a general example is shown below.
The Actors and their use cases are identified as: -
 Receptionist--Interact with Visitors; Give appointments to Medical
Representatives, Revert to Phone Queries, Handles Patient Registration.
 Doctors--Give prescription to Patient, Do Operation, and Review
Patients health.
 Nurse--Give Medicine to Patient, Coordinate with Doctors in Operation,
Report to doctors, Monitors Patients health.
 Patient--Interact with Doctor, Follow Doctor Instructions, Pay Bills.
 Billing Section--Patient Billing, Discharge Billing, give salaries to
Nurse, Staff and Doctors, Maintain Tax Records.
Here for the Billing Section we have considered Patient Billing and
Discharge billing as separate, as the Patient might not be admitted and is
charged for only counseling. Draw the Use Case Diagram for the given
scenario.

Q4: Model a Sequence Diagram for login operation.


 The new customer will enter his/her user id& password and then click on login
button on the login.aspx Webpage.
 The Session Manager gets the user id and user details from Customer class
instance and verifies the user id and password.
 If user details are invalid customer will not be allowed to login and an appropriate
error message will be displayed, otherwise the customer is logged in.
Sequence Diagram

Lab # 6
2022-Spring ITSE Lab Manual Software Engineering

Working with the Class Diagrams of UML


Theory

Class Diagrams

The browser provides a textual view of the classes in a system. Class diagrams are
created to graphically view the classes and packages in the system. Rose automatically
creates a class diagram called Main in the Logical View. This diagram may be opened by
double-clicking on it in the browser. The Main class diagram typically contains packages
thus, by the end of development it is a graphical view of the major architectural elements
of the system. A package may be added to a class diagram by selecting it in the browser
and dragging it onto the class diagram.

Each package typically has its own main diagram which is a picture of its key packages
and classes. To create the Main class diagram for a package, double-click on the package
on a classdiagram. Once the Main diagram is created for a package, you can add
2022-Spring ITSE Lab Manual Software Engineering

packages and classes tothe diagram by selecting them in the browser and dragging them
onto the diagram.

Classes from any package may be added to a class diagram by selecting the class on the
browserand dragging it onto the open class diagram. If the Show Visibility option is set to
true either asa default using the Tool:Options menu or individually by using the shortcut
menu for the class,the name of the ―owning‖ package is displayed. The package name
will be visible for all classesthat do not belong to the package owning the class diagram.
Packages and classes may also be created using the class diagram toolbar. To create a
package
or class using the toolbar:

1. Click to select the icon (package or class) on the class diagram toolbar.
2. Click on the class diagram to place the package or class.
3. While the new package or class is still selected, enter its name.
4. Multiple packages or classes may be created by depressing and holding the Shift
key.

Packages and classes created on class diagrams are automatically added to the browser.
To create a class diagram:

1. Right-click to select the owning package and make the shortcut menu visible.
2. Select the New:Class Diagram menu command. This will add a class diagram
calledNewDiagram to the browser.
3. While the new class diagram is still selected, enter its name.
4. To open the class diagram, double-click on it in the browser.

Class Structure

The structure of a class is represented by its set of attributes. Attributes may be created in
the browser, via the class specification or on a class diagram.

To create an attribute in the browser:


1. Right-click to select the class in the browser and make the shortcut menu visible.
2. To create an attribute, select the New:Attribute menu command. This will add an
attribute called name to the browser.
3. While the new attribute is still selected, enter its name.
4. Attribute data types and default values may not be entered via the browser

To create an attribute using the Class Specification:

1. Right-click to select the class in the browser and make the shortcut menu visible.
2. Select the Specification menu command.
2022-Spring ITSE Lab Manual Software Engineering

3. Select the Attributes tab.


4. Right-click to make the shortcut menu visible.
5. Select the Insert menu command. This will insert an attribute called name.
6. While the new attribute is still selected, enter its name. Type and initial value may
befilled in at this time or you may choose to fill in this information later in the
developmentcycle.

To create an attribute on a class diagram:


1. Right-click to select the class on the class diagram and make the shortcut menu
visible.
2. Select the Insert New Attribute menu command. This will insert an attribute in the
form
a. name : type = initval
3. While the attribute is still selected, fill in its name. Type and initial value may be
filled in
at this time or you may choose to fill in this information later in the development
cycle.

Attributes of a class may be viewed in the browser. The class will be initially collapsed.
To
expand the class to view its attributes, click the + next to the class.

Attributes should be documented. To add the documentation for an attribute:


1. Click to select the attribute in the browser.
2. Position the cursor in the Documentation Window. If the Documentation
Window is notvisible, select the View:Documentation menu command.
3. Enter the documentation for the attribute.

To delete an attribute:
1. Right-click to select the attribute in the browser or on the Attributes tab of the
Class
Specification and make the shortcut menu visible.
2. Select the Delete menu command.

Class Behavior
The behavior of a class is represented by its set of operations. Operations may be created
in thebrowser, via the Class Specification or on a class diagram. To create an operation in
thebrowser:
1. Right-click to select the class in the browser and make the shortcut menu visible.
2. To create an operation, select the New:Operation menu command. This will add
an
operation called opname to the browser.
3. While the new operation is still selected, enter its name.
2022-Spring ITSE Lab Manual Software Engineering

4. The operation signature may not be entered via the browser

To create an operation using the Class Specification:


1. Right-click to select the class in the browser and make the shortcut menu
visible.
2. Select the Specification menu command.
3. Select the Operations tab.
4. Right-click to make the shortcut menu visible.
5. Select the Insert menu command. This will insert an attribute called opname.
6. While the new operation is still selected, enter its name. The signature and
return value
7. may be filled in at this time or you may choose to fill in this information later
in the
development cycle.

To create an operation on a class diagram:

1. Right-click to select the class on the class diagram and make the shortcut
menu visible.
2. Select the Insert New Operation menu command. This will insert an attribute
in the formopname ( argname : argtype = default) : return
3. While the operation is still selected, fill in its name. The signature and return
value maybe filled in at this time or you may choose to fill in this information
later in thedevelopment cycle.

Operations of a class may be viewed in the browser. The class will be initially collapsed.
To
expand the class to view its operations, click the + next to the class.
To enter the signature of an operation:

1. Right-click to select the operation in the browser and make the shortcut menu
visible.
2. Select the Specification menu command.
3. Select the Detail tab.
4. Right-click in the Arguments field to make the shortcut menu visible.
5. Select the Insert menu command. This will insert an argument called argname
of type
6. argtype with a default value of default.
7. Click to select the name, type, or default and enter the desired information.
8. Click the OK button to close the Specification.

To delete an operation:
2022-Spring ITSE Lab Manual Software Engineering

1. Right-click to select the operation in the browser or on the Operations tab of


the ClassSpecification and make the shortcut menu visible.
2. Select the Delete menu command.
Operations should be documented.

To add the documentation for an operation:


1. Click to select the operation in the browser.
2. Position the cursor in the Documentation Window. If the Documentation
Window is notvisible, select the View:Documentation menu command.
3. Enter the documentation for the operation.

Relationships

Relationships provide a conduit for communication. There are four different types of
relationships : association, aggregation, dependency, and inheritance. Relationships may
only be created on a class diagram using the toolbar.

Exercise

Develop a Class Diagram using the specifications given below:

 Add the PeopleInformation, UniversityArtifacts, and Interfaces packages to the


Main
class diagram.
 Create the Main class diagram for each package.
 Add the StudentInformation and ProfessorInformation classes to the
PeopleInformation package Main class diagram.
 Add the Course and CourseOffering classes to the UniversityArtifacts package
Main
class diagram.
 Add the CourseOptionsForm and CourseForm classes to the Interfaces package
Main
class diagram.
 Create a new class called Catalog using the toolbar and place it on the
UniversityArtifacts package Main class diagram. Don‘t forget to document the
new class.Create a new class diagram called Course Information for the
UniversityArtifactspackage.
Add the Course class to the Course Information class diagram
2022-Spring ITSE Lab Manual Software Engineering

Lab # 08

Software Requirement Specification (Case Study)

Software Requirements Specification

Version 1.0
<<Annotated Version>>

April 15, 2004

Web Publishing System

Joan Team leader


Paul Adams
Bobbie Baker
Charles Charlie

Submitted in partial fulfillment


Of the requirements of
2022-Spring ITSE Lab Manual Software Engineering

CS 310 Software Engineering


<<Any comments inside double brackets such as these are not part of this SRS but are

comments upon this SRS example to help the reader understand the point being made.

Refer to the SRS Template for details on the purpose and rules for each section of this

document.

This work is based upon the submissions of the Spring 2004 CS 310. The students who

submitted these team projects were Thomas Clay, Dustin Denney, Erjon Dervishaj,

Tiffanie Dew, Blake Guice, Jonathan Medders, Marla Medders, Tammie Odom, Amro

Shorbatli, Joseph Smith, Jay Snellen, Chase Tinney, and Stefanie Watts. >>
2022-Spring ITSE Lab Manual Software Engineering

Table of Contents
Table of Contents...................................................................................................................................i
List of Figures.........................................................................................................................................ii
1.0. Introduction.....................................................................................................................................1
1.1. Purpose..................................................................................................................................................1
1.2. Scope of Project.....................................................................................................................................1
1.3. Glossary.................................................................................................................................................2
1.4. References.............................................................................................................................................2
1.5. Overview of Document.........................................................................................................................2
2.0. Overall Description..............................................................................................................4
2.1 System Environment........................................................................................................................4
2.2 Functional Requirements Specification............................................................................................5
2.2.1 Reader Use Case.......................................................................................................................5
Use case: Search Article......................................................................................................................5
2.2.2 Author Use Case.......................................................................................................................6
Use case: Submit Article......................................................................................................................6
2.2.3 Reviewer Use Case...................................................................................................................7
Use case: Submit Review....................................................................................................................7
2.2.4 Editor Use Cases.......................................................................................................................8
Use case: Update Author.....................................................................................................................8
Use case: Update Reviewer.................................................................................................................9
Use case: Update Article.....................................................................................................................9
Use case: Receive Article..................................................................................................................10
Use case: Assign Reviewer...............................................................................................................11
Use case: Receive Review.................................................................................................................11
Use case: Check Status......................................................................................................................12
Use case: Send Response...................................................................................................................12
Use case: Send Copyright..................................................................................................................13
Use case: Remove Article.................................................................................................................14
Use case: Publish Article...................................................................................................................14
2.3 User Characteristics........................................................................................................................15
2.4 Non-Functional Requirements........................................................................................................15
3.0. Requirements Specification..........................................................................................17
3.1 External Interface Requirements....................................................................................................17
3.2 Functional Requirements................................................................................................................17
3.2.1 Search Article.........................................................................................................................17
3.2.2 Communicate..........................................................................................................................18
3.2.3 Add Author.............................................................................................................................18
3.2.4 Add Reviewer.........................................................................................................................19
3.2.5 Update Person.........................................................................................................................19
3.2.6 Update Article Status..............................................................................................................20
3.2.7 Enter Communication.............................................................................................................20
3.2.8 Assign Reviewer.....................................................................................................................21
3.2.9 Check Status...........................................................................................................................21
3.2.10 Send Communication.............................................................................................................22
3.2.11 Publish Article........................................................................................................................22
3.2.12 Remove Article.......................................................................................................................23
3.3 Detailed Non-Functional Requirements.........................................................................................23
3.3.1 Logical Structure of the Data.................................................................................................23
3.3.2 Security...................................................................................................................................25
Index...............................................................................................................................................................26
2022-Spring ITSE Lab Manual Software Engineering
2022-Spring ITSE Lab Manual Software Engineering

List of Figures
Figure 1 - System Environment........................................................................................................................4
Figure 2 - Article Submission Process.............................................................................................................6
Figure 3 - Editor Use Cases..............................................................................................................................8
Figure 4 - Logical Structure of the Article Manager Data.............................................................................23
2022-Spring ITSE Lab Manual Software Engineering

1.0. Introduction
1.1. Purpose

The purpose of this document is to present a detailed description of the Web

Publishing System. It will explain the purpose and features of the system, the interfaces

of the system, what the system will do, the constraints under which it must operate and

how the system will react to external stimuli. This document is intended for both the

stakeholders and the developers of the system and will be proposed to the Regional

Historical Society for its approval.

1.2. Scope of Project

This software system will be a Web Publishing System for a local editor of a

regional historical society. This system will be designed to maximize the editor’s

productivity by providing tools to assist in automating the article review and publishing

process, which would otherwise have to be performed manually. By maximizing the

editor’s work efficiency and production the system will meet the editor’s needs while

remaining easy to understand and use.

More specifically, this system is designed to allow an editor to manage and

communicate with a group of reviewers and authors to publish articles to a public

website. The software will facilitate communication between authors, reviewers, and the

editor via E-Mail. Preformatted reply forms are used in every stage of the articles’

progress through the system to provide a uniform review process; the location of these

forms is configurable via the application’s maintenance options. The system also contains

a relational database containing a list of Authors, Reviewers, and Articles.


2022-Spring ITSE Lab Manual Software Engineering

1.3. Glossary

Term Definition
Active Article The document that is tracked by the system; it is a
narrative that is planned to be posted to the public
website.
Author Person submitting an article to be reviewed. In case of
multiple authors, this term refers to the principal author,
with whom all communication is made.
Collection of all the information monitored by this
Database
system.
Editor Person who receives articles, sends articles for review,
and makes final judgments for publications.
Field A cell within a form.
Historical Society
The existing membership database (also HS database).
Database
Member A member of the Historical Society listed in the HS
database.
Reader Anyone visiting the site to read articles.
Review A written recommendation about the appropriateness of
an article for publication; may include suggestions for
improvement.
Reviewer A person that examines an article and has the ability to
recommend approval of the article for publication or to
request that changes be made in the article.
Software Requirements A document that completely describes all of the functions
Specification of a proposed system and the constraints under which it
must operate. For example, this document.
Stakeholder Any person with an interest in the project who is not a
developer.
User Reviewer or Author.
1.4. References

IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements

Specifications. IEEE Computer Society, 1998.


2022-Spring ITSE Lab Manual Software Engineering

1.5. Overview of Document

The next chapter, the Overall Description section, of this document gives an

overview of the functionality of the product. It describes the informal requirements and is

used to establish a context for the technical requirements specification in the next chapter.

The third chapter, Requirements Specification section, of this document is written

primarily for the developers and describes in technical terms the details of the

functionality of the product.

Both sections of the document describe the same software product in its entirety,

but are intended for different audiences and thus use different language.
2022-Spring ITSE Lab Manual Software Engineering

2.0. Overall Description


2.1 System Environment

Figure 1 - System Environment

Reader

Author Online Journal

Article Manager

Reviewer HS DB

Web Publishing
System

Editor

The Web Publishing System has four active actors and one cooperating system.

The Author, Reader, or Reviewer accesses the Online Journal through the Internet. Any

Author or Reviewer communication with the system is through email. The Editor

accesses the entire system directly. There is a link to the (existing) Historical Society.
2022-Spring ITSE Lab Manual Software Engineering

<< The division of the Web Publishing System into two component parts, the Online

Journal and the Article Manager, is an example of using domain classes to make an

explanation clearer. >>

2.2 Functional Requirements Specification

This section outlines the use cases for each of the active readers separately. The

reader, the author and the reviewer have only one use case apiece while the editor is main

actor in this system.

2.2.1 Reader Use Case

Use case: Search Article


Diagram:

Search Article

Reader

Brief Description
The Reader accesses the Online Journal Website, searches for an article and downloads it
to his/her machine.

Initial Step-By-Step Description


Before this use case can be initiated, the Reader has already accessed the Online Journal
Website.

1. The Reader chooses to search by author name, category, or keyword.


2. The system displays the choices to the Reader.
3. The Reader selects the article desired.
4. The system presents the abstract of the article to the reader.
5. The Reader chooses to download the article.
6. The system provides the requested article.

Xref: Section 3.2.1, Search Article


2022-Spring ITSE Lab Manual Software Engineering

Review
Rewrite

Active
Article

Submit Publish

Figure 2 - Article Submission Process

The Article Submission Process state-transition diagram summarizes the use cases listed
below. An Author submits an article for consideration. The Editor enters it into the
system and assigns it to and sends it to at least three reviewers. The Reviewers return
their comments, which are used by the Editor to make a decision on the article. Either the
article is accepted as written, declined, or the Author is asked to make some changes
based on the reviews. If it is accepted, possibly after a revision , the Editor sends a
copyright form to the Author. When that form is returned, the article is published to the
Online Journal. Not shown in the above is the removal of a declined article from the
system.

2.2.2 Author Use Case


In case of multiple authors, this term refers to the principal author, with whom all
communication is made.

Use case: Submit Article


Diagram:

Submit Article

Author

Brief Description
The author either submits an original article or resubmits an edited article.

Initial Step-By-Step Description


2022-Spring ITSE Lab Manual Software Engineering

Before this use case can be initiated, the Author has already connected to the Online
Journal Website.

1. The Author chooses the Email Editor button.


2. The System uses the sendto HTML tag to bring up the user’s email system.
3. The Author fills in the Subject line and attaches the files as directed and emails them.
4. The System generates and sends an email acknowledgement.

Xref: Section 3.2.2, Communicate

2.2.3 Reviewer Use Case


Use case: Submit Review
Diagram:

Submit
Review

Reviewer

Brief Description
The reviewer submits a review of an article.

Initial Step-By-Step Description


Before this use case can be initiated, the Reviewer has already connected to the Online
Journal Website.

1. The Reviewer chooses the Email Editor button.


2. The System uses the sendto HTML tag to bring up the user’s email system.
3. The Reviewer fills in the Subject line and attaches the file as directed and emails it.
4. The System generates and sends an email acknowledgement.

Xref: Section 3.2.2, Communicate


2022-Spring ITSE Lab Manual Software Engineering

2.2.4 Editor Use Cases


The Editor has the following sets of use cases:

Update
Info
Handle Art

Ck Status

Editor

Send Rec

Publish Art

Figure 3 - Editor Use Cases

Update Information use cases

Use case: Update Author


Diagram:

Update
Author

Editor
Brief Description
The Editor enters a new Author or updates information about a current Author.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the
Article Manager.

1. The Editor selects to Add/Update Author.


2. The system presents a choice of adding or updating.
3. The Editor chooses to add or to update.
4. If the Editor is updating an Author, the system presents a list of authors to choose from
and presents a grid filling in with the information; else the system presents a blank grid.
2022-Spring ITSE Lab Manual Software Engineering

5. The Editor fills in the information and submits the form.


6. The system verifies the information and returns the Editor to the Article Manager main
page.

Xref: Section 3.2.3, Add Author; Section 3.2.5 Update Person

Use case: Update Reviewer


Diagram:

Update
Reviewer

Hist Soc DB
Editor
Brief Description
The Editor enters a new Reviewer or updates information about a current Reviewer.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the
Article Manager.

1. The Editor selects to Add/Update Reviewer.


2. The system presents a choice of adding or updating.
3. The Editor chooses to add or to update.
4. The system links to the Historical Society Database.
5. If the Editor is updating a Reviewer, the system and presents a grid with the
information about the Reviewer; else the system presents list of members for the
editor to select a Reviewer and presents a grid for the person selected.
6. The Editor fills in the information and submits the form.
7. The system verifies the information and returns the Editor to the Article Manager
main page.

Xref: Section 3.2.4, Add Reviewer; Section 3.2.5, Update Person

Use case: Update Article


Diagram:

Update Article

Editor
2022-Spring ITSE Lab Manual Software Engineering

Brief Description
The Editor enters information about an existing article.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the
Article Manager.

1. The Editor selects to Update Article.


2. The system presents s list of active articles.
3. The system presents the information about the chosen article.
4. The Editor updates and submits the form.
5. The system verifies the information and returns the Editor to the Article Manager main
page.

Xref:Section 3.2.6, Update Article Status

Handle Article use cases

Use case: Receive Article


Diagram:

Receive
Article

Editor
Brief Description
The Editor enters a new or revised article into the system.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the
Article Manager and has a file containing the article available.

1. The Editor selects to Receive Article.


2. The system presents a choice of entering a new article or updating an existing article.
3. The Editor chooses to add or to update.
4. If the Editor is updating an article, the system presents a list of articles to choose from
and presents a grid for filling with the information; else the system presents a blank grid.
5. The Editor fills in the information and submits the form.
6. The system verifies the information and returns the Editor to the Article Manager main
page.

Xref: Section 3.2.7, Enter Communication


2022-Spring ITSE Lab Manual Software Engineering

Use case: Assign Reviewer


This use case extends the Update Article use case.
Diagram:

Assign Reviewer

Hist Soc DB
Editor

Brief Description
The Editor assigns one or more reviewers to an article.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the
Update Article use case.

1. The Editor selects to Assign Reviewer.


2. The system presents a list of Reviewers with their status (see data description is section
3.3 below).
3. The Editor selects a Reviewer.
4. The system verifies that the person is still an active member using the Historical Society
Database.
5. The Editor repeats steps 3 and 4 until sufficient reviewers are assigned.
6. The system emails the Reviewers, attaching the article and requesting that they do the
review.
7. The system returns the Editor to the Update Article use case.

Xref: Section 3.2.8, Assign Reviewer

Use case: Receive Review


This use case extends the Update Article use case.
Diagram:

Receive
Review

Editor

Brief Description
The Editor enters a review into the system.
2022-Spring ITSE Lab Manual Software Engineering

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the
Update Article use case.

1. The Editor selects to Receive Review.


2. The system presents a grid for filling with the information.
3. The Editor fills in the information and submits the form.
4. The system verifies the information and returns the Editor to the Article Manager main
page.

Xref: Section 3.2.7, Enter Communication

Check Status use case:

Use case: Check Status


Diagram:

Check Status

Editor
Brief Description
The Editor checks the status of all active articles.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the
Article Manager.

1. The Editor selects to Check Status.


2. The system returns a scrollable list of all active articles with their status (see data
description in section 3.3 below).
3. The system returns the Editor to the Article Manager main page.

Xref:Section 3.2.9, Check Status

Send Recommendation use cases:

Use case: Send Response


This use case extends the Update Article use case.
2022-Spring ITSE Lab Manual Software Engineering

Diagram:

Send
Response

Editor

Brief Description
The Editor sends a response to an Author.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the
Update Article use case.

1. The Editor selects to Send Response.


2. The system calls the email system and puts the Author’s email address in the Recipient
line and the name of the article on the subject line.
3. The Editor fills out the email text and sends the message.
4. The system returns the Editor to the Article Manager main page.

Xref:Section 3.210, Send Communication

Use case: Send Copyright


This use case extends the Update Article use case.

Diagram:

Send
Copyright

Editor
Brief Description
The Editor sends a copyright form to an Author.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the
Update Article use case.

1. The Editor selects to Send Copyright.


2. The system calls the email system and puts the Author’s email address in the Recipient
line, the name of the article on the subject line, and attaches the copyright form.
2022-Spring ITSE Lab Manual Software Engineering

3. The Editor fills out the email text and sends the message.
4. The system returns the Editor to the Article Manager main page.

Xref: Section 3.2.10, Send Communication

Use case: Remove Article


This use case extends the Update Article use case.

Diagram:

Remove
Article

Editor
Brief Description
The Editor removes an article from the active category.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the
Update Article use case.

1. The Editor selects to remove an article from the active database.


2. The system provides a list of articles with the status of each.
3. The Editor selects an article for removal.
4. The system removes the article from the active article database and returns the Editor to
the Article Manager main page.

Xref: Section 3.2.12, Remove Article

Publish Article use case:

Use case: Publish Article


This use case extends the Update Article use case.

Diagram:

Publish Article

Editor
2022-Spring ITSE Lab Manual Software Engineering

Brief Description
The Editor transfers an accepted article to the Online Journal.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the
Update Article use case.

1. The Editor selects to Publish Article.


2. The system transfers the article to the Online Journal and updates the search information
there.
3. The system removes the article from the active article database and returns the Editor to
the Article Manager home page.

Xref:Section 3.2.11, Publish Article

<< Since three of the actors only have one use case each, the summary diagram only

involves the Editor. Adapt the rules to the needs of the document rather than adapt the

document to fit the rules. >>

2.3 User Characteristics

The Reader is expected to be Internet literate and be able to use a search engine.

The main screen of the Online Journal Website will have the search function and a link to

“Author/Reviewer Information.”

The Author and Reviewer are expected to be Internet literate and to be able to use

email with attachments.

The Editor is expected to be Windows literate and to be able to use button, pull-

down menus, and similar tools.

The detailed look of these pages is discussed in section 3.2 below.

2.4 Non-Functional Requirements

The Online Journal will be on a server with high speed Internet capability. The

physical machine to be used will be determined by the Historical Society. The software
2022-Spring ITSE Lab Manual Software Engineering

developed here assumes the use of a tool such as Tomcat for connection between the

Web

pages and the database. The speed of the Reader’s connection will depend on the

hardware used rather than characteristics of this system.

The Article Manager will run on the editor’s PC and will contain an Access

database. Access is already installed on this computer and is a Windows operating

system.

3.0. Requirements Specification


3.1 External Interface Requirements

The only link to an external system is the link to the Historical Society (HS)

Database to verify the membership of a Reviewer. The Editor believes that a society

member is much more likely to be an effective reviewer and has imposed a membership

requirement for a Reviewer. The HS Database fields of interest to the Web Publishing

Systems are member’s name, membership (ID) number, and email address (an optional

field for the HS Database).

The Assign Reviewer use case sends the Reviewer ID to the HS Database and a

Boolean is returned denoting membership status. The Update Reviewer use case requests

a list of member names, membership numbers and (optional) email addresses when

adding a new Reviewer. It returns a Boolean for membership status when updating a

Reviewer.

3.2 Functional Requirements

The Logical Structure of the Data is contained in Section 3.3.1.

3.2.1 Search Article


Use Case Name Search Article
2022-Spring ITSE Lab Manual Software Engineering

XRef Section 2.2.1, Search Article


SDD, Section 7.1
Trigger The Reader assesses the Online Journal Website
Precondition The Web is displayed with grids for searching
Basic Path 1. The Reader chooses how to search the Web site. The choices
are by Author, by Category, and by Keyword.
2. If the search is by Author, the system creates and presents an
alphabetical list of all authors in the database. In the case of
an article with multiple authors, each is contained in the list.
3. The Reader selects an author.
4. The system creates and presents a list of all articles by that
author in the database.
5. The Reader selects an article.
6. The system displays the Abstract for the article.
7. The Reader selects to download the article or to return to the
article list or to the previous list.
2022-Spring ITSE Lab Manual Software Engineering

Lab # 9
Learning the basics of ASP.Net
Theory
Active Server Pages is a programming environment that provides the ability to combine HTML, scripting,
and components to create powerful internet applications that run on the server. It allows developers to
create dynamic web pages. Dynamic web pages are pages whose content is dynamically regenerated each
time the web page is requested.

ASP.NET

ASP.NET is a server side scripting technology that enables scripts (embedded in web pages) to be executed
by an Internet server. It is a program that runs inside the windows server component IIS (Internet
Information Services). An ASP.NET file can contain HTML, XML, and scripts. Scripts in an ASP.NET file
are executed on the server. An ASP.NET file has the file extension ".aspx".

When an ASP is incorporated into Web site, the following step happens:
• The user brings up a Web site where the default page has the extension .aspx.
• The browser requests the ASP file from the Web server, instead of processing itself like in .html
extension.
• The server-side script begins to run with ASP.
• ASP processes the requested file sequentially (top-down), executes any script commands contained in
the file, and produces an HTML Web page.
• The result, which is 100% pure HTML code, is sent back to the browser. Because the script runs on the
server, the Web server does, all of the processing and standard HTML pages can be generated and sent
to the browser. This means that the Web pages are limited only by what your Web server supports.
Another benefit of having your script resides on the server is that the user cannot ―view source‖ on the
original script and code. Instead, the user sees only the generated HTML as well as non-HTML
content, such as XML, on the pages that are being viewed.
The ASP .Net code can either be written inside the ASPX page or it can be included as a .cs or vb .net file.
When the ASPX page is embedded with the code of either C# or VB .Net, the ASP .Net run time
automatically compiles the code into an assembly and loads it. If the code is kept in a separate source file
either as a VB or C# file, it has to be compiled by the programmer, which will be used by the run time for
further execution.

Creating a new Website

Open the Microsoft Visual Studio 2008. Go to File:New Website the following dialog box appears
2022-Spring ITSE Lab Manual Software Engineering

Figure 8. 1: Creating a New Website

The website can be built either using Visual C#, Visual Basic. Select the default ASP.Net
Website from the template and type in the name forthe project after selecting the language (here
we select Visual C#). Now a new blank website is created.

Figure 8.2: Design View of a Project


2022-Spring ITSE Lab Manual Software Engineering

The default.aspx is included in the project. To rename it, right click on the Default.aspx select Rename
from the popup menu and then name it to First.aspx.

Source View

Source view displays the HTML markup for the Web page, which you can edit. By default, all HTML
elements and scripts are displayed when the Source View is initially selected. Elements can be dragged
from the Toolbox, just as they are dragged when editing a Web page in Design view, and then see their
markup inserted into the document.

To select Source view, click the Source tab at the bottom of the HTML Designer window.

Design View

Design view displays ASP.NET Web pages, master pages, content pages, HTML pages, and user controls.
It allows you to add text, elements, and then position, size them, and set their properties using special
menus or the Properties window.

To select Design view, click the Design tab at the bottom of the HTML Designer window.

Properties Window

It is a window where you can edit properties or events for the controls. To access Properties Window,
Select Properties Window on the View menu.

Solution Explorer

Solution Explorer provides you with an organized view of your projects and their files as well as ready
access to the commands that pertain to them. A toolbar associated with this window offers commonly used
commands for the item you highlight in the list. To access Solution Explorer, select Solution Explorer on
the View menu

Toolbox’s Auto Hide Option

The toolbox navigator is present on the left end of the screen. If the mouse is scrolled over it, the toolbox
appears presenting many control options that can be added to a website. The auto hide option presented by
icon can be clicked to make the toolbox locked on the left side of the screen turning the icon to icon.

Move the control on the screen

To drag it to the desired position on the page, go to Format Set PositionAbsolute. This option can also
be applied to the controls using Cascading Style Sheets. The Cascading Style Sheets or CSS allow you to
control the layout and look of your page easily.// CSS tags or properties are easy to use and affect the look
and feel or style of your pages by setting its Property: CSS Class to the already defined Style Sheet.

Adding some controls on the website

Double click on the Button icon present in the Standard toolbox to add it to the website. Drag to the desired
location. The default ID for this Button is Button1. To change this ID go to properties window, type the ID
as OKButton. Also, change the Text property of this control to OK. Drag a label on the website and
remove the text label from its properties. Double click the OKButton to open its code and add the
following code:
2022-Spring ITSE Lab Manual Software Engineering

protected void OKBotton_Click(object sender, EventArgs e)


{
Label1.Text = "Hello User" ;
}

Use Ctrl+Shift+S to save the project.

Debugging the Website

Press F5 or the play button in the standard toolbar to start debugging. A window displays a message that
Debugging Not Enabled. Select the option Add web.config file with debugging enabled and click OK.
The Visual Studio Web Developer 2008 launches a mini testing web server that will work for the purpose
of testing the website just created locally. A popup on the taskbar shows ASP.Net Development
Serverhttp://localhost:50701/First/. The website is now open on the website explorer. When the OK button
is clicked, a welcome message, Hello User is displayed on the website.

Figure 8.3 : How To Start Debugging

To make it more user friendly, add a textbox and change its ID to NameTextBox. Add a Label on its left
side and change its text to ―Enter Your Name:”. Add the following code to OKButton:

protected void OKBotton_Click(object sender, EventArgs e)


{
Label1.Text = "Hello " + NameTextBox.Text ;
}

Where + is used for string concatenation.


Adding a Hyperlink

From the toolbox drag a Hyperlink control to the webpage. Change its Text property to CIS Department
and its NavigateUrl property to http://www.ssuet.edu.pk. To open this link in a new browser, change its
Target property to blank.

Exercise

1. Write down the advantages of server side scripting in ASP.Net.


2022-Spring ITSE Lab Manual Software Engineering

Lab #10
Exploring Controls and the Concept of Field
Validation in ASP.Net
Theory
Add a New Web Form to the Project

A new web form can be added to the project. To do so open Solution Explorer right click on the root of the
project and click on Add New item… A number of different types of templates are displayed for the
selection of the developer. Select Web Form and give this new item an appropriate name.

Two check boxes at the bottom of the page allow the separation of the code and the selection of a master
page. The restructured code-behind schema of Visual Studio 2008 supports separation of code but makes it
optional. The language selected for the project is displayed in the language box.

Once a new page is open, select Default.aspx Set as Start page to enable the debugger to run this page

whenever the project is debugged. Figure 11.1 : Setting


Up As Start Page
2022-Spring ITSE Lab Manual Software Engineering

Adding a Table

To insert a table on a webpage, click Table Insert Table. An Insert Table window pops up enabling a user
to select from the available templates or creating a customized table with required number of cells and cell
formatting.

Add a Dropdown List

Drag the Drop down list from the standard toolbox. Change its ID to DeptDropDown. Click on the arrow
on upper right hand corner of the control to see the various options available. Select the EditItems to add a
number of options from which the user can select. The ListItem Collection Editor opens in a pop up
window. Click Add to add a new entry in the drop down list and type in the name of the entry in the Text
property. Click Add to enter another option or OK to exit.

Adding Radio Buttons

To add radio buttons on a webpage, drag the number of radio buttons required (here consider two radio
buttons are being dragged) from the standard toolbox. Rename them as studentRadioButton and
facultyRadioButton. Also change their text property to Student and faculty respectively. In the
GroupName property, write User for both of the radio buttons which makes them to belong to same
group.

Field Validation
Validation controls are available in the toolbox. Some of these are discussed below:

Required Field Validator

Required field validator is used for required fields. Fields that cannot be left empty is validated using the
required field validator. A good example will be a Text Box which is used for taking the username as the
input. Since the user must enter the username in the Text Box in order to access the website. The required
field validator can be used with the Text Box control to validate the input. If user does not enter any data in
the Text Box than an error message is displayed and further processing of the request will be stopped.

In order to set the required validator on the Text Box control just drag and drop the validator on the web
form and set its Control to Validate property to the Text Box id that is to be validated.

Regular Expression Validator

Regular Expression Validator is used to check the user input against some built in regular expressions. The
control provides the Regular Expression collection property that can be used to select the desired Regular
Expression. Some of the built in expressions are Email, postal code, telephone number and many more. If
the user input does not match the regular expression expected an error will occur and the request for the
resources will not be authorized unless the user corrects the input data.

Range Validator

The Range Validator control is used to check whether the input control contains value in the specified
range. You can check the range of values against different data types such as String, Date, Integer and so
on.
2022-Spring ITSE Lab Manual Software Engineering

The two most important properties of the range validator control is the Maximum value and the minimum
value. The range can be used to restrict the user data. Suppose if the user is entering a roll number so the
range can be set from 1 to 500.

Compare Validator

The compare validator control is used to compare the input server control's value. The compare validator
can be used to compare against a value or another control. If both the Control To Compare and Value To
Compare properties are set for a Compare Validator control, the Control To Compare property takes
precedence.

It can be used to compare whether the user has selected a value from the dropdown list or not. For this
purpose, select the dropdown list from Control To Validate property and in Value To Compare write
down the string e.g. Select a Department (which must be the first entity in the dropdown list) and set the
Operator property to Not Equal.

Another good use of the compare validator is to check whether the passwords entered by the user in the two
Text Boxes while registering for a website are same or not. This validator also performs validation on the
client side as well as the server side. So, no post back will be required when doing the comparison and
hence resources will be saved and performance will increase.

Figure 11.2 : Validation Controls

Exercise

1. Design a web page LOGIN.aspx and apply field validation on it.(Hint:


1. Use Required Field Validator for all the fields.
2. Use Compare Validator for the Re-enter password.
) Attach printout.
2022-Spring ITSE Lab Manual Software Engineering

2. Explain which of the validators are server side validators and which are client side?
2022-Spring ITSE Lab Manual Software Engineering

Lab # 11
Server Site Scripting on MY SQL

Web Development Server Side, Backend Database, MySQL, Database


Creation

Objective:
1. To understand the concept of Database and to get to know about MySQL.
2. To study the relational logical structure and to get an idea of Design and Data
Entry Mode.
3. To design a Database in XAMPP (MySQL) and insert a table that holds fields and
records of Login information.

Theory:
This lab is mainly concerned with the learning of the concept of Database and to get aware of
the Database of XAMPP i.e. MySQL. This lab also deals with the knowledge of relational
logical structure and different modes of backend database. In this lab we will also design a
database using MySQL.
Objective #1:
To understand the concept of Database and to get to know about MySQL.
Database:
Database is regarded as software which is used to store certain kind of information. It follows
a Relational Structure for Data Information Storage. Often abbreviated as DB. Database can
be defined as a collection of information organized in such a way that a computer program
can quickly select desired pieces of data. For e.g. electronic billing system.
Traditional databases are organized by fields, records, and files.
Field: A field is a single piece of information.
Record: A record is one complete set of fields.
File: A file is a collection of records.

Database Management System:

To access information from a database, you need a database management system (DBMS).
This is a collection of programs that enables you to enter, organize, and select data in a
database.

Increasingly, the term database is used as shorthand for database management system.

MySQL:
2022-Spring ITSE Lab Manual Software Engineering

MySQL is the database of XAMPP. Specialized database software, like MySQL, are just
programs that lets you store and retrieve the data as efficiently as possible. MySQL is the
most popular database system used with PHP. MySQL is a database system used on the web
and it runs on a server as well. It is ideal for both small and large applications as it is very
fast, reliable, and easy to use. MySQL supports standard SQL. MySQL compiles on a number
of platforms and is free to download and use. MySQL is developed, distributed, and
supported by Oracle Corporation. The data in MySQL is stored in tables. A table is a
collection of related data, and it consists of columns and rows. Databases are useful when
storing information categorically.
Why MySQL:

One great thing about MySQL is that it can be scaled down to support embedded database
applications. Maybe it is because of this many people think that MySQL can only handle
small and medium-sized systems. The truth is that MySQL is the de-facto standard database
system for web sites with HUGE volumes of both data and end users (like Friendster, Yahoo,
and Google). PHP combined with MySQL are cross-platform (you can develop in Windows
and serve on a Unix platform)

Objective #2:
To study the relational logical structure and to get an idea of Design and Data Entry Mode.
Since Databases follow relational structure. A relational structure can be represented by a
cylinder:

Relational Logical Structure:

STUDENT STUDENT3
2
STUDENT
1
LOGIN EXTRA
INFO ACADEMI CURRICUL
CS AR
ACTIVITIES
2022-Spring ITSE Lab Manual Software Engineering

A user can create his database and can make amendments in it. After creating a database, the
user can insert tables for different types of data or information as shown in the above picture.
The most important point in making a database is to avoid redundancy i.e. to avoid multiple
existence of same information that can cause inconsistency. The databases nowadays have
the facility to control redundancy and the software that help in the creation of a database also
facilitate the user by providing direct control over redundancy.
Example of Design Mode:
Database Name: webapp
Table Name: login_info

FIELD 1 FIELD 2 FIELD 3

Login_id uname pwd


Type: INT Type: VARCHAR Type: VARCHAR
Length: 20 Length: 50 Length: 50
Constraint: Primary Key Constraint: Not NULL UniqueConstraint: Not NULL
Extras: Auto Increment

Note: Primary Key is inherited with the properties of Not NULL and Unique.

Example Of Data Entry Mode:


login_id uname pwd
1 bushra 1234
2 farah 123

In the table

Columns are regarded as Fields and


Rows are regarded as Records.
Objective #3:
To design a Database in XAMPP (MySQL) and insert a table that holds fields
and records of Login information.
STEPS:
1. Open your browser and type localhost /xampp
Xampp window will appear
2022-Spring ITSE Lab Manual Software Engineering

2. Now click on phpMyAdmin in Tools on the very left of the page

3. This will open a new window of php MyAdmin for creating a database
2022-Spring ITSE Lab Manual Software Engineering

4. Click on Databases to create a database

5. Create a
of the
page
6. This will take you to “Create table” asking for the name of your table a number of
columns. Write the name of table and the number of columns and click on Go.

7.

Fill the fields and click on Save.


2022-Spring ITSE Lab Manual Software Engineering

Inserting Rows in Table


1. Insert record in the table using the option of Insert from the top menu

2. This will open a new page for filling records in the specified fields. Fill up the
fields and click on Go.

3. Now click on Browse on the top menu to see the output

Conclusion:
 In this lab, we learnt the concept of databases
 Understand the use of MySQL and studied the Relational Logical Structure
and the two modes of structure that are Design Mode and Data Entry Mode
 Learnt to Design a database
 Learnt to insert Fields and Records in Table in the Database
2022-Spring ITSE Lab Manual Software Engineering

Lab # 08

Software Requirement Specification (Case Study)

Software Requirements Specification

Version 1.0
<<Annotated Version>>

April 15, 2004

Web Publishing System

Joan Team leader


Paul Adams
Bobbie Baker
Charles Charlie

Submitted in partial fulfillment


Of the requirements of
CS 310 Software Engineering
2022-Spring ITSE Lab Manual Software Engineering

<<Any comments inside double brackets such as these are not part of this SRS but are

comments upon this SRS example to help the reader understand the point being made.

Refer to the SRS Template for details on the purpose and rules for each section of this

document.

This work is based upon the submissions of the Spring 2004 CS 310. The students who

submitted these team projects were Thomas Clay, Dustin Denney, Erjon Dervishaj,

Tiffanie Dew, Blake Guice, Jonathan Medders, Marla Medders, Tammie Odom, Amro

Shorbatli, Joseph Smith, Jay Snellen, Chase Tinney, and Stefanie Watts. >>
2022-Spring ITSE Lab Manual Software Engineering

Table of Contents
Table of Contents...................................................................................................................................i
List of Figures.........................................................................................................................................ii
1.0. Introduction.....................................................................................................................................1
1.1. Purpose..................................................................................................................................................1
1.2. Scope of Project.....................................................................................................................................1
1.3. Glossary.................................................................................................................................................2
1.4. References.............................................................................................................................................2
1.5. Overview of Document.........................................................................................................................2
2.0. Overall Description..............................................................................................................4
2.1 System Environment........................................................................................................................4
2.2 Functional Requirements Specification............................................................................................5
2.2.1 Reader Use Case.......................................................................................................................5
Use case: Search Article......................................................................................................................5
2.2.2 Author Use Case.......................................................................................................................6
Use case: Submit Article......................................................................................................................6
2.2.3 Reviewer Use Case...................................................................................................................7
Use case: Submit Review....................................................................................................................7
2.2.4 Editor Use Cases.......................................................................................................................8
Use case: Update Author.....................................................................................................................8
Use case: Update Reviewer.................................................................................................................9
Use case: Update Article.....................................................................................................................9
Use case: Receive Article..................................................................................................................10
Use case: Assign Reviewer...............................................................................................................11
Use case: Receive Review.................................................................................................................11
Use case: Check Status......................................................................................................................12
Use case: Send Response...................................................................................................................12
Use case: Send Copyright..................................................................................................................13
Use case: Remove Article.................................................................................................................14
Use case: Publish Article...................................................................................................................14
2.3 User Characteristics........................................................................................................................15
2.4 Non-Functional Requirements........................................................................................................15
3.0. Requirements Specification..........................................................................................17
3.1 External Interface Requirements....................................................................................................17
3.2 Functional Requirements................................................................................................................17
3.2.1 Search Article.........................................................................................................................17
3.2.2 Communicate..........................................................................................................................18
3.2.3 Add Author.............................................................................................................................18
3.2.4 Add Reviewer.........................................................................................................................19
3.2.5 Update Person.........................................................................................................................19
3.2.6 Update Article Status..............................................................................................................20
3.2.7 Enter Communication.............................................................................................................20
3.2.8 Assign Reviewer.....................................................................................................................21
3.2.9 Check Status...........................................................................................................................21
3.2.10 Send Communication.............................................................................................................22
3.2.11 Publish Article........................................................................................................................22
3.2.12 Remove Article.......................................................................................................................23
3.3 Detailed Non-Functional Requirements.........................................................................................23
3.3.1 Logical Structure of the Data.................................................................................................23
3.3.2 Security...................................................................................................................................25
Index...............................................................................................................................................................26
2022-Spring ITSE Lab Manual Software Engineering
2022-Spring ITSE Lab Manual Software Engineering

List of Figures
Figure 1 - System Environment........................................................................................................................4
Figure 2 - Article Submission Process.............................................................................................................6
Figure 3 - Editor Use Cases..............................................................................................................................8
Figure 4 - Logical Structure of the Article Manager Data.............................................................................23
2022-Spring ITSE Lab Manual Software Engineering

1.0. Introduction
1.1. Purpose

The purpose of this document is to present a detailed description of the Web Publishing

System. It will explain the purpose and features of the system, the interfaces of the system, what

the system will do, the constraints under which it must operate and how the system will react to

external stimuli. This document is intended for both the stakeholders and the developers of the

system and will be proposed to the Regional Historical Society for its approval.

1.2. Scope of Project

This software system will be a Web Publishing System for a local editor of a regional

historical society. This system will be designed to maximize the editor’s productivity by

providing tools to assist in automating the article review and publishing process, which would

otherwise have to be performed manually. By maximizing the editor’s work efficiency and

production the system will meet the editor’s needs while remaining easy to understand and use.

More specifically, this system is designed to allow an editor to manage and communicate

with a group of reviewers and authors to publish articles to a public website. The software will

facilitate communication between authors, reviewers, and the editor via E-Mail. Preformatted

reply forms are used in every stage of the articles’ progress through the system to provide a

uniform review process; the location of these forms is configurable via the application’s

maintenance options. The system also contains a relational database containing a list of Authors,

Reviewers, and Articles.

1.3. Glossary

Term Definition
Active Article The document that is tracked by the system; it is a narrative
2022-Spring ITSE Lab Manual Software Engineering

that is planned to be posted to the public website.


Author Person submitting an article to be reviewed. In case of
multiple authors, this term refers to the principal author,
with whom all communication is made.
Database Collection of all the information monitored by this system.
Editor Person who receives articles, sends articles for review, and
makes final judgments for publications.
Field A cell within a form.
Historical Society Database The existing membership database (also HS database).
Member A member of the Historical Society listed in the HS
database.
Reader Anyone visiting the site to read articles.
Review A written recommendation about the appropriateness of an
article for publication; may include suggestions for
improvement.
Reviewer A person that examines an article and has the ability to
recommend approval of the article for publication or to
request that changes be made in the article.
Software Requirements A document that completely describes all of the functions
Specification of a proposed system and the constraints under which it
must operate. For example, this document.
Stakeholder Any person with an interest in the project who is not a
developer.
User Reviewer or Author.
1.4. References

IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements

Specifications. IEEE Computer Society, 1998.

1.5. Overview of Document

The next chapter, the Overall Description section, of this document gives an overview of

the functionality of the product. It describes the informal requirements and is used to establish a

context for the technical requirements specification in the next chapter.


2022-Spring ITSE Lab Manual Software Engineering

The third chapter, Requirements Specification section, of this document is written

primarily for the developers and describes in technical terms the details of the functionality of

the product.

Both sections of the document describe the same software product in its entirety, but are

intended for different audiences and thus use different language.


2022-Spring ITSE Lab Manual Software Engineering

2.0. Overall Description


2.1 System Environment

Figure 4 - System Environment

Reader

Author Online Journal

Article Manager

Reviewer HS DB

Web Publishing
System

Editor

The Web Publishing System has four active actors and one cooperating system.

The Author, Reader, or Reviewer accesses the Online Journal through the Internet. Any Author

or Reviewer communication with the system is through email. The Editor accesses the entire

system directly. There is a link to the (existing) Historical Society.


2022-Spring ITSE Lab Manual Software Engineering

<< The division of the Web Publishing System into two component parts, the Online Journal and

the Article Manager, is an example of using domain classes to make an explanation clearer. >>

2.2 Functional Requirements Specification

This section outlines the use cases for each of the active readers separately. The reader,

the author and the reviewer have only one use case apiece while the editor is main actor in this

system.

2.2.1 Reader Use Case

Use case: Search Article


Diagram:

Search Article

Reader

Brief Description
The Reader accesses the Online Journal Website, searches for an article and downloads it to
his/her machine.

Initial Step-By-Step Description


Before this use case can be initiated, the Reader has already accessed the Online Journal
Website.

7. The Reader chooses to search by author name, category, or keyword.


8. The system displays the choices to the Reader.
9. The Reader selects the article desired.
10. The system presents the abstract of the article to the reader.
11. The Reader chooses to download the article.
12. The system provides the requested article.

Xref: Section 3.2.1, Search Article


2022-Spring ITSE Lab Manual Software Engineering

Review
Rewrite

Active
Article

Submit Publish

Figure 5 - Article Submission Process

The Article Submission Process state-transition diagram summarizes the use cases listed below.
An Author submits an article for consideration. The Editor enters it into the system and assigns it
to and sends it to at least three reviewers. The Reviewers return their comments, which are used
by the Editor to make a decision on the article. Either the article is accepted as written, declined,
or the Author is asked to make some changes based on the reviews. If it is accepted, possibly
after a revision , the Editor sends a copyright form to the Author. When that form is returned, the
article is published to the Online Journal. Not shown in the above is the removal of a declined
article from the system.

2.2.2 Author Use Case


In case of multiple authors, this term refers to the principal author, with whom all
communication is made.

Use case: Submit Article


Diagram:

Submit Article

Author

Brief Description
The author either submits an original article or resubmits an edited article.

Initial Step-By-Step Description


Before this use case can be initiated, the Author has already connected to the Online Journal
Website.
2022-Spring ITSE Lab Manual Software Engineering

5. The Author chooses the Email Editor button.


6. The System uses the sendto HTML tag to bring up the user’s email system.
7. The Author fills in the Subject line and attaches the files as directed and emails them.
8. The System generates and sends an email acknowledgement.

Xref: Section 3.2.2, Communicate

2.2.3 Reviewer Use Case


Use case: Submit Review
Diagram:

Submit
Review

Reviewer

Brief Description
The reviewer submits a review of an article.

Initial Step-By-Step Description


Before this use case can be initiated, the Reviewer has already connected to the Online Journal
Website.

5. The Reviewer chooses the Email Editor button.


6. The System uses the sendto HTML tag to bring up the user’s email system.
7. The Reviewer fills in the Subject line and attaches the file as directed and emails it.
8. The System generates and sends an email acknowledgement.

Xref: Section 3.2.2, Communicate


2022-Spring ITSE Lab Manual Software Engineering

2.2.4 Editor Use Cases


The Editor has the following sets of use cases:

Update
Info
Handle Art

Ck Status

Editor

Send Rec

Publish Art

Figure 6 - Editor Use Cases

Update Information use cases

Use case: Update Author


Diagram:

Update
Author

Editor
Brief Description
The Editor enters a new Author or updates information about a current Author.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the Article
Manager.

7. The Editor selects to Add/Update Author.


8. The system presents a choice of adding or updating.
9. The Editor chooses to add or to update.
10. If the Editor is updating an Author, the system presents a list of authors to choose from and
presents a grid filling in with the information; else the system presents a blank grid.
2022-Spring ITSE Lab Manual Software Engineering

11. The Editor fills in the information and submits the form.
12. The system verifies the information and returns the Editor to the Article Manager main page.

Xref: Section 3.2.3, Add Author; Section 3.2.5 Update Person

Use case: Update Reviewer


Diagram:

Update
Reviewer

Hist Soc DB
Editor
Brief Description
The Editor enters a new Reviewer or updates information about a current Reviewer.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the Article
Manager.

8. The Editor selects to Add/Update Reviewer.


9. The system presents a choice of adding or updating.
10. The Editor chooses to add or to update.
11. The system links to the Historical Society Database.
12. If the Editor is updating a Reviewer, the system and presents a grid with the information
about the Reviewer; else the system presents list of members for the editor to select a
Reviewer and presents a grid for the person selected.
13. The Editor fills in the information and submits the form.
14. The system verifies the information and returns the Editor to the Article Manager main
page.

Xref: Section 3.2.4, Add Reviewer; Section 3.2.5, Update Person

Use case: Update Article


Diagram:

Update Article

Editor
Brief Description
2022-Spring ITSE Lab Manual Software Engineering

The Editor enters information about an existing article.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the Article
Manager.

6. The Editor selects to Update Article.


7. The system presents s list of active articles.
8. The system presents the information about the chosen article.
9. The Editor updates and submits the form.
10. The system verifies the information and returns the Editor to the Article Manager main page.

Xref:Section 3.2.6, Update Article Status

Handle Article use cases

Use case: Receive Article


Diagram:

Receive
Article

Editor
Brief Description
The Editor enters a new or revised article into the system.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the Article
Manager and has a file containing the article available.

7. The Editor selects to Receive Article.


8. The system presents a choice of entering a new article or updating an existing article.
9. The Editor chooses to add or to update.
10. If the Editor is updating an article, the system presents a list of articles to choose from and
presents a grid for filling with the information; else the system presents a blank grid.
11. The Editor fills in the information and submits the form.
12. The system verifies the information and returns the Editor to the Article Manager main page.

Xref: Section 3.2.7, Enter Communication

Use case: Assign Reviewer


This use case extends the Update Article use case.
Diagram:
2022-Spring ITSE Lab Manual Software Engineering

Assign Reviewer

Hist Soc DB
Editor

Brief Description
The Editor assigns one or more reviewers to an article.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the Update
Article use case.

8. The Editor selects to Assign Reviewer.


9. The system presents a list of Reviewers with their status (see data description is section 3.3
below).
10. The Editor selects a Reviewer.
11. The system verifies that the person is still an active member using the Historical Society
Database.
12. The Editor repeats steps 3 and 4 until sufficient reviewers are assigned.
13. The system emails the Reviewers, attaching the article and requesting that they do the review.
14. The system returns the Editor to the Update Article use case.

Xref: Section 3.2.8, Assign Reviewer

Use case: Receive Review


This use case extends the Update Article use case.
Diagram:

Receive
Review

Editor

Brief Description
The Editor enters a review into the system.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the Update
Article use case.
2022-Spring ITSE Lab Manual Software Engineering

5. The Editor selects to Receive Review.


6. The system presents a grid for filling with the information.
7. The Editor fills in the information and submits the form.
8. The system verifies the information and returns the Editor to the Article Manager main page.

Xref: Section 3.2.7, Enter Communication

Check Status use case:

Use case: Check Status


Diagram:

Check Status

Editor
Brief Description
The Editor checks the status of all active articles.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the main page of the Article
Manager.

4. The Editor selects to Check Status.


5. The system returns a scrollable list of all active articles with their status (see data description in
section 3.3 below).
6. The system returns the Editor to the Article Manager main page.

Xref:Section 3.2.9, Check Status

Send Recommendation use cases:

Use case: Send Response


This use case extends the Update Article use case.
2022-Spring ITSE Lab Manual Software Engineering

Diagram:

Send
Response

Editor

Brief Description
The Editor sends a response to an Author.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the Update
Article use case.

5. The Editor selects to Send Response.


6. The system calls the email system and puts the Author’s email address in the Recipient line and
the name of the article on the subject line.
7. The Editor fills out the email text and sends the message.
8. The system returns the Editor to the Article Manager main page.

Xref:Section 3.210, Send Communication

Use case: Send Copyright


This use case extends the Update Article use case.

Diagram:

Send
Copyright

Editor
Brief Description
The Editor sends a copyright form to an Author.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the Update
Article use case.

5. The Editor selects to Send Copyright.


6. The system calls the email system and puts the Author’s email address in the Recipient line, the
name of the article on the subject line, and attaches the copyright form.
2022-Spring ITSE Lab Manual Software Engineering

7. The Editor fills out the email text and sends the message.
8. The system returns the Editor to the Article Manager main page.

Xref: Section 3.2.10, Send Communication

Use case: Remove Article


This use case extends the Update Article use case.

Diagram:

Remove
Article

Editor
Brief Description
The Editor removes an article from the active category.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the Update
Article use case.

5. The Editor selects to remove an article from the active database.


6. The system provides a list of articles with the status of each.
7. The Editor selects an article for removal.
8. The system removes the article from the active article database and returns the Editor to the
Article Manager main page.

Xref: Section 3.2.12, Remove Article

Publish Article use case:

Use case: Publish Article


This use case extends the Update Article use case.

Diagram:

Publish Article

Editor
2022-Spring ITSE Lab Manual Software Engineering

Brief Description
The Editor transfers an accepted article to the Online Journal.

Initial Step-By-Step Description


Before this use case can be initiated, the Editor has already accessed the article using the Update
Article use case.

4. The Editor selects to Publish Article.


5. The system transfers the article to the Online Journal and updates the search information there.
6. The system removes the article from the active article database and returns the Editor to the
Article Manager home page.

Xref:Section 3.2.11, Publish Article

<< Since three of the actors only have one use case each, the summary diagram only involves the

Editor. Adapt the rules to the needs of the document rather than adapt the document to fit the

rules. >>

2.3 User Characteristics

The Reader is expected to be Internet literate and be able to use a search engine. The

main screen of the Online Journal Website will have the search function and a link to

“Author/Reviewer Information.”

The Author and Reviewer are expected to be Internet literate and to be able to use email

with attachments.

The Editor is expected to be Windows literate and to be able to use button, pull-down

menus, and similar tools.

The detailed look of these pages is discussed in section 3.2 below.

2.4 Non-Functional Requirements

The Online Journal will be on a server with high speed Internet capability. The physical

machine to be used will be determined by the Historical Society. The software developed here

assumes the use of a tool such as Tomcat for connection between the Web pages and the
2022-Spring ITSE Lab Manual Software Engineering

database. The speed of the Reader’s connection will depend on the hardware used rather than

characteristics of this system.

The Article Manager will run on the editor’s PC and will contain an Access database.

Access is already installed on this computer and is a Windows operating system.


2022-Spring ITSE Lab Manual Software Engineering

3.0. Requirements Specification


3.1 External Interface Requirements

The only link to an external system is the link to the Historical Society (HS) Database to

verify the membership of a Reviewer. The Editor believes that a society member is much more

likely to be an effective reviewer and has imposed a membership requirement for a Reviewer.

The HS Database fields of interest to the Web Publishing Systems are member’s name,

membership (ID) number, and email address (an optional field for the HS Database).

The Assign Reviewer use case sends the Reviewer ID to the HS Database and a Boolean

is returned denoting membership status. The Update Reviewer use case requests a list of member

names, membership numbers and (optional) email addresses when adding a new Reviewer. It

returns a Boolean for membership status when updating a Reviewer.

3.2 Functional Requirements

The Logical Structure of the Data is contained in Section 3.3.1.

3.2.1 Search Article


Use Case Name Search Article
XRef Section 2.2.1, Search Article
SDD, Section 7.1
Trigger The Reader assesses the Online Journal Website
Precondition The Web is displayed with grids for searching
Basic Path 8. The Reader chooses how to search the Web site. The choices
are by Author, by Category, and by Keyword.
9. If the search is by Author, the system creates and presents an
alphabetical list of all authors in the database. In the case of
an article with multiple authors, each is contained in the list.
10. The Reader selects an author.
11. The system creates and presents a list of all articles by that
author in the database.
12. The Reader selects an article.
13. The system displays the Abstract for the article.
14. The Reader selects to download the article or to return to the
article list or to the previous list.
2022-Spring ITSE Lab Manual Software Engineering

You might also like