Professional Documents
Culture Documents
LAB Manual 1-8
LAB Manual 1-8
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.
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.
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.
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
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
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.
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.
To summarize, a Gantt chart shows you what has to be done (the activities) and when
(the schedule).
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.
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
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
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
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)
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)
•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)
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.
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
Insert a new task at the beginning of the definition tasks. Highlight the tasks that
are going to be added as subtasks.
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
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
Add Resource:
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.
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 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
There are many views of a software project under development. Rational Rose is
organized around the views of a software project:
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.
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 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:
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.
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
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
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.
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
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 create a node
2022-Spring ITSE Lab Manual Software Engineering
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
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
Rose Enterprise
Supports multiple languages, including VC++, VB,Java, CORBA.
Rose GUI
Standard ToolBar
Diagram ToolBox
Browser
Diagram Window
Documentation Window
Specifications
Log Window
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 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.
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 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.
Clicking the Browse Class Diagram icon opens the Select Class Diagram dialog box.
Clicking the Browse Interaction Diagram icon opens the Select Interaction Diagram
dialog box.
Clicking the Browse Component Diagram icon opens the Select Component Diagram
dialog box.
Clicking the Browse State Machine Diagram icon opens the Select Statechart
Diagram or Activity Diagram dialog box.
Clicking the Browse Deployment Diagram icon opens the Deployment Diagram dialog
box.
2022-Spring ITSE Lab Manual Software Engineering
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.
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.
Diagram Toolbox
Bowser Window
Documentation Window
Log Window
2022-Spring ITSE Lab Manual Software Engineering
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.
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.
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
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.
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.
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.
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.
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.
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.
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
Destroying Objects
Objects can be terminated early using an arrow labeled "<< destroy >>" that points to an
X.
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.
Lab # 6
2022-Spring ITSE Lab Manual Software Engineering
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.
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
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.
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
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
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
Lab # 08
Version 1.0
<<Annotated Version>>
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
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
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
editor’s work efficiency and production the system will meet the editor’s needs while
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
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
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.
primarily for the developers and describes in technical terms the details of the
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
Reader
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
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
Search Article
Reader
Brief Description
The Reader accesses the Online Journal Website, searches for an article and downloads it
to his/her machine.
Review
Rewrite
Active
Article
Submit Publish
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.
Submit Article
Author
Brief Description
The author either submits an original article or resubmits an edited article.
Before this use case can be initiated, the Author has already connected to the Online
Journal Website.
Submit
Review
Reviewer
Brief Description
The reviewer submits a review of an article.
Update
Info
Handle Art
Ck Status
Editor
Send Rec
Publish Art
Update
Author
Editor
Brief Description
The Editor enters a new Author or updates information about a current Author.
Update
Reviewer
Hist Soc DB
Editor
Brief Description
The Editor enters a new Reviewer or updates information about a current Reviewer.
Update Article
Editor
2022-Spring ITSE Lab Manual Software Engineering
Brief Description
The Editor enters information about an existing article.
Receive
Article
Editor
Brief Description
The Editor enters a new or revised article into the system.
Assign Reviewer
Hist Soc DB
Editor
Brief Description
The Editor assigns one or more reviewers to an article.
Receive
Review
Editor
Brief Description
The Editor enters a review into the system.
2022-Spring ITSE Lab Manual Software Engineering
Check Status
Editor
Brief Description
The Editor checks the status of all active articles.
Diagram:
Send
Response
Editor
Brief Description
The Editor sends a response to an Author.
Diagram:
Send
Copyright
Editor
Brief Description
The Editor sends a copyright form to an Author.
3. The Editor fills out the email text and sends the message.
4. The system returns the Editor to the Article Manager main page.
Diagram:
Remove
Article
Editor
Brief Description
The Editor removes an article from the active category.
Diagram:
Publish Article
Editor
2022-Spring ITSE Lab Manual Software Engineering
Brief Description
The Editor transfers an accepted article to the Online Journal.
<< 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
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
The Editor is expected to be Windows literate and to be able to use button, pull-
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
The Article Manager will run on the editor’s PC and will contain an Access
system.
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
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.
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.
Open the Microsoft Visual Studio 2008. Go to File:New Website the following dialog box appears
2022-Spring ITSE Lab Manual Software Engineering
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.
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
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.
To drag it to the desired position on the page, go to Format Set PositionAbsolute. 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.
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
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.
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:
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
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
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.
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.
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 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 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.
Exercise
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
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.
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:
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
Note: Primary Key is inherited with the properties of Not NULL and Unique.
In the table
3. This will open a new window of php MyAdmin for creating a database
2022-Spring ITSE Lab Manual Software Engineering
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.
2. This will open a new page for filling records in the specified fields. Fill up the
fields and click on Go.
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
Version 1.0
<<Annotated Version>>
<<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.
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,
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
IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements
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
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
Reader
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
<< 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. >>
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.
Search Article
Reader
Brief Description
The Reader accesses the Online Journal Website, searches for an article and downloads it to
his/her machine.
Review
Rewrite
Active
Article
Submit Publish
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.
Submit Article
Author
Brief Description
The author either submits an original article or resubmits an edited article.
Submit
Review
Reviewer
Brief Description
The reviewer submits a review of an article.
Update
Info
Handle Art
Ck Status
Editor
Send Rec
Publish Art
Update
Author
Editor
Brief Description
The Editor enters a new Author or updates information about a current Author.
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.
Update
Reviewer
Hist Soc DB
Editor
Brief Description
The Editor enters a new Reviewer or updates information about a current Reviewer.
Update Article
Editor
Brief Description
2022-Spring ITSE Lab Manual Software Engineering
Receive
Article
Editor
Brief Description
The Editor enters a new or revised article into the system.
Assign Reviewer
Hist Soc DB
Editor
Brief Description
The Editor assigns one or more reviewers to an article.
Receive
Review
Editor
Brief Description
The Editor enters a review into the system.
Check Status
Editor
Brief Description
The Editor checks the status of all active articles.
Diagram:
Send
Response
Editor
Brief Description
The Editor sends a response to an Author.
Diagram:
Send
Copyright
Editor
Brief Description
The Editor sends a copyright form to an Author.
7. The Editor fills out the email text and sends the message.
8. The system returns the Editor to the Article Manager main page.
Diagram:
Remove
Article
Editor
Brief Description
The Editor removes an article from the active category.
Diagram:
Publish Article
Editor
2022-Spring ITSE Lab Manual Software Engineering
Brief Description
The Editor transfers an accepted article to the Online Journal.
<< 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. >>
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
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
The Article Manager will run on the editor’s PC and will contain an Access database.
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