Uml Details
Uml Details
1
1. OBJECT ORIENTED SOFTWARE ENGINEERING LAB
➢ To Design & implement complex software solutions using state of the art software solutions
using state of art software Engineering Techniques.
➢ To provide working knowledge of UML (Unified Modeling Languages) Sources control
and project Management.
➢ To provide working knowledge of the technologies essentially for incorporating in the
project.
➢ To expertise for testing and document software.
➢ To inculcate and excel working capabilities as part of software term and develop significant
projects under a tight deadline time / schedules.
➢ To present the project in a professional manner.
TOPICS TO BE COVERED:
1: Introduction and Project Definition
2: Software Requirements Specification
3: Introduction to Unified Modeling Languages (UML) and Use case Diagram
4: System Modeling (DFD or ER or Both)
5: Flow of Events and Activity Diagrams
6: OO Analysis: Discovering classes
7: Interaction Diagrams: Sequence and Collaboration Diagrams
8: Software Design: Software Architecture and Object Oriented Design
9: State Chart Diagram
10: Component and Deployment Diagrams
11: Software Testing
12: Presentations
2
Introduction and Project
Definition 2
3
Introduction and Project Definition
Objectives
• Introduce the lab environment and tools used in the software engineering lab.
1. Outline
• Project definition.
2. Background
The software engineer is a key person and analyzing the business, identifying opportunities
for improvement, and designing information systems to implement these ideas. It is
important to understand and develop through practice the skills needed to successfully
design and implement new software systems.
2.1 Introduction
• In this lab you will practice the software development life cycle (Project
Management, Requirements Engineering, System Modeling, Software Design,
Prototyping and Testing) using CASE tools within a team work environment.
• UML notation is covered in this lab as the modeling language for analysis and
design.
• Software Engineering lab is one of the most challenging of all labs. Developing a
complete software application requires from each of you a good level of know – how
of various tools.
• There are some tools which will be taught, but there are some which are assumed
you already know, if you don’t then you learn should it individually.
o Star UML for UML diagrams (Object Oriented Analysis and Design)
4
• Learn a number of CASE tools and use them in a project within a team work
environment.
• Get familiar with UML (modeling language for analysis and design).
Software requirements
Week 2 Plan doc
Specification
OO analysis: discovering
Week 6 Rational Rose
classes
Interaction diagrams:
Week 7 sequence and Rational Rose
collaboration diagrams
Component and
Week 10 deployment Rational Rose
Design doc (Final ver.)
diagrams
4. Exercises
5
6. Present it to the instructor/ class
5. Deliverables
6
Software Requirement
Specification 3
7
Software Requirement Specification (SRS)
Objectives
• Gain a deeper understanding of the Software Requirement Specification phase and the
Software Requirement Specification (SRS).
• Learn how to write requirements and specifications.
1. Outline
2. Background
A requirement is a statement of a behavior or attribute that a system must possess for the
system to be acceptable to a stakeholder.
• The required behavior of a system in terms of: input data, required processing, output
data, operational scenarios and interfaces.
• The attributes of a system including: performance, security, maintainability,
reliability, availability, safety requirements and design constraints.
8
• Requirements management: the process of managing changing requirements
during the requirements engineering process and system development, and
identifying missing and extra requirements.
• Avoid:
Specifications are different from requirements: specifications are sufficiently complete - not
only what stakeholders say they want; usually, they have no conflicts; they describe the
system as it will be built and resolve any conflicting requirements.
Creating specifications is important. However, you may not create specifications if:
9
• Correct: each requirement represents something required by the target system.
• Unambiguous: every requirement in SRS has only one interpretation.
• Understandable by customers.
4. In-Class Demo
5. Exercises
6. Deliverables
10
Introduction to UML and Use
Case Diagram 4
11
Introduction to UML and Use Case Diagram
Objectives
• Study the benefits of visual modeling.
• Learn use case diagrams: discovering actors and discovering use cases.
• Practice use cases diagrams using Rational Rose.
1. Outline
• Visual modeling.
• Introduction to UML.
2. Background
Visual Modeling is a way of thinking about problems using models organized around real-world
ideas. Models are useful for understanding problems, communicating with everyone involved
with the project (customers, domain experts, analysts, designers, etc.), modeling enterprises,
preparing documentation, and designing programs and databases.
The UML is the standard language for visualizing, specifying, constructing and documenting the
artifacts of a software-intensive system. UML can be used with all processes throughout the
development life cycle and across different implementation technologies.
The UML is an attempt to standardize the artifacts of analysis and design: semantic models,
syntactic notation and diagrams. The first public draft (version 0.8) was introduced in October
1995. Feedback from the public and Ivar Jacobson's input were included in the next two versions
(0.9 in July 1996 and 0.91 in October 1996). Version 1.0 was presented to the Object
Management Group (OMG) for standardization in July 1997. Additional enhancements were
incorporated into the 1.1 version of UML, which was presented to the OMG in September 1997.
In November 1997, the UML was adopted as the standard modeling language by the OMG.
12
2.4 Putting UML into Work: Use Case Diagram
The behavior of the system under development (i.e. what functionality must be provided by the
system) is documented in a use case model that illustrates the system's intended functions (use
cases), its surroundings (actors), and relationships between the use cases and actors (use case
diagrams).
2.5 Actors
• Are NOT part of the system – they represent anyone or anything that must interact
with the system.
13
2.7 Use Case Relationships
• Arrow can be in either or both directions; arrow indicates who initiates communication.
– Include
– Extends
o Optional behavior.
o Behavior only runs under certain conditions (such as alarm).
3. CASE Tools
The Star UML product family is designed to provide the software developer with a complete set of
visual modeling tools for development of robust, efficient solutions to real business needs in the
client/server, distributed enterprise and real-time systems environments. Rational Rose products
share a common universal standard, making modeling accessible to nonprogrammers wanting to
model business processes as well as to programmers modeling applications logic.
4. In-Class Example
Now you will learn how to apply the above-mentioned methods to draw use case diagrams from the
problem statement. Please refer to Lab 5 slides which explain the process in detail with some
examples.
14
5. Exercises
We are after a system that controls a recycling machine for returnable bottles and cans. The
machine will allow a customer to return bottles or cans on the same occasion. When the
customer returns an item, the system will check what type has been returned. The system will
register how many items each customer returns and, when the customer asks for a receipt, the
system will print out what he deposited, the value of the returned items and the total return sum
that will be paid to the customer. The system is also be used by an operator. The operator wants
to know how many items of each type have been returned during the day. At the end of the day,
the operator asks for a printout of the total number of items that have been deposited in the
machine on that particular day. The operator should also be able to change information in the
system, such as the deposit values of the items. If something is amiss, for example if a can gets
stuck or if the receipt roll is finished, the operator will be called by a special alarm signal.
1. Actors
6. Deliverables
You should use these techniques to draw use case diagrams for your term project using star
UML
15
System Modeling 5
16
System Modeling
Objective
Deeper understanding of System modeling:
• Data model: entity-relationship diagram (ERD).
• Functional model: data flow diagram (DFD).
1. Outline
2. Background
Software is getting larger, not smaller; for example, Windows XP has more than
40 million lines of code. A single programmer cannot manage this amount of
code in its entirety. Code is often not directly understandable by developers
who did not participate in the development; thus, we need simpler
representations for complex systems (modeling is a mean for dealing with
complexity). A wide variety of models have been in use within various
engineering disciplines for a long time. In software engineering a number of
modeling methods are also available.
17
NOTE: state transition diagram will be covered in lab 9.
Entity
Relationship
A data flow data diagram is one means of representing the functional model of a
software product. DFDs do not represent program logic like flowcharts do.
External Entity
Process
18
Data Flow
Control
Flow Data
Store
3. CASE Tools
You can use MS word to create your ERD and DFD since we do not have a license
for a case tool that supports these diagrams.
4. In-Class Example
5. Exercises
6. Deliverables
You should create ERD and DFD for your term project
19
Documenting Use Cases and
Activity Diagrams 6
20
Documenting Use Cases and Activity Diagrams
Objectives
• Study how to document use cases in detail.
• Know about scenarios (flow of events) and its importance.
• Deeper understanding of UML activity diagrams.
• Practicing flow of events and activity diagrams using Rational Rose.
1. Outline
• Writing flow of events.
• Flow of events template and example.
• Activity diagrams.
• Examples.
2. Background
Each use case is documented with a flow of events. The flow of events for a use case is a
description of the events needed to accomplish the required behavior of the use case. Activity
diagrams may also be created at this stage in the life cycle. These diagrams represent the
dynamics of the system. They are flow charts that are used to show the workflow of a system;
that is, they show the flow of control from one activity to another in the system.
21
A sample completed flow of events document for the Select Courses to Teach use case follows.
1. Flow of Events for the Select Courses to Teach Use Case
1.1 Preconditions
Create course offerings sub-flow of the maintain course information use case must execute
before this use case begins.
If the activity selected is ADD, the S-1: add a course offering sub-flow is performed.
If the activity selected is DELETE, the S-2: delete a course offering sub-flow is performed.
If the activity selected is REVIEW, the S-3: review schedule sub-flow is performed.
If the activity selected is PRINT, the S-4: print a schedule sub-flow is performed.
1.3 Sub-flows
S-1: Add a Course Offering:
The system displays the course screen containing a field for a course name and number. The
professor enters the name and number of a course (E-3). The system displays the course
offerings for the entered course (E-4). The professor selects a course offering. The system links
the professor to the selected course offering (E-5). The use case then begins again.
E-2: An invalid semester is entered. The user can re-enter the semester or terminate the use case.
E-3: An invalid course name/number is entered. The user can re-enter a valid name/number
combination or terminate the use case.
22
E-4: Course offerings cannot be displayed. The user is informed that this option is not available
at the current time. The use case begins again.
E-5: A link between the professor and the course offering cannot be created. The information is
saved and the system will create the link at a later time. The use case continues.
E-6: An invalid course offering name/number is entered. The user can re-enter a valid course
offering name/number combination or terminate the use case.
E-7: A link between the professor and the course offering cannot be removed. The information is
saved and the system will remove the link at a later time. The use case continues.
E-8: The system cannot retrieve schedule information. The use case then begins again.
E-9: The schedule cannot be printed. The user is informed that this option is not available at the
current time. The use case begins again.
Use case flow of events documents are entered and maintained in documents external to
Rational Rose. The documents are linked to the use case.
4. In-Class Example
Now you will learn how to apply the above mentioned methods to write flow of events and
drawing activity diagrams from the use case(s) flow of events.
5. Exercises
Apply to your Project
6. Deliverables
23
You should use these techniques to write flow of events and draw activity diagrams for
your term project.
24
Object Oriented Analysis:
Discovering Classes 7
Objective
• Learn the object-oriented analysis phase by understanding the methods of
class elicitation and finding the classes in an object-oriented system.
1. Outline
• Object-Oriented concepts
• Discovering classes’ approaches: noun phrase approach, common class patterns, use case
driven method, CRC (Class-Responsibility-Collaboration) and mixed approach.
• Examples.
2. Background
Classes: a description of a group of objects with common properties (attributes), common
behavior (operations), common relationships to other objects and common semantics.
25
• Entity: models information and associated behavior that is long-lived, independent of
the surrounding, application independent, and accomplishes some responsibility
• Boundary: handles the communication between the system surroundings and the inside
of the system, provides interface, and facilitates communication with other systems
• Control: model sequencing behavior specific to one or more use cases. Control classes
coordinate the events needed to realize the behavior specified in the use case, and they
are responsible for the flow of events in the use case.
2.4.1 Noun Phrase Approach: Examine the requirements and underline each
noun. Each noun is a candidate class; divide the list of candidate classes into:
• Relevant classes: part of the application domain; occur frequently in requirements.
• Irrelevant classes: outside of application domain
• Fuzzy classes: unable to be declared relevant with confidence; require additional
analysis
2.4.2 Common Class Patterns: Derives candidate classes from the classification theory of
objects; candidate classes and objects come from one of the following sources:
• Tangible things: e.g. buildings, cars.
• Roles: e.g. teachers, students.
• Events: things that happen at a given date and time, or as steps in an ordered
sequence: e.g. landing, request, interrupt.
• Interactions: e.g. meeting, discussion.
• Sources, facilities: e.g. departments.
• Other systems: external systems with which the application interacts.
• Concept class: a notion shared by a large community.
• Organization class: a collection or group within the domain.
• People class: roles people can play.
• Places class: a physical location relevant to the system.
2.4.3 Use Case Driven Method: The scenarios - use cases that are fundamental to the system
operation are enumerated. Going over each scenario leads to the identification of the
objects, the responsibilities of each object, and how these objects collaborate with other
objects.
2.4.5 Mixed Approach: A mix of these approaches can be used, one possible scenario is:
• Use CRC for brainstorming.
• Identify the initial classes by domain knowledge.
26
• Use common class patterns approach to guide the identification of the classes.
• Use noun phrase approach to add more classes.
• Use the use case approach to verify the identified classes.
3. CASE Tools
Star UML.
4. In-Class Example
Now you will learn how to apply the above mentioned methods of finding classes from the
problem statement.
5. Exercises
Apply to your Project
6. Deliverables
You should use these class elicitation techniques to identify the classes for your term project.
27
Interaction Diagrams:
Sequence and Collaboration
Diagrams
8
28
Interaction Diagrams: Sequence & Collaboration Diagrams
Objectives
• Better understanding of the interaction diagrams.
• Get familiar with sequence & collaboration diagrams.
• Practice drawing the interaction diagrams using Rational Rose.
1. Outline
Interaction diagrams:
• Sequence diagrams
• Collaboration diagrams
2. Background
Interaction diagrams describe how groups of objects collaborate in some behavior. An
interaction diagram typically captures the behavior of a single use case. Interaction diagrams do
not capture the complete behavior, only typical scenarios.
29
• You may add constraints to these horizontal arrows.
• Objects may send messages to themselves.
• Long, narrow rectangles can be placed over the lifeline of objects to show when the
object is active. These rectangles are called activation lines.
2.5 Notes
• Always keep your diagrams simple.
• For “IF... then ...” else scenarios, you may draw separate sequence
diagrams for the different branches of the “if statement”. You may even
hide them, (at least during the analysis phase) and document them by
the text description accompanying the sequence diagrams.
3. CASE Tools
Star UML.
4. In-Class Example
Now you will learn how to apply the above mentioned methods of drawing sequence
and collaboration diagrams from the problem statement.
5. Exercises
Apply to your Project.
6. Deliverables
You should use these techniques to create sequence and collaboration diagrams
for your term project.
30
Software Design: Software
Architecture and Object
Oriented Design
9
31
Software Design: Software Architecture and Object-Oriented Design
Objectives
• Deeper understanding of software design and the software design document (SDD).
• Learn how to find the relationships between classes to create UML class diagram.
1. Outline
• Software design concepts and principals.
• Software architecture.
• Specifying the attributes and the operations and finding the relationships between
classes.
• Creating UML class diagram.
• Software design document.
2. Background
The purpose of software design is “to produce a workable (implementable) solution to
a given problem.” David Budgen in Software Design: An Introduction.
32
2.5 Specifying Classes
Each class is given a name, and then you need to specify:
• Attributes: initially those that capture interesting object states. Attributes can be
public, protected, private or friendly/package.
• Operations: can be delayed till later analysis stages or even till design. Operations also
can be public, protected, private or friendly/package.
• Object-Relationships:
o Associations: denote relationships between classes.
o An aggregation: a special case of association denoting a “consists of” hierarchy.
o Composition: a strong form of aggregation where components cannot exist
without the aggregate.
o Generalization relationships: denote inheritance between classes.
This will build the class diagram, which is a graphical representation of the classes (including their
attributes and operations) and their relationship with other classes.
3. CASE Tools
Star UML.
4. In-Class Example
Now you will learn how to specify classes’ attributes, methods and the relationships between the
classes.
6. Exercises
Apply to your Project
7. Deliverables
Also you should use specifying class attributes, methods and the relationship with other classes you
learned in your term project.
33
State Chart Diagram 10
34
State Transition Diagrams
Objectives
• Deeper understanding of UML state transition diagrams (STD).
• Practicing using Rational Rose.
1. Outline
• UML state diagrams.
• UML state diagram notation
• UML state details
• Examples
2. Background
Mainly, we use interaction diagrams to study and model the behavior of objects in our system.
Sometimes, we need to study the behavior of a specific object that shows complex behavior to
better understand its dynamics. For that sake, UML provides state transition diagrams used to
model the behavior of objects of complex behavior. In this Lab, UML state transition diagrams
will be introduced. We will study their notation and how can we model them using Rational
Rose.
35
o Do: an ongoing action performed while in the state.
o On: a specific action performed while in the state.
o Exit: a specific action performed on exiting the state.
• There are two special states added to the state transition diagram- start state and end
state.
• Notation of start state is a solid black circle and for the end state a bull’s eye is used.
36
3. CASE Tools
STAR UML
4. In-Class Example
Now you will learn how to apply the above mentioned methods of drawing state transition
diagrams (STD).
5. Exercises
Apply to your Project.
6. Deliverables
You should use these techniques to create state transition diagrams for your term project.
37
Implementation Diagrams:
Component and Deployment Diagrams 11
38
Implementation Diagrams: Component & Deployment Diagrams
Objectives
• Become familiar with the implementation diagrams: component and deployment
diagrams.
• Practice using Rational Rose.
1. Outline
• Implementation diagrams: component and deployment diagrams.
• Examples.
2. Background
Implementation diagrams capture design information. The main implementation diagrams in
UML are: component and deployment diagrams. In this Lab we will study these diagrams and
their notation.
39
• Types of scheduling are:
o Pre-emptive: a higher priority process may take the process from lower priority one.
o Non-preemptive: a process will own the processor until it finishes
o Cyclic: control passes from one process to another.
o Executive: an algorithm controls the scheduling of the processes.
o Manual: scheduling buy the user.
3. CASE Tools
Star uml
4. In-Class Example
Now you will learn how to apply the above mentioned methods of creating component and
deployment diagrams.
5. Exercises
Apply system and its components and draw deployment and component diagrams.
6. Deliverables
You should use these techniques to create component and deployment diagrams for your term project.
40
Template Code 12
41
Template Code
Objectives
• Generating Template Code.
• Practicing using Rational Rose.
1. Outline
• Forward Engineering.
• Reverse Engineering.
• Examples.
2. Background
We can generate template code using Star uml. Logic should be written by student after
obtaining template code. Template code will be generated by unique identity number for every
generation.
In this Lab, UML template code generation will be introduced. We will study their generation
and how can we add logic code to template code.
3. CASE Tools
STAR UML
4. In-Class Example
Now you will learn how to generate template code.
5. Exercises
Apply to your Project
6. Deliverables
You should use these techniques to generate template code for your term
project.
42
STAR UML
A
43
STAR UML
StarUML is a sophisticated software modeling tool designed to support agile and concise
modeling through the Unified Modeling Language (UML). It serves as a visual platform for
developers and architects to design, document, and communicate complex software architectures.
Core Capabilities
UML 2.x Standard Support: It supports most UML 2.x diagrams, including Class, Use Case,
Sequence, Statechart, and Activity diagrams.
Beyond UML: Includes support for Systems Modeling Language (SysML), Entity-Relationship
Diagrams (ERD), Data-flow Diagrams (DFD), and Flowcharts.
Code Engineering: Facilitates Model-Driven Development by generating source code (Java, C#,
C++) from diagrams and reverse-engineering existing code into models.
Extensibility: Built on modern web technologies (HTML5, CSS, JS), allowing users to create their
own third-party extensions using JavaScript and [Link].
Flexible Exporting: Diagrams can be exported as high-quality images (PNG, JPEG, SVG) or as
comprehensive HTML documentation.
Target Audience
Agile Teams: Optimized for rapid iteration and lightweight modeling.
Educational Institutes: Often used to teach software engineering principles and object-oriented
design.
Professional Architects: Useful for large-scale "big upfront design" planning before code
implementation.
Project Organization
StarUML stores projects in a single JSON-based .mdj file, making it easy to parse and manage via
external tools. Projects are typically organized into Models, Views, and Diagrams to maintain a
clear conceptual distinction between the underlying data and its visual representation.
44
Actors in the University Course Registration System:
4. The register must maintain all the information about courses ,professors and students.
5. The billing system must receive billing information from the system.
1 Student
2 Professors
3 Register
The following questions will help to identify the use cases in the system:
1 The student actor needs to use the system to register for courses.
2 After the courses selection process is completed ,the billing system must be supplied with
billing information.
3 The professor actor needs to use the system to select the course to teach for a semester and
must be able to receive a course roster from the system.
4 The register is responsible for the generation of the course for a semester and for the
maintenance of all information about the curriculum, the students and the professors needed
by the system.
The purpose of a class diagram is to specify the structural makeup of the system. This
includes class relationship and the attributes and behaviors associated with class. Class
diagrams are remarkable at inheritance and composite relations hips.
A good class captures one and only one abstraction-it should have one major theme.
The following questions will help to identify the classes in the system:
The following needs must be addresses by the system for classes are:
1 Courses
2 professor
3 student
4 Home
The following questions will help to identify the attributes for classes:
For example for the class student the attributes are name, age ,roll no, address, branch etc.
Object provides and describes abstract data. Method or behaviour or operations usually
46
corresponding to queries about attributes.
For example for the class student the methods are get detail (), registration request () etc.
For example there is a relationship between students class and professor’s class.
A Sequence diagram is a model that describe how groups of objects Collaboration in some
behaviour over time. The Sequence diagram captures the behaviour of a single use case and
shows the objects and the messages that are passed between these objects in the timeframe of the
specific use case The Sequence diagram does not show relationships between objects.
1 Describe the overall sequence of the flow of control when there are many short methods
in different classes.
2 Show concurrent processes and activations.
3 Show time sequences that are not easily depicted in a Collaboration diagram.
4 Show general forms that do not deal with objects but with class interaction.
Diagrams) provides much of the information required to develop an initial class diagram.
5 Parameters or return data involved in the message imply a requirement for attributes;
interaction between two objects implies some form of relation between their classes.
Activity diagram represent the dynamics of the system. They are used to show the flow of
control from activity to activity in the system, what activities can be done in parallel and any
47
alternate paths through the flow. Activity diagrams may be created to represent the flow with in
a particular use cases or across the use cases. It may be created to shoe the work flow for an
operation
Begin by identifying what it is you are modeling. Is it a single use case? A portion of a
use case? A business process that includes several use cases? A single method of a class?
Once you identify the scope of your diagram, you should a label at the top, using a note,
indicating an appropriate title for the diagram and a unique identifier for it. you may also
want to include the date and even the names of the authors of the diagram.
if you are modeling a use case, introduce an activity in each major step initiated by an
actor if you are modeling a high level business process, introduce an activity for each
major process, often a usecase or a package of usecases. finally if you are modelling a
method, then it is common to9 have an activity for this step in the code.
4. Add transitions from the activities.
My Style is always to exit an activity even if it is simply toan ending [Link] there is
more than one transition out of activity,you must label each transition appropriately.
Sometimes the logic of what you are modelling calls for a decision to be made.
Two Activities can occur in parallel when no direct relationship exits between them and
tehey must both finish before a third activity can.
3. create catalogue
4. Open registration
48
7. Mail catalogue to students
49
A Point-of-Sale (POS) system
B
A Point-of-Sale (POS) system
Project Analysis:
A POS system is a computerized application used to record sales and handle payments; it is
typically used in retail store. It includes hardware components such as a computer and bar code
scanner , and software to run to run the system. It interfaces to various applications, such as
third party tax calculator and inventory control. These systems must be relatively fault tolerant;
that is ,even if remote services are temporarily unavailable they must still be of capturing sales
and handling at least cash payments . A POS system must support multiple and varied client-
side terminals and interfaces such as browser, PDAs, touch-screens.
Identifying actors:
1. Sell items
2. Pay salaries
3. Maintenance
4. Issue bills
5. Take salary
6. Select items
7. Buy items
8. Give loans
9. Collect loans
10. Display
11. Sales
12. Profit
13. Loss
50
14. Pay money
Identifying relationships:
Association:
Identifying classes:
1. Supermarket
2. Customer
3. Cash payment
4. Staff
5. Items
6. Bank
7. Sales
8. Cashier
9. Profit
10. Loss
11. Billing system
12. hardware
13. software
14. scanner
15. Barcode reader
16. Determine tax
17. Stationary
Aggregation:
Association:
Generalization:
Dependency:
Identifying attributes:
Identifying operations
[Link]:sell items
[Link]:buy items
3. Cash patment:display
[Link]:Worktimings:salary
[Link]:display
[Link]:Display
52
[Link]:Collect cash
[Link]:display
[Link]:display
10. billing
system:issuable,display
[Link]
[Link]
[Link]:scam code
[Link] reader:barcodescan
[Link] tax;display
[Link]:display
Identifying objects:
[Link]
2. [Link] payment
3. [Link]
4. [Link]
6. [Link]
7. [Link]
8. [Link] systems
9. [Link] reader
Identifying messages:
53
8. Super market produces the billing from
Identifying activities:
Project Analysis:
Online book shop is an application used to maintain information about the items that are
generally available in that book shop. Any customer can access the information about the item
and he can also order item through online by creating his login in that site. Customer can change
the already entered details. The items information in that site is entered by the bookshop staff
and it can be change if there are any modifications.
The following needs must be addressed by the system for actors are:
1 Customers to order books, access the details of the books and to receive books.
2 Bookshop staff provides the details of books and to send the books.
1 Costumer
2 Bookshop staff
The following needs must be addressed by the system for use cases are:
1 Customer registers the details of the books that are required and his personal details.
2 Customer browses the site of bookshop and selects the required books and orders.
3 The books that ordered by the customers are delivered to the appropriate customers.
4 If customer wants to change his details that are registered then it is possible through
customer update details.
5 If any new items enter the book shop or any items that removed are entered by the
54
bookshop details.
The following needs must be addressed by the system for classes are:
1 Book
2 Item
3 Customer
1 Bookshop staff
2 Music cd
3 Software
4 Book
5 Address
For example the book attributes are book name, book id, author name etc.
Inheritance:
1 Book is an item
2 Music cd is an item
3 Software is an item
4 Billing address is an address
5 Shipping address is an address
Aggregation:
55
Association:
Dependency:
Identify attributes:
Bookshop
Welcome message
Error message
Book:
Display
56
Music cd:
Display
Software:
Display
Shopping cart:
Additem
Display
Itemorder
Order:
Customer:
Verifypassward
Additemtoshoppingcart
Creat order
Printbillinglable
Printshppinglable
Address:
Billingaddress:
Shippingadrress:
Identifying objects:
1. [Link]
2. [Link] staff
3. [Link]
4. [Link]
5. [Link]
6. [Link]
57
Identifying messages:
The following needs must be the addresses by the systems for the activities are:
1. When the custom opens the site then welcome message must be displayed.
2. If the customer wants to order books then he creates the login name and password.
3. Authentication is done after the customer login.
4. Customer can login the desired books.
5. The ordered books are transferred to the appropriate customers.
Activities identified are:
2. Customer login
4. Customer browses.
8. Customer done
58
An Automated Company
Projected Analysis:
Automate a small manufacturing company. The resulting application will enable the
user to take out a loan, purchase a machine, and over a series of monthly production runs,
follow the performance of their company.
Identifying actors
1. Recruit employee
2. Give salary
3. Pay for raw materials
4. Maintain machines
5. Dismiss employee
6. Product goods
7. Work
8. Maintain union
9. Take salary
10. Give loan
11. Collect interest
12. Collect loan
13. Bye goods
14. Pay money
Identifying relationships
Generalization
1. Technical staff is a type of employee
2. Non technical staff is a type of
employee Association
59
6. Company product goods
[Link] buy
goods [Link]
pays
Identifying classes:
[Link] [Link]
[Link]
[Link]
[Link] technical
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
[Link]
Inheritence:
60
1. status contains profit
Aggregation:
Association:
Dependency:
Identifying attributes:
[Link]:name,code,address
[Link]:name,address,branchname
[Link]:department,hrswork
[Link]:name,id,hourswork
[Link]:name,id,hourswork
[Link]:code
[Link]:type,cost,size,capacity
[Link]:name,code
[Link]:name
[Link]:name,address
61
12. status:mention status
[Link]
14. loss
Company:
1. check attendance
2. give salary
[Link] machines
6. recruit employee
7. dismiss employee
Customer:
1. buy goods
2. pay money
Bank:
1. give loan
2. collect interest
3. collect loan
Employee:
1. work
2. take salary
3. maintain union
Non technical:
1. work
62
2. take salary
3. maintain union
Shares
1. increase on profit
2. decrease on loss
machines
market
1. receive goods
2. sell goods
sales
1. calculate status
Status
profit
[Link] status
[Link] amount
loss
[Link] status
3. loss amount
Identifying objects
1. c:company
2. s:shares
63
3. r:raw materials
4.m:machinery
[Link]:sales 6.c:customer
7. m:market
8.g:goods
9.e:employee
10.b:bank
Identifying messages
Identification of activities:
Automate the operations in an airport. your application should support multi aircrafts using several
run ways and gates avoiding collisions/conflicts. landing: an aircraft uses the runway,
64
lands and then taxes over to the terminal. Take-off: an air craft taxies to the run way and then
takes off.
1. check luggage
2. give ticket
3. ticket booking
4. take money
5. maintainance
6. give salary
7. take off
8. land off
9. visa check
11. timings
13. management
Identifying relationships:
Genenaralization:
Association:
65
5. Pilot makes the aero plane to take off
Include
Extend
1 .after ticket booking the air plane may or may not come in time
Identifying classes:
1. Airport
2. Location management
3. Staff
4. Security
5. Technical staff
7. Customer
8. Visa check
9. Ticket booking
11. aeroplane
[Link] planes
15. bakery
16. stationary
66
18. Timings
19. Pilots
20. Helpdesk
Aggregation:
Generalization:
Dependency:
Identifying attributes:
[Link]: name,id,type
67
7. nontechnical staff: name, id,
type [Link]:name,id
[Link]:name,id
[Link]:name,code,destination
[Link]:name, id
[Link]:name, id
airport
take off
landing
parking of planes
management
gives salary
maintenance
control staff
staff
work
take salary
customs
check luggage
check persons
68
visa check
visa check
ticket booking
book ticket
give ticket
Take money
Aeroplanes
Reach destination
Takeoff
Buy goods
Bakery
Pay to management
Stationary
Pay to management
Electronic
Pay to management
Restaurant
Pay to management
Pilots
Helpdesk
Tell details
Identifying objects:
1. P:Passenger
2. T:ticket booking
[Link]:timings
[Link]:aeroplanes
69
5. T:timings
6.A:airport
7.S:shoppingstalls
Identifying messages:
Creating Activity
Diagram: Identification of
2. Check visa.
3. Grant permission
4. Send out
6. pay money
7. Don’t pay
9. inform arrival
[Link] of passenger
70
71
12. reach destination.
72