Untitled
Untitled
Untitled
KCS 651
Hardware Requirements:
Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard keyboard and mouse, coloured
monitor.
Software Requirements:
AgroUML, Windows XP/2000, MS OFFICE
This lab deals with the analysis and design of a software problem .the tool used in a lab is
AgroUML .This tool is used for a object oriented design of a problem . We draw a uml
diagram in a AgroUML which deals with the objects and classes in a system .The
Unified Modeling Language or UML is is a mostly graphical modelling language that
is used to express designs. It is a standardized language in which to specify the
artifacts and components of a software system. It is important to understand that the
UML describes a notation and not a process. It does not put forth a single method or
process of design, but rather is a standardized tool that can be used in a design process.
Goals of UML
As the strategic value of software increases for many companies, the industry looks for
techniques to automate the production of software and to improve quality and reduce cost
and time-to-market. These techniques include component technology, visual
programming, patterns and frameworks. Businesses also seek techniques to manage the
complexity of systems as they increase in scope and scale. In particular, they recognize
the need to solve recurring architectural problems, such as physical distribution,
concurrency, replication, security, load balancing and fault tolerance.
The UML is not limited to modeling software. In fact, it is expressive enough to model
non software systems, such as workflow in the legal system, the structure and behavior of
a patient healthcare system, and the design of hardware.
Roll No.
INDEX
S.No. Name of the Program Date Signature Remarks
& Date
EXCERCISE NO. 1
REQUIREMENTS:
Hardware Interfaces
Software Interfaces
THEORY:
The problem statement is the initial starting point for a project. It is basically a one to
three page statement that everyone on the project agrees with that describes what will be
done at a high level. The problem statement is intended for a broad audience and should
be written in non-technical terms. It helps the non-technical and technical personnel
communicate by providing a description of a problem. It doesn't describe the solution to
the problem.
The first phase of requirements engineering begins with requirements elicitation i.e.
gathering of information about requirements. Here, requirements are identified with the
help of customer and existing system processes. So from here begins the preparation of
problem statement.
So, basically a problem statement describes what needs to be done without describing
how.
Conclusion: The problem statement was written successfully by following the steps
described above.
EXCERCISE NO. 2
Requirements:
Hardware Requirements:
PC with 300 megahertz or higher processor clock speed recommended; 233 MHz
minimum required.
128 megabytes (MB) of RAM or higher recommended (64 MB minimum
supported)
1.5 gigabytes (GB) of available hard disk space
CD ROM or DVD Drive
Keyboard and Mouse(compatible pointing device).
Software Requirements:
Theory:
The SRS document itself states in precise and explicit language those functions and
capabilities a software system (i.e., a software application, an eCommerce Web site, and
so on) must provide, as well as states any required constraints by which the system must
abide. The SRS also functions as a blueprint for completing a project with as little cost
growth as possible. The SRS is often referred to as the "parent" document because all
subsequent project management documents, such as design specifications, statements of
work, software architecture specifications, testing and validation plans, and
documentation plans, are related to it.
It's important to note that an SRS contains functional and nonfunctional requirements
only; it doesn't offer design suggestions, possible solutions to technology or business
issues, or any other information other than what the development team understands the
customer's system requirements to be.
It provides feedback to the customer. An SRS is the customer's assurance that the
development organization understands the issues or problems to be solved and the
software behavior necessary to address those problems. Therefore, the SRS
should be written in natural language (versus a formal language, explained later in
this article), in an unambiguous manner that may also include charts, tables, data
flow diagrams, decision tables, and so on.
It decomposes the problem into component parts. The simple act of writing down
software requirements in a well-designed format organizes information, places
borders around the problem, solidifies ideas, and helps break down the problem
into its component parts in an orderly fashion.
It serves as an input to the design specification. As mentioned previously, the SRS
serves as the parent document to subsequent documents, such as the software
design specification and statement of work. Therefore, the SRS must contain
sufficient detail in the functional system requirements so that a design solution
can be devised.
It serves as a product validation check. The SRS also serves as the parent
document for testing and validation strategies that will be applied to the
requirements for verification.
SRSs are typically developed during the first stages of "Requirements Development,"
which is the initial product development phase in which information is gathered about
what requirements are needed--and not. This information-gathering stage can include
onsite visits, questionnaires, surveys, interviews, and perhaps a return-on-investment
(ROI) analysis or needs analysis of the customer or client's current business
environment. The actual specification, then, is written after the requirements have
been gathered and analyzed.
a) Correct
b) Unambiguous
c) Complete
d) Consistent
e) Ranked for importance and/or stability
f) Verifiable
g) Modifiable
h) Traceable
Correct - This is like motherhood and apple pie. Of course you want the specification to
be correct. No one writes a specification that they know is incorrect. We like to say -
"Correct and Ever Correcting." The discipline is keeping the specification up to date
when you find things that are not correct.
Unambiguous - An SRS is unambiguous if, and only if, every requirement stated therein
has only one interpretation. Again, easier said than done. Spending time on this area prior
to releasing the SRS can be a waste of time. But as you find ambiguities - fix them.
Complete - A simple judge of this is that is should be all that is needed by the software
designers to create the software.
Consistent - The SRS should be consistent within itself and consistent to its reference
documents. If you call an input "Start and Stop" in one place, don't call it "Start/Stop" in
another.
Ranked for Importance - Very often a new system has requirements that are really
marketing wish lists. Some may not be achievable. It is useful provide this information in
the SRS.
Verifiable - Don't put in requirements like - "It should provide the user a fast response."
Another of my favorites is - "The system should never crash." Instead, provide a
quantitative requirement like: "Every key stroke should provide a user response within
100 milliseconds."
Modifiable - Having the same requirement in more than one place may not be wrong -
but tends to make the document not maintainable.
2. Overall Description
2.1 Product perspective
2.2 Product functions
2.3 User classes and characteristics
2.4 Operating environment
2.5 User environment
2.6 Design/implementation constraints
2.7 Assumptions and dependencies
4. System Features
4.1 System feature
4.1.1 Description and priority
4.1.2 Action/result
4.1.3 Functional requirements
4.2 System feature B
6. Other Requirements
Appendix A: Terminology/Glossary/Definitions list
Appendix B: To be determined
Conclusion: The SRS was made successfully by following the steps described above.
SAMPLE SRS
S O F T WA R E R E Q U I R E M E N T S S P E C I F I C AT I O
N
ATM
Version 1.0
September 8, 2006
Table of Contents
1. Introduction
1.1 Purpose
1.2 Scope
1.3 Definitions, Acronyms, and Abbreviations
1.4 References
1.5 Overview
1. Introduction
TM
The software ATMExcl 3.0 version1.0 is to be developed for Automated Teller
Machines (ATM). An automated teller machine (ATM) is computerized
telecommunications device that provides a financial institution's customers a secure
method of performing financial transactions, in a public space without the need for a
TM
human bank teller. Through ATMExcl 3.0 ,customers interact with a user-friendly
interface that enables them to access their bank accounts and perform various
transactions.
1.1 Purpose
This SRS defines External Interface, Performance and Software System Attributes
TM
requirements of ATMExcl 3.0 . This document is intended for the following group of
people:-
1.2 Scope
TM
This document applies to Automated Teller Machine software ATM 3.0 . This
software facilitates the user to perform various transaction in his account without going
to bank. This software offers benefits such cash withdrawals, balance transfers, deposits,
inquiries, credit card advances and other banking related operations for customers. It also
allows the administrator to fix the tariffs and rules as and when required.
The software takes as input the login Id and tha bank account number of the user for
login purposes. The outputs then comprise of an interactive display that lets the user
select the desirable function that he wants to perform..
The software is expected to complete in duration of six months and the estimated cost is
Rs18 lakhs.
AC Alternate Current
AIMS ATM Information Management System.
ATM An unattended electronic machine in a public place, connected
to a data system and related equipment and activated by a
1.4 References
i. www.google.co.in
ii. www.winkipedia.com
1.5 Overview
Language Selection:- After the user has logged in, the display provides
him with a list of languages from which he can select any one in order to
interact with the machine throughout that session. After the language
selection the user is prompted with an option that whether he wants the
selected language to be fixed for future use so that he is not offered with
the language selection menu in future thus making the transaction a bit
faster. User also has the freedom to switch to a different language
mentioned in the list in between that session.
Account Maintenance:- The various functions that a user can perform
with his account are as follows:-
Account Type:-The user has the freedom to select his account type to
which all the transactions are made, i.e. he can select whether the
account is current account or savings account etc.
There are different kind of users that will be interacting with the system. The intended
user of the software are as follows:-
User A: A novice ATM customer. This user has little or no experience
with electronic means of account management and is not a frequent user
of the product. User A will find the product easy to use due to simple
explanatory screens for each ATM function. He is also assisted by an
intarctive teaching mechanism at every atep of the transaction, both with
the help of visual and audio help sessions.
User B: An experienced customer. This user has used an ATM on several
occasions before and does most of his account management through the
ATM. There is only a little help session that too at the beginning of the
session thus making the transaction procedure more faster.
Maintenance Personnel: A bank employee. This user is familiar with the
functioning of the ATM. This user is in charge of storing cash into the
ATM vault and repairing the ATM in case of malfunction. This user is
presented with a different display when he logs in with the
admninistrator’s password and is provided with options different from that
of normal user. He has the authority to change or restrict various features
provided by the software in situations of repairing.
2.4 Constraints
The number of invalid pin entries attempted must not exceed three. After
three unsuccessful login attempts, the card is seized/blocked and need to
be unlocked by the bank.
The simultaneous access to an account through both, the ATM and the
bank is not supported.
The minimum amount of money a user can withdraw is Rs 100/- and the
maximum amount of money a user can withdraw in a session is
The requirements stated in the SRS could be affected by the following factors:
One major dependency that the project might face is the changes that need to be
incorporated with the changes in the bank policies regarding different services. As
the policies changes the system needs to be updated with the same immediately. A
delay in doing the same will result to tremendous loss to the bank. So this should
be changed as and when required by the developer.
Another constraint relating to the operating environment is that we are specific to
Oracle Database.
The project could be largely affected if some amount is withdrawn from the
user’s account from the bank at the same time when someone is accessing that
account through the ATM machine. Such a condition shall be taken care of.
At this stage no quantitive measures are imposed on the software in terms of
speed and memory although it is implied that all functions will be optimized with
respect to speed and memory.
It is furthermore assumed that the scope of the package will increase considerably in
the future.
The interface provided to the user should be a very user-friendly one and it
should provide an optional interactive help for each of the service listed. The
interface provided is a menu driven one and the following screens will be
provided:-
The following reports will be generated after each session dealt with in the
machine:-
1. The login time and logout time along with the user’s pin no and account
number is registered in the bank’s database.
2. The ATM’s branch ID through which the session is established is also
noted down in the bank’s database.
3. Various changes in the user’s account after the transactions,if any, are
reported in the database.
4. A printed statement is generated for the user displaying all the
transactions he performed.
There are various hardware components with which the machine is required
to interact. Various hardware interface requirements that need to be fulfilled
for successful functioning of the software are as follows:-
The ATM power supply shall have a 10/220 V AC manual switch.
o Width - 85.47mm-85.72mm
o Height - 53.92mm-54.03mm
o Thickness - 0.76mm+0.08mm
The card reader shall be a magnetic stripe reader
The slot for a card in thye card reader may include an extra
indentation for the embossed area of the card. In effect it acts as a
polarization key and may be used to aid the correct insertion
orientation of the card. This is an additional characteristic to the
magnetic field sensor which operates off the magnetic stripe and is
used to open a mechanical gate on devices such as ATMs.
There shall be a 40 column dot matrix receipt printer.
The machine needs to communicate with the main branch for each session for
various functions such as login verification, account access etc. so the
following are the various communication interface requirements that are
needed to be fulfilled in order to run the software successfully:-
The system will employ dial-up POS with the central server for
low cost communication.
The communication protocol used shall be TCP/IP.
4. System Features
Description
The system is designed to provide the user with the facility of remote banking
and perform various other functions at an interface without any aid of human
bank teller. The functioning of the system shall be as follows:-
At the start, the user is provided with a log in screen and he is required
to enter his PIN NO. and Account details which are then verified by the machine.
In case of an unsuccessful attempt a user is asked again for his credentials but the
maximum number of attempt given to the user is limited to 3 only, failing which
his card is blocked and need to be unblocked by the bank for any future use.
After a successful log in, the user is presented with a list of language.
The user can select any one in the list for interaction with the machine for the
entire session. After the language selection the user is also asked whether he
wants to fix that language for future use also so that he is never asked for
language in future. In addition there is also a facility for the user to switch to any
other language during that session.
After the language selection, the user is directed towards a main page
that displays a set of options/services along with their brief description, enabling
the user to understand their functioning. The user can select any of the listed
option and can continue with the transaction.
The machine also provides the user with a number of miscellaneous
services such as:
The machine lists a set of operators that are supported by the bank. A
user can clear off his pending mobile phone bills be selecting his operator.
The machine also has the facility to display a map that marks the
location of other ATMs of the same bank in the city. This may help the user to
look for the ATM nearest to his destination.
At any moment if the user wants to abort the transaction, he is
provided with an option to cancel it. Just by pressing the abort button he can
cancel all the changes made so far and can begin with a new transaction.
After the user is finished with his work, for security purpose, he is
required to log out and then take his card out of the slot.
Validity Checks
In order to gain access to the system, the user is required to enter his/her
correct user id/pin no and account no failing which his card may be blocked.
The user can access only one account at a time and can enter only one
account no.
Also if the user is an administrator, he is required to enter his login id in
order to access and change the facilities provided by the system.
Sequencing Information
The information about the users and their account should be entered into the
database prior to any of the transactions and the backup be maintained for all
account information
If any of the above validation/sequencing flow does not hold true, appropriate
error messages will be prompted to the user for doing the needful.
2. Receipt Generation
After ech transaction user has performed, a receipt is generated that contains all the
information about the transaction. The format of the generated receipt is as shown
below:-
KPM BANK
Branch name/Id
(address)
Account No:-
User Name:-
TRANSACTIONS:
The following list provides a brief summary of the performance requirements for the
software:
5.1.1 Capacity
The ATM shall provide customers a 24 hour service.
Credit card advance time must not exceed 6 sec. under normal
traffic and server and peak traffic and server workload.
5.2.1 Reliability
The data communication protocol shall be such that it ensures
reliability and quality of data and voice transmission in a mobile
environment. For example, CDMA.
The memory system shall be of non-volatile type.
5.2.2 Availability
The product will have a backup power supply incase of power
failures.
Any abnormal operations shall result in the shutting down of the
system.
After abnormal shutdown of the ATM, the system shall have to be
manually restarted by a maintenance personnel.
There should be no inconsistency introduced in the account during
whose transaction the system is abnormally shut down.
5.2.3 Security
The system shall be compatible with AIMS security standards.
The system shall have two levels of security i.e. ATM card and pin
verification both authenticated by the CMS software.
The Encryption standard used during pin transmission shall be
triple DES.
The password shall be 6-14 characters long.
User should be provided with only three attempts for login failing
which his card needs to be blocked.
There shall be a security camera installed near the ATM.
5.2.4 Maintainability
The system components i.e. modem, memory, disk, drives shall be
easily serviceable without requiring access to the vault.
The system should have the mechanism of self-monitoring
periodically in order to detect any fault.
The system should inform the main branch automatically as soon
as it detects any error. The kind of fault and the problem being
encountered should also be mentioned by the system
automatically.
The Administrator has the authority to fix the rules and regulations and to set or
update the policies as and when required.
The staff at the bank performs the following:
a. Making the entries in the system regarding all the details of the bank
account of the user.
b. Keeping the bank account of the user updated as soon as changes are
encountered so that the data is in consistent state.
c. Blocking or seizing of the account of user on discovery of any illegal
transaction.
d. Unblocking of ATM card that got blocked due to more than three
unsuccessful login attempt.
e. Blocking of a lost/stolen ATM card on complaint of the user, only if he
presents his verification and a FIR filed for that case.
f. Costantly monitor all the ATMs in the city to check whether any one of
them is encountering any fault.
g. Immediately correct any fault discovered in any of the ATM.
h. Maintain the backup of all the accounts for reliability purposes.
i. Rollback all the changes made in an account during whose transaction an
ATM got abnormal shutdown.
In case of loss of the ATM card. The user has to lodge a First Investigation
Report(FIR) and present its one copy to bank officials for card blocking purposes.
A log of the following annexures is generated by the system:
6 Other Requirements
None.
Appendix A: Glossary
EXCERCISE NO. 3
AIM :-
To draw a sample ENTITY RELATIONSHIP DIAGRAM for real project or system.
Hardware Requirements:
Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard keyboard n mouse, colored
monitor.
Software Requirements:
Rational Rose, Windows XP,
THEORY
Entity Relationship Diagrams are a major data modelling tool and will help organize the
data in your project into entities and define the relationships between the entities. This
process has proved to enable the analyst to produce a good database structure so that the
data can be stored and retrieved in a most efficient manner.
Entity
A data entity is anything real or abstract about which we want to store data. Entity types
fall into five classes: roles, events, locations, tangible things or concepts. E.g. employee,
payment, campus, book. Specific examples of an entity are called instances. E.g. the
employee John Jones, Mary Smith's payment, etc.
Relationship
A data relationship is a natural association that exists between one or more entities. E.g.
Employees process payments. Cardinality defines the number of occurrences of one
entity for a single occurrence of the related entity. E.g. an employee may process many
payments but might not process any payments depending on the nature of her job.
Attribute
A SIMPLE EXAMPLE
A company has several departments. Each department has a supervisor and at least one
employee. Employees must be assigned to at least one, but possibly more departments. At
least one employee is assigned to a project, but an employee may be on vacation and not
assigned to any projects. The important data fields are the names of the departments,
projects, supervisors and employees, as well as the supervisor and employee number and
a unique project number.
1. Identify Entities
The entities in this system are Department, Employee, Supervisor and Project. One is
tempted to make Company an entity, but it is a false entity because it has only one
instance in this problem. True entities must have more than one instance.
2. Find Relationships
We construct the following Entity Relationship Matrix:
4. Fill in Cardinality
From the description of the problem we see that:
7. Identify Attributes
The only attributes indicated are the names of the departments, projects, supervisors and
employees, as well as the supervisor and employee NUMBER and a unique project
number.
8. Map Attributes
Attribute Entity Attribute Entity
Department Department Supervisor Supervisor
Name Number
Employee Employee Supervisor Supervisor
Number Name
Employee Employee Project Project
Name Name
Project Project
Number
FURTHER DISCUSSION:
The second symbol gives the maximum number of instances of the entity joining the
connector for each instance of the entity on the other side of the relationship. If there is
only one such instance, this symbol is 1. If more than 1, the symbol is a crows foot
opening towards the rectangle.
If you read it like a sentence, the first entity is the subject, the relationship is the verb, the
cardinality after the relationship tells how many direct objects (second entity) there are.
Fortunately, by introducing an extra entity, called an associative entity for each many-to-
many relationship, we can solve this problem. The new associative entity's name will be
the hyphenation of the names of the two originating entities. It will have a concatenated
key consisting of the keys of these two entities. It will have a 1-1 relationship with each
of its parent entities and each parent will have the same relationship with the associative
entity that they had with each other before we introduced the associative entity. The
original relationship between the parents will be deleted from the diagram.
The key-based ERD has no many-to-many relationships and each entity has its primary
and foreign keys listed below the entity name in its rectangle.
Even if you have no new entities to add to the Key-Based ERD, you still need to add the
attributes to the Non-Key Data section of each rectangle. Adding these attributes
automatically puts them in the repository, so when we use the entity to design the new
system, all its attributes will be available.
Conclusion: The entity relationship diagram was made successfully by following the
steps described above.
EXCERCISE NO. 4
REQUIREMENTS:
Hardware Interfaces
Software Interfaces
THEORY
Data flow diagrams illustrate how data is processed by a system in terms of inputs and
outputs.
Process Notations
Process
A process transforms incoming data flow into outgoing data flow.
Datastore Notations
Dataflow Notations
Dataflow
Dataflows are pipelines through which packets of information flow. Label the arrows
with the name of the data that moves through it.
Context Diagrams
A context diagram is a top level (also known as Level 0) data flow diagram. It only
contains one process node (process 0) that generalizes the function of the entire system in
relationship to external entities.
External Entity
External entities are objects outside the system, with which the system communicates.
External entities are sources and destinations of the system's inputs and outputs.
DFD levels
The first level DFD shows the main processes within the system. Each of these processes
can be broken into further processes until you reach pseudocode.
Conclusion: The dataflow diagram was made successfully by following the steps
described above.
EXERCISE NO. 5
Aim:
Steps to draw the Use Case Diagram using Rational Rose.
Hardware Requirements:
Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard keyboard n mouse, colored
monitor.
Software Requirements:
Rational Rose, Windows XP,
Theory:
According to the UML specification a use case diagram is “a diagram that shows the
relationships among actors and use cases within a system.” Use case diagrams are often
used to:
Use case models should be developed from the point of view of your project stakeholders
and not from the (often technical) point of view of developers. There are guidelines for:
Use Cases
Actors
Relationships
1. Use Cases
A use case describes a sequence of actions that provide a measurable value to an actor. A
use case is drawn as a horizontal ellipse on a UML use case diagram.
2. Actors
An actor is a person, organization, or external system that plays a role in one or more
interactions with your system (actors are typically drawn as stick figures on UML Use
Case diagrams).
3. Relationships
There are several types of relationships that may appear on a use case diagram:
Associations are depicted as lines connecting two modeling elements with an optional
open-headed arrowhead on one end of the line indicating the direction of the initial
invocation of the relationship. Generalizations are depicted as a close-headed arrow with
the arrow pointing towards the more general modeling element.
The rectangle around the use cases is called the system boundary box and as the name
suggests it indicates the scope of your system – the use cases inside the rectangle
represent the functionality that you intend to implement.
we start by identifying as many actors as possible. You should ask how the actors interact
with the system to identify an initial set of use cases. Then, on the diagram, you connect
the actors with the use cases with which they are involved. If actor supplies information,
initiates the use case, or receives any information as a result of the use case, then there
should be an association between them.
..
• Click on the File menu and select New.
-
- ··"" ., .A
$¥..ttoQA$
\oq...
$ ...
""*"' ...
.....
"'""' (1:11,1>
'"'*'*"···
1'$11\o:c! .
t•:'A<or.....,,. \l:(t!,.U((
,
• Now from the Dialogue Box that appears ,select the language which you want to
use for ---- ------iiiiiiiiiiiiiiiiiiiii
creatingEyour..;m;;;.o;..d;;.e;.
L;.
,..
.._
r- ()u e-
·
0L<PV
·0CoO<T v-
Wi W PI
c"'•
..
1111 ;J2$[12 Jt$£ t) ,..11.
··- •
ICl ll Md <r Mw r l.
Brow.!'k"'*'£t!'Heri
"""
Software Engineering 52
Laboratory Manual
• In the left hand side window of Rational Rose right click on "Use Case view"
and select New>Use Case Diagram.
Software Engineering 53
Laboratory Manual
• Enter the name of new Use Case file in the space provided,and then click on that
file name.
..
--
· d: u..e (dJ<:. 0'-UtrU•c C<11e '1'1.,../lldll\pt : g Q:[g)
.:.
...
);-
"/
!
'"'
• C)l,Qgoe.eV"""
,., ClC'...,.V-
lei; 0
iill-lodoll
r,•
J
.....
Ja
il
. . . ... _..
-:: st,;rt ; "' .,,.,.. r .l ..U..... •I'W.I6teo.- : . 'f>fiU p:; a'. .,.
•
Software Engineering 54
Laboratory Manual
You can now use the window that appears on right hand side to draw your Use
Case diagram using the buttons provided on the vertical toolbar.
Conclusion: The use case diagram was made successfully by following the steps
described above.
Software Engineering 55
Laboratory Manual
Some Sample Use Case Diagrams are given below for illustration purpose:
Authentication
User/BT Searching
Data Transfer
Administrator
Mobility Management
Signalling Management
Software Updation
Software Engineering 56
Laboratory Manual
Booking
login
Employee
Enquiry Administrator
Report
Resources
Update
Software Engineering 57
Laboratory Manual
EXERCISE NO. 6
AIM :-
To draw a sample activity diagram for real project or system.
Hardware Requirements:
Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard keyboard n mouse, colored
monitor.
Software Requirements:
Rational Rose, Windows XP,
THEORY
UML 2 activity diagrams are typically used for business process modeling, for modeling
the logic captured by a single use case or usage scenario, or for modeling the detailed
logic of a business rule. Although UML activity diagrams could potentially model the
internal logic of a complex operation it would be far better to simply rewrite the
operation so that it is simple enough that you don’t require an activity diagram. In many
ways UML activity diagrams are the object-oriented equivalent of flow charts and data
flow diagrams (DFDs) from structured development.
Initial node. The filled in circle is the starting point of the diagram. An initial
node isn’t required although it does make it significantly easier to read the
diagram.
Activity final node. The filled circle with a border is the ending point. An
activity diagram can have zero or more activity final nodes.
Activity. The rounded rectangles represent activities that occur. An activity may
be physical, such as Inspect Forms, or electronic, such as Display Create Student
Screen.
Flow/edge. The arrows on the diagram. Although there is a subtle difference
between flows and edges,never a practical purpose for the difference although.
Software Engineering 58
Laboratory Manual
Fork. A black bar with one flow going into it and several leaving it. This
denotes the beginning of parallel activity.
Join. A black bar with several flows entering it and one leaving it. All flows
going into the join must reach it before processing may continue. This denotes
the end of parallel processing.
Condition. Text such as [Incorrect Form] on a flow, defining a guard which
must evaluate to true in order to traverse the node.
Decision. A diamond with one flow entering and several leaving. The flows
leaving include conditions although some modelers will not indicate the
conditions if it is obvious.
Merge. A diamond with several flows entering and one leaving. The implication
is that one or more incoming flows must reach this point until processing
continues, based on any guards on the outgoing flow.
Partition. If figure is organized into three partitions, it is also called swimlanes,
indicating who/what is performing the activities (either the Applicant, Registrar,
or System).
Sub-activity indicator. The rake in the bottom corner of an activity, such as in
the Apply to University activity, indicates that the activity is described by a more
finely detailed activity diagram.
Flow final. The circle with the X through it. This indicates that the process stops
at this point.
1.General Guidelines
2.Activities
3.Decision Points
4.Guards
5.Parallel Activities
6.Swimlane Guidelines
7.Action-Object Guidelines
Software Engineering 59
Laboratory Manual
1. General Guidelines
1. Place The Start Point In The Top-Left Corner. A start point is modeled with a
filled in circle, using the same notation that UML State Chart diagrams use.
Every UML Activity Diagram should have a starting point, and placing it in the
top-left corner reflects the way that people in Western cultures begin reading.
Figure1, which models the business process of enrolling in a university, takes this
approach.
2. Always Include an Ending Point. An ending point is modeled with a filled in
circle with a border around it, using the same notation that UML State Chart
diagrams use. Figure1 is interesting because it does not include an end point
because it describes a continuous process – sometimes the guidelines don’t apply.
3. Flowcharting Operations Implies the Need to Simplify. A good rule of thumb is
that if an operation is so complex you need to develop a UML Activity diagram to
understand it that you should consider refactoring it.
2. Activities
Software Engineering 60
Laboratory Manual
1. Question “Black Hole” Activities. A black hole activity is one that has transitions
into it but none out, typically indicating that you have either missed one or more
transitions.
2. Question “Miracle” Activities. A miracle activity is one that has transitions out of
it but none into it, something that should be true only of start points.
3. Decision Points
1. Decision Points Should Reflect the Previous Activity. In figure1 we see that there
is no label on the decision point, unlike traditional flowcharts which would
include text describing the actual decision being made, we need to imply that the
decision concerns whether the person was enrolled in the university based on the
activity that the decision point follows. The guards, depicted using the format
[description], on the transitions leaving the decision point also help to describe
the decision point.
2. Avoid Superfluous Decision Points. The Fill Out Enrollment Forms activity in
FIGURE1 includes an implied decision point, a check to see that the forms are
filled out properly, which simplified the diagram by avoiding an additional
diamond.
4. Guards
Software Engineering 61
Laboratory Manual
5. Parallel Activities
It is possible to show that activities can occur in parallel, as you see in FIGURE 1
depicted using two parallel bars. The first bar is called a fork, it has one transition
entering it and two or more transitions leaving it. The second bar is a join, with two or
more transitions entering it and only one leaving it.
1. A Fork Should Have a Corresponding Join. In general, for every start (fork) there
is an end (join). In UML 2 it is not required to have a join, but it usually makes
sense.
2. Forks Have One Entry Transition.
3. Joins Have One Exit Transition
4. Avoid Superfluous Forks. FIGURE 2 depicts a simplified description of the
software process of enterprise architectural modeling, a part of the Enterprise
Unified Process (EUP). There is significant opportunity for parallelism in this
process, in fact all of these activities could happen in parallel, but forks were not
introduced because they would only have cluttered the diagram.
6. Swimlane Guidelines
Software Engineering 62
Laboratory Manual
•
Stakeholder Requirements Analyst Enterprise Architect
Model
Prioritize
Enterprise
Enterprise
Requirements - Business
Architecture
lit
L....
Model -
Enterprise Support
r- Requirements - Project Teams
Describe - Model
Enterprise
Enterprise
Technical
Requirements
Architecture
Software Engineering 63
Laboratory Manual
7 Action-Object Guidelines
Activities act on objects, In the strict object-oriented sense of the term an action object is
a system object, a software construct. In the looser, and much more useful for business
application modeling, sense of the term an action object is any sort of item. For example
in FIGURE 3 the ExpenseForm action object is likely a paper form.
Conclusion: The activity diagram was made successfully by following the steps
described above.
Software Engineering 64
Laboratory Manual
SAMPLE 1:
As you can see in Figure , the first activity is to get dressed to leave for the lecture. A
decision then has to be made, depending on the time available for the lecture to start, and
the timings of the public trains (metra). If there is sufficient time to catch the train, then
take the train; else, flag down a cab to the University. The final activity is to actually
attend the lecture, after which the Activity diagram terminates.
Software Engineering 65
Laboratory Manual
SAMPLE 2:
In the first step in this Activity diagram, the system determines whether the course that is
to be managed is a new course or an existing course. For managing a new course, a
separate activity, "Create Course," is performed. On the other hand, if a course exists, the
course administrator can perform two different activities—modify an existing course or
remove an existing course. Hence, the system checks the type of operation desired based
on which two separate activities can be performed—"Modify Course" or "Remove
Course".
Software Engineering 66
Laboratory Manual
Activity diagram
Software Engineering 67
Laboratory Manual
EXERCISE NO. 7
REQUIREMENTS:
Hardware Interfaces
Software Interfaces
THEORY:
State Chart Diagrams provide a way to model the various states in which
an object can exist.
There are two special states: the start state and the stop state.
The Start state is represented by a block dot.
The Stop state is represented by a bull’s eye.
A condition enclosed in square brackets is called a guard
condition, and controls when a transition can or cannot occur.
Process that occur while an object is in certain state are called actions.
Software Engineering 68
Laboratory Manual
Now arrange the states to fill the diagram better. Drag the states to new positions
to make the easiest layout to work with.
Add an end state to the diagram by clicking the “END STATE” button. Place an
instance into the diagram. Now add relationships to the diagram.
Click on the “STATE TRANSITION” button and drag arrows between the
appropriate states.
To edit the specification secondary click on the relation lines and select “OPEN
SPECIFICATION” button. Add a name for the event in the specification. Then
click on “apply” and then on “OK” button.
Add details to the specifications of the other relationships in the same way.
There may be instances on the diagram where a state can join more than one state.
In this case add a relationship in the same way. Then enter the specification for
the new state.
Conclusion: The state chart diagram was made successfully by following the steps
described above.
Software Engineering 69
Laboratory Manual
Software Engineering 70
Laboratory Manual
EXERCISE NO. 8
Aim:
Hardware Requirements:
Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard keyboard and mouse, colored
monitor.
Software Requirements:
Rational Rose, Windows XP
Theory:
UML sequence diagrams model the flow of logic within the system in a visual manner,
enabling the user both to document and validate the logic, and are commonly used for
both analysis and design purposes. Sequence diagrams are the most popular UML
artifact for dynamic modeling, which focuses on identifying the behavior within your
system. Sequence diagrams, along with class diagrams and physical data models are
the most important design-level models for modern application development.
Software Engineering 71
Laboratory Manual
FIG .shows the logic for how to enroll in a seminar. One should often develop a system-
level sequence diagram to help both visualize and validate the logic of a usage scenario.
It also helps to identify significant methods/services, such as checking to see if the
applicant already exists as a student, which the system must support.
The dashed lines hanging from the boxes are called object lifelines, representing the life
span of the object during the scenario being modeled. The long, thin boxes on the
lifelines are activation boxes, also called method-invocation boxes, which indicate
processing is being performed by the target object/class to fulfill a message.
Software Engineering 72
Laboratory Manual
Sequence diagramming really is visual coding, even when you are modeling a usage
scenario via a system-level sequence diagram.
While creating a sequence diagram ,start by identifying the scope of what you are trying
to model.You should typically tackle small usage scenarios at the system level or a single
method/service at the detailed object level.
You should then work through the logic with at least one more person, laying out
classifiers across the top as you need them. . The heart of the diagram is in the messages,
which you add to the diagram one at a time as you work through the logic. You should
rarely indicate return values, instead you should give messages intelligent names which
often make it clear what is being returned.
It is interesting to note that as you sequence diagram you will identify new
responsibilities for classes and objects, and, sometimes, even new classes. The
implication is that you may want to update your class model appropriately, agile
modelers will follow the practice Create Several Models in Parallel, something that
CASE tools will do automatically. Remember, each message sent to a class invokes a
static method/operation on that class each message sent to an object invokes an operation
on that object.
Regarding style issues for sequence diagramming, prefer drawing messages going from
left-to-right and return values from right-to-left, although that doesn’t always work with
complex objects/classes. Justify the label on messages and return values, so they are
closest to the arrowhead. Also prefer to layer the sequence diagrams: from left-to-right.
indicate the actors, then the controller class(es), and then the user interface class(es), and,
finally, the business class(es). During design, you probably need to add system and
persistence classes, which you should usually put on the right-most side of sequence
diagrams. Laying your sequence diagrams in this manner often makes them easier to read
and also makes it easier to find layering logic problems, such as user interface classes
directly accessing persistence .
Software Engineering 73
Laboratory Manual
Procedure
..
• Click on the File menu and select New.
-
- ··
" " ...
i¥..etoQAs
\oq...
II $. ..
' lllllliiD!!l I! - ..
""'"' ...
....
Software Engineering 74
Laboratory Manual
• Now from the Dialogue Box that appears ,select the language which you want to
use for ---- ------iiiiiiiiiiiiiiiiiiiii
creatingEyour..;m;;;.o;..d;;.e;.
L;.
,..
.._
r- ()u e-
·
0L<PV
·0CoO<T v-
Wi W PI
c"'•
..
1111 ;J2$[1 2 Jt$£ t) ,..11.
··- •
ICl ll Md <r Mw r l.
Brow.!'k"'*'£t!'Heri
"""
-: : st,;rt ;- "' """""""""' 1..-..tt .l ..u.tm I'W.f616. '1"":'.4 : ,..u p:; & 1.•., • • MPtt
Software Engineering 75
Laboratory Manual
In the left hand side window of Rational Rose right click on "Use Case view" and
select New>Sequence Diagram
....._..
--U-
.:..:!l Tovto')IO(>C ol
ill
"""·"
"""'""
-:: sr.;rt - r-....t.t.O'IIl• ) 111bxo! Oa.t,i._ :::;' .,.IY .., .............. r.rn tfj! ·:. . .
Hlfffl
Software Engineering 76
Laboratory Manual
Enter the name of new Sequence file in the space provided,and then click on that
file name.
Software Engineering 77
Laboratory Manual
You can now use the window that appears on right hand side to draw your Sequence
diagram using the buttons provided on the vertical toolbar.
Conclusion: The sequence diagram was made successfully by following the steps
described above.
Software Engineering 78
Laboratory Manual
1: Access_ Request()
2: Authenticity_check()
3: Access_Granted()
4: Device_Search()
5: Range_Check()
6: Frequency_Selection()
7: Signalling_Complete()
8: Results()
9: Send_Data()
10: Transmitting()
11: Acknowldegement()
Software Engineering 79
Laboratory Manual
EXERCISE NO. 9
Aim:
Steps to draw the collaboration Diagram using Rational Rose.
Hardware Requirements:
Pentium 4 processor (2.4 GHz), 128 Mb RAM, Standard keyboard and mouse, colored
monitor.
Software Requirements:
Rational Rose, Windows XP
THEORY
Collaboration diagrams are also relatively easy to draw. They show the relationship
between objects and the order of messages passed between them. The objects are listed
as icons and arrows indicate the messages being passed between them. The numbers next
to the messages are called sequence numbers. As the name suggests, they show the
sequence of the messages as they are passed between the objects. There are many
acceptable sequence numbering schemes in UML. A simple 1, 2, 3... format can be used,
as the example below shows, or for more detailed and complex diagrams a 1, 1.1 ,1.2,
1.2.1... scheme can be used.
Software Engineering 80
Laboratory Manual
The example below shows a simple collaboration diagram for the placing an order use
case. This time the names of the objects appear after the colon, such as :Order Entry
Window following the objectName:className naming convention. This time the class
name is shown to demonstrate that all of objects of that class will behave the same way.
Software Engineering 81
Laboratory Manual
EXERCISE NO. 10
Hardware Interfaces
Software Interfaces
THEORY:
A class diagram is a type of static structure diagram that describes the structure of a
system by showing the system's classes, their attributes, and the relationships between the
classes.
Class diagrams show the classes of the system, their inter-relationships, and the
operations and attributes of the classes. Class diagrams are typically used, although not
all at once, to:
A class model is comprised of one or more class diagrams and the supporting
specifications that describe model elements including classes, relationships between
classes, and interfaces. There are guidelines
1. General issues
2. Classes
3. Interfaces
Software Engineering 82
Laboratory Manual
4. Relationships
5. Inheritance
GENERAL GUIDELINES
Because class diagrams are used for a variety of purposes – from understanding
requirements to describing your detailed design – it is needed to apply a different style in
each circumstance. This section describes style guidelines pertaining to different types of
class diagrams.
CLASSES
A class in the software system is represented by a box with the name of the class written
inside it. A compartment below the class name can show the class's attributes (i.e. its
properties). Each attribute is shown with at least its name, and optionally with its type,
initial value, and other properties.
A class is effectively a template from which objects are created (instantiated). Classes
define attributes, information that is pertinent to their instances, and operations,
functionality that the objects support. Classes will also realize interfaces (more on this
later).
Class diagrams are widely used to describe the types of objects in a system and their
relationships. Class diagrams model class structure and contents using design elements
such as classes, packages and objects. Class diagrams describe three different
perspectives when designing a system, conceptual, specification, and implementation.
These perspectives become evident as the diagram is created and help solidify the
design.
INTERFACES
Software Engineering 83
Laboratory Manual
RELATIONSHIPS
A relationship is a general term covering the specific types of logical connections found
on a class and object diagram.
The association relationship is the most common relationship in a class diagram. The
association shows the relationship between instances of classes.
AGGREGATION
Aggregation occurs when a class is a collection or container of other classes, but where
the contained classes do not have a strong life cycle dependency on the container--
essentially, if the container is destroyed, its contents are not.
ASSOCIATION
Association are semantic connection between classes. When an association connects two
classes , each class can send messages to other in a sequence or a collaboration diagram .
Associations can be bidirectional or unidirectional.
Software Engineering 84
Laboratory Manual
DEPENDENCIES
Dependencies connect two clases . Dependencies are always unidirectional and show that
one class, depends on the definitions in another class .
GENERALIZATION
The generalization relationship indicates that one of the two related classes (the
supertype) is considered to be a more general form of the other (the subtype). In practice,
this means that any instance of the subtype is also an instance of the supertype .
The generalization relationship is also known as the inheritance or "is a" relationship.
The subtype in the generalization relationship is also known as the "child", subclass,
derived class, derived type, inheriting class, or inheriting type.
MULTIPLICITY
The association relationship indicates that (at least) one of the two related classes makes
reference to the other.
Software Engineering 85
Laboratory Manual
When designing classes the attributes and operations it will have are observed. Then
determining how instances of the classes will interact with each other. These are the very
first steps of many in developing a class diagram. However, using just these basic
techniques one can develop a complete view of the software system. There are various
steps in the analysis and design of an object oriented system.
Software Engineering 86
Laboratory Manual
Software Engineering 87
Laboratory Manual
(Customizable Menus(
(Customizable Menus(
(Customizable Menus(
(Customizable Menus(
(Customizable Menus(
(Customizable Menus(
b --,-,-,...,..,.Lo
For Help,press Fl IDelault Language:Analysis
Software Engineering 88
Laboratory :Manual
3. Click the cursor on the block representing class from the table of
predefined symbols into the screen
- Rational Rose- hoselass -[Class Diagram: Use Case View I Hostel Class] @[RJ
IIlJ File Edit View Format Browse Report Query Tools Add-Ins Window Help - 0' )(
j
B ·D Use Case View ABC
·.....Main
HostelClass
•·····NewDiagram
hostseq
00
I!J... **
hostseq
Complaints Head -
I!J...
*
s
Databse Manager
I!J... hostel manager -
..,..
·[l1l NewCiass
·[l1l NewCiass2 _j !;;]
( .lllJ. _j]
•
_j
I
4-
--
- 'I I
l!l 23:42:08[ (Customizable Menus)
.!) 23:42:08[ (Customizable Menus)
23:42:08[ (Customizable Menus)
23:42:08[ (Customizable Menus)
23:42:08[ [Customizable Menus) .=t•
23:42:08[ (Customizable Menus) @J
l.ill.lll!!ll/
Creates a class IDelault Language:Analysrs
•:start @ if? rQ. riJZI NewMICrosoftWord ... ·RatronaiRose·hoscl...
------- ( Tuesday
C! (!!) rw- ;;t;t;j d'P.i;; iJZi classdrag-
M<Crosoft ... 1-tl/21/2006
Software Engineering 89
Laboratory :Manual
- Rational Rose- hoselass -[Class Diagram: Use Case View I Hostel Class] @[RJ
IIlJ File Edit View Format Browse Report Query Tools Add-Ins Window Help - 0' )(
]
B ·D Use Case View ABC
·.....Main
•
!Ell HostelClass
I El) NewDiagram NewCiass I
.m hostseq
!;;! I
Databse Manager
* -
*
I!J...
NewCiass3
00 hostseq ..,.. hostel manager ,..,
I!J... *
I!J... -o IEj
Complaints Head
Databse Manager
hostel manager
r NewCiass2
I -
..4.
\-
-
'I I
l!l 23:42:08) )Customizable Menus)
.!) 23:42:08) )Customizable Menus)
23:42:08) )Customizable Menus)
23:42:08) )Customizable Menus)
23:42:08) )Customizable Menus)
23:42:08) )Customizable Menus) =
lilJ
l.il l.ll l!!l/
Fer Help,press F1 IDelault Language.Analysrs
.:start @ if, r r@!NewMrcrosoftWord ... ·RatronaiRose·hoscl... r ll:SSPM
------- ( Tuesday
C! (!!) f iJZiciassdrag-Mrcrosoft... 1-tl/21/2006
Software Engineering 90
Laboratory :Manual
1. Double click on the class formed to enter the class name in the general
field.
File Edit View Format Browse Report Query Tools Add-Ins Window Help
3:
El ·D Use Case Relation ) Component Ne ted File
Vrew General ) Detail I Operations Attribute•
. M· ain
!Ell Hostel Class Name: f.1U!iijl :!]•liJ·ffiJ#i!! • i ;Ji!i• - Parent: Use Case vew
IEl) NewDiagram
m
hostseq
..--· Type: jclass
00 hostseq
$ · .*, Complaints Head -o Stereotype: I
... .*, Databse Manager
... .*, hostelmanager
r Export Control ---------------,
1±1 ·NewCiass
CO Public r Protected r Private r Implementation
. ·NewCiass2 Documentation:
,sJJ.,l = =,!JQJ
Software Engineering 91
Laboratory :Manual
2. In the operation field right click and select the inset option to add class
operations or functions.
File Edit View Format Browse Report Query Tools Add-Ins Window Help
3;
EI·D Use Case Relation ) Component ) Ne ted ) File
Vrew General ) Detail Operations ) Attribute!
. M· ain
!Ell Hostel Class P' Show inherited
IEl) NewOiagram
mhostseq !;;!
00 hostseq -o
$ · .*, Complaints Head
... .*, Databse Manager
... .*, hostelmanager
r
·NewCiass
.,.. Undo
Cut
·NewCiass2 !;;] Copy
,sJJ.l,= =,!JQJ • Paste
Delete
Insert
Specification...
Software Engineering 92
Laboratory :Manual
3. Input the name of the new operation, its return type in the respective
columns.
- Rational Rose- hoselass- [Class Diagram: Use Case View I Hostel Class] GJ@(EJ
ISJ File Edit View Format Browse Report Query Tools Add-Ins Window Help - 0' )(
hosclass
El ·D Use Case V1ew ABC
Relation ) Component ) Ne ted ) File
. ·Main General ) Detail Operations ) Attribute!
ISJ HostelClass
P" Show inhe1ited
ISJ NewDiag1am
m hostseq Parent
00 hostseq STUD_RECD
$ · .*, Complaints Head -o
... .*, Databse Manager
... .*, hostel manager r
1±1 · NewCiass
. · NewCiass2
,sJJ.,l = =,!JQJ
Heb
IDefault Language:Analysis
riJlil
Fc1Help,p1ess F1
riJlil
0
-------- Wednesday
C! e!) classd1ag M1crosoft...
0
11/22/2006
Software Engineering 93
Laboratory :Manual
7. In the attribute field, enter the attribute names , their type and the parent
class in the respective colunms.
- Rational Rose- hoselass- [Class Diagram: Use Case View I Hostel Class] GJ@(EJ
ISJ File Edit View Format Browse Report Query Tools Add-Ins Window Help
- 6' X
Ci liiil I .lb d l ?
hosclass
B ·D Use Case View Relations I Components Nested Files
·Main
ABC General I Detail I Operations Attribute•
r
"' *
Databse Manager
hostelmanager
1±1 NewCiass
..,..
··· NewCiass2
!;;]
,sJJL
•
(Customizable
(Customizable
(Customizable
J)JI J
(Customizable
(Customizable
DK Cancel 8pply .e_rowse •I !feb
.!!!!
(Customizable
IDefault Language:Analysis
r
Fer Help,press F1
Software Engineering 94
Laboratory :Manual
8. Fnter all the attributes and operations , and press "OK" button to get the required
class.
hosclass
B ·D Use Case
View STUD RECORD
·.....Mai
n fees: Long
!Ell HostelClass room_no :
IEl) NewDiagram Integer
m hostseq
00 hostseq -o • recordsQ
I!J... .*,
Complaints Head
I!J... .*, Databse r
Manager I!J... .*,
hostelmanager
1±1 ·NewCiass
. ·NewCiass2
,sJJ.,l = =,!JQJ
(Customizable Menus(
(Customizable Menus(
(Customizable Menus(
(Customizable Menus(
(Customizable Menus(
(Customizable Menus(
=
vj
f=--,-,-,...,..,. Lo
r
Fer Help,press F1 IDelault Language:Analysis
C! e!) riJlil
-------
g · Mrcrosoft ... 11/22/2006
Wednesday
classdra
Software Engineering 95
Laboratory :Manual
9. While building the classes of the system if you want to make nested class in
some main class(here "LOGIN' class), then insert classes in the 'Nested' field of
class specification(like the "EDIT_RECORD" class)
Integer
STUDENT II\
name
id
• ADD ENTRY(
• duesQ
eesQ
• laundryQ
LAUN[
IDefault Language:Analysis
riJlil riJlil
Fer Help,press F1
Software Engineering 96
Laboratory Manual
10. Select the nested class and drag it to the Class diagram window
l!l 00:06:3
I
!lo!
·
I Browse ·I
.!.1 00:06:3
00:06:3 I OK
I I Help
I
Apply
Cancel
00:06:3 :; -:
00:06:321 (Customizable Menus)
00:06:321 (Customizable Menus) =
.i]j
l.ill.ll!!l f
For Help,press Fl IDefault Language.Analysrs
Software Engineering 97
Laboratory :Manual
11. All the required classes were built completely with there operations, attributes
and nested classes , into the class diagram
ID
3
Edit View Format Browse Report
liiil l
D Use Case View
.lb @11 ?IEf l
Query
!Ill
Tools Add-Ins Window Help
li:tl I Iii
lOG Ill
!!<1111:SIJI19
.. I g
I
- 0' )(
.!.
STUD_P.e:OP.D ..ol. t\P,O:119, H
•·····Main ABC '
.OCtll_IO :.Eft_ >t e::U LTi·
STU DEIIT IIIFOP.U An:> tt
!!<1111
' t.l
};
•.:1
$..· .*,
Wardon
$..·0 admission
r
-
.OCtll_IO •1e1t
I
.. .,..._,ut I!•< M
..-.!-
1/VAP.OOII
"- thl_.... -.na•c•
'¥.til$$
1-
;l'fM :
OIJI•g
.... t.l
I
-
4rnll•n
'
l!l 00:21:521 ICustomizable Menusl
.!) 00:21:521 ICustomizable Menusl
00:21:521 ICustomizable Menusl
00:21:521 ICustomizable Menusl
ICustomizable Menusl
00:21:521
00:21:521 ICustomizable Menusl =
lilj
l.ill.lll!!l /
riJlil riJlil
Fc1Help.p1ess F1 IDelault Language.Analys1s
•:Sfarf @ r New M1crosoft Word... classd1ag · M1crosoft ... 12:23 AM
Wednesday
C! e!) ·
RatlonaiRose-hoscl... 11/22/2006
Software Engineering 98
Laboratory Manual
12. Now we want to show the relationships between the various classes.
To show an ASSOOATION relation select a block named 'association'
from the blocks to the left and draw the arrows between the requisite
classes.
j
B D Use Case View LOGIN
name : String
• •····M· ain ABC STUD_RECORD
• NewDiagram PASSWORD : Integer
• m hostseq
fees
(from LOGIN)
STUDENT INFOJ;
• II) hostseq ER_RESULTQ
j $.. Complaints Head room no
s id-
• GET_IDQ f--_ dame
oo... 7;.,Databse Manage1 • GET
' I!J.. .*, hostel manager fees I IA ss oc ia tion --------- .-
$..· .*, Wardon
-o
m fees
PASSQ
• ADD ENTRYQ
$..·0 admission -
r dues • duesQ
I±J...o complaints ..,.. eesQ
• • laundryQ
• 1±1 0 Database "J !;;:)
recordsQ
•
I J!jl . .l!!l ;) -
EDIT_RECORD
accomodationQ LAUNDRY
(from LOGIN)
• • detailsQ
• livingQ
j oodQ fees
room no
..t • laundryQ
total-
,--
•J "' I
l!l 00:21:52( (Customizable Menus)
.!.1 00:21:52( (Customizable Menus)
00:21:52( (Customizable Menus)
00:21:52( (Customizable Menus)
00:21:52( (Customizable Menus)
00:21:52( (Customizable Menus)
l.ill.lll!!lf
For Help, press Fl IDefault Language. Analysrs
Software Engineering 99
Laboratory Manual
li
Main
ABC STUD_RECORD PASSWORD :
(from LOGIN)
Integer STUDENT INFOJ;
fees
S
Da
... 7;. ,
name
-
r- m
-o
$..·0 complaints fees • ADD ENTRYQ
1±1 0 Database _j dues • duesQ
IJ!jl . .Jill.
] eesQ
T
• recordsQ • laundryQ
!;;:)•
EDIT_RECORD
accomodationQ (from LOGIN) LAUNDRY
• detailsQ
• livingQ
j oodQ fees
4- • laundryQ room no
total-
.J "' I
l!l 00:21:521 ICustomizable Menus)
.!.1 00:21:521 )Customizable Menus)
00:21:521 )Customizable Menus)
00:21:521 )Customizable Menus)
00:21:521 )Customizable Menus)
00:21:521 )Customizable Menus)
l.ill.lll!!l /
For Help,press Fl IDefault Language.Analysrs
14 . Select the 'text box' block from the blocks field to describe any relation with
the help oftext.
' Rational Rose - hoselass -[Class Diagram: Logical View I Main] @[g)
IIl) File Edit View Format Browse Report Query Tools Add-Ins Window Help - 0' )(
Ihlolst,s.hostseq
e.q..,.
.
• 00 ITe"t Boxies ER_RESULTQ
f--- STUDENT INFOJ;
·
room no
I
-!- •
laundryQ tut•l- omployoo_n
; ...........................
- •J "' I
l!l 00:21:52) )Customizable Menus)
.!.1 00:21:52) )Customizable Menus)
00:21:52) )Customizable Menus)
00:21:52) )Customizable Menus)
00:21:52)
00:21:52)
)Customizable
)Customizable
Menus)
Menus) =
lilJ
l.il l.ll l!!l /
Creates a floating text box IDefault Language.Analys1s
15.Fnter text by placing text boxes over the various relationship arrows
' Rational Rose - hoselass -[Class Diagram: Logical View I Main] @[g)
IIl) File Edit View Format Browse Report Query Tools Add-Ins Window Help - 0' )(
v
fees STUDENT INFOF
•·····Deployment View ER_RESULTQ
room no rifled with • name
•....ModelProperties
!;;! s id- id
-
• GET
PASSQ
-o t fees
r mduesfees accessed from
• ADD ENTRYQ
!"' • duesQ
- ..,.- eesQ
• recordsQ • laundryQ
!;;] •
accomodationQ EDIT_RECORO LAUNDRY
(from LOGIN)
• • detailsQ
;I j • item_id
livingQ fcco
oodO
rent
I
4-...
·
• laundryQ room no
total-
- •J
II\ ... I
!lo!_• :;n
LOGIN
STUD_RECORD name :String
(from LOGIN) PASSWORD : r
Intege
v
fees STUDENT INFORMATION
ER _RESULTQ
room no verified wit name
s id - • GET IDQ
ASSQ id
I fees
m fees .ADD ENTRYQ
accessed from
dues "" • duesQ
eesQ
• recordsQ • taundryQ
•
accomodationQ EDIT_RECORO
(hom LOGIN)
• detailsQ LAUNDRY
MngQ
ees em_id ent
oodQ
oom_no mployee_name
aundryQ
otal item name
mess item-rent
name ln_timing
manages database
• ch
detaiiQ • cHEK
• ch- FORWQ LN
roomQ RENTQ
• LN=EMPLQ
ch=dQ
HOSTEL
MANAGER mana s
lname : String
STUDENT
it em id name
tem-rent
WARDON address
tem=name commands
lame : Siring ranch
D_PASSO em id oil no
/>liN INFOQ em-rent ees_paid
• In_t;;ning
oATA)ORW()
• 10 PASSQ
• cHECK RESULTQ • ADMINQ
•
tD_PASSQ
MARKING SCHEME