Object Oriented Analysis
and Design
DEPARTMENT OF INFORMATION TECHNOLOGY
GOVT. GORDON COLLEGE RAWALPINDI
Fall 2019 Semester
BS Course: IT-325 OOA/D
Course Instructor: Mubashra Rabbani
Lecture 6
EBP Guidelines
There are certain tests that can help in finding useful use cases for our
system. These tests guide us about the valid use cases by answering a
question: “what is a useful level to express use cases for application
requirements analysis”
To answer this question there are several rules of thumb including:
The Boss Test
The Size Test
The EBP Test
EBP is a term from the business process engineering field defined as:
“A task performed by one person in one place at one time, in
response to a business event, which adds measurable business
value and leaves the data in a consistent state. e.g., Approve
Credit or Price Order”
EBP Guidelines
Actors have goals (or needs) and use applications to help
satisfy them.
Consequently, an EBP-level use case is called a user goal-level
user case.
And it emphasize that it serves (or should serve) to fulfill a goal
of a user of the system, or the primary actor.
Recommended procedure for writing a use case:
Find the user goals.
Define a use case for each.
Usecase table
Activity Diagram
UML activity diagram shows sequential and
parallel activities in a process.
Activity diagram is used to visualize
workflows and business processes, in
essence, it shows a sequence of actions.
The diagram can show both control flow
and data flow.
Use Cases are not the whole story.
There are other requirements too.
Other requirement artifacts include:
Supplementary specification
Vision Document
Glossary
Business/Domain Rules
Supplementary specifications
The Supplementary Specification captures other requirements,
information, and constraints not easily captured in the use
cases or Glossary.
These include system- wide "URPS+" quality attributes or
requirements.
They are of two types:
1. Observable at execution (functionality, usability,
reliability, performance, ...)
2.Not observable at execution (supportability,
testability, ...)
Supplementary specifications
Note that requirements specific to a use case can be first
written with the use case, in a Special Requirements section,
but some prefer to also consolidate all of them in the
Supplementary Specification.
Elements of the Supplementary Specification could include:
URPS+
Documentation, Reports and help
Hardware and software constraints, Development, Design
and implementation constraints
Standards, Licensing and legal concerns
Physical environment and Operational Concerns
Vision Document
Vision summarizes the vision of project.it is an executive summary
that serves to communicate big ideas.
System vision document is a document that defines the high-level
scope and the purpose of the system or project.
In the vision document, a clear statement regarding the problem
and the solutions to mitigate those risks are defined.
This helps in establishing the expectations for the system and
helps in reducing the risks of the system.
This document include :
Problem Statement / Definition
Project Background
List of risks
Proposed Solution and list high level features.
Scope and Objective
Glossary
A glossary is an alphabetized list of specialized terms
with their definitions.
The project glossary is a collection of vocabularies or
phrases (the terms) captured from various
models, reports and any other artifacts in the
software project.
Each term are defined with its meaning specific to
the project domain.
It can also play the role of Data Dictionary
Rational Rose overview
Rational Rose is a visual modeling software
object-oriented
Unified Modeling Language (UML) s
oftware design tool
intended for visual modeling and component construction of
enterprise-level software applications.
Rose can graphically depict an overview of the behavior of a
system.
It shows objects interaction and links between them, life
history of a given class, and workflow of a business process.
Rose supports UML – a communication standard. Using UML, a
common vocabulary is used and thus miscommunication is
minimized.
Rational Rose overview (contd…)
Rational Rose uses modeling to unify and simplify the software
development process
Rational Rose captures the following system architecture:
Logical architecture: classes and relationships that
represent the key abstractions
Component architecture: actual software module
organization
Deployment architecture: configuration of run-time
processing elements and their processes
List of diagrams by rose include : Class, Use Case, Data Model,
Sequence, Collaboration, State, Activity, Component,
Deployment
Rose includes features that simplify the software development
process:
UML modelin
Multilanguage development
Component-based development
Internet Web publisher
Basic report generator
Database schema generator
Rational Rose can generate source code that corresponds to
your object model.
When you generate source code, rational rose automatically
creates the .h and .cpp files. Contained in these files will be
the class shells. Rose generates the classes and adds the
attributes to them.