0% found this document useful (0 votes)
10 views

1chapter 5

Uploaded by

baslealgetaneh2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

1chapter 5

Uploaded by

baslealgetaneh2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Chapter Five

System Analysis and Design

Chapter 5: Determining What to Build: OO


Analysis

Target Group 2nd Year IS students


OUTLINE
System Use Case Modeling

Sequence Diagrams: From Use Cases to Classes

Conceptual Modelling: Class diagrams

Activity diagramming

User interface prototyping Evolving your supplementary


specification

Applying Analysis patterns Effectively

User Documentation

Organizing your models with packages


Introduction
Object Oriented Analysis (OOA)

Object-Oriented Analysis (OOA) is the first technical activity


performed as part of object-oriented software engineering. OOA
introduces new concepts to investigate a problem.

Object Oriented Design (OOD)

An analysis model created using object-oriented analysis is


transformed by object-oriented design into a design model that
works as a plan for software creation.
System Use Case Modeling
A use-case model is a model of how different types of users interact with
the system to solve a problem.
It describes the goals of the users, the interactions between the users and
the system, and the required behaviour of the system in satisfying these
goals.
A use-case model consists of a number of model elements. The most
important model elements are: use cases, actors and the relationships
between them.
It is used as the primary specification of the functional requirements for
the system, as the basis for analysis and design, as an input to iteration
planning, as the basis of defining test cases and as the basis for user
documentation.
Basic model elements
Con..
The use-case model contains, as a minimum, the following basic model
elements.
1. Actor
A model element representing each actor. Properties include the actors name and
brief description. See Concept: Actor for more information.
2. Use Case
A model element representing each use case. Properties include the use case
name and use case specification. See Artifact: Use Case and Concept: Use Case
for more information.
3. Associations
Associations are used to describe the relationships between actors and the use
cases they participate in. This relationship is commonly known as a
“communicates-association”.
Con….
During analysis, your main goal is to evolve your essential use
case into system use cases.
The main difference between an essential use case and a system
use case is, in the system use case, you include high-level
implementation decisions. Example:
Con….
A system use case model is composed of a use case diagram and
the accompanying documentation describing the use cases, actors,
and associations.
Sequence Diagrams: From Use Cases to Classes
Sequence Diagrams are interaction diagrams that detail how operations are carried
out. They capture the interaction between objects in the context of a collaboration.
Sequence Diagrams are time focus and they show the order of the interaction
visually by using the vertical axis of the diagram to represent time what messages
are sent and when.
Purpose of Sequence Diagram
Model high-level interaction between active objects in a system
Model interaction b/n object instances within a collaboration that realizes a use
case
Model the interaction b/n objects within a collaboration that realizes an operation
Either model generic interactions (showing all possible paths through the
interaction) or specific instances of a interaction (showing just one path through
the interaction)
Con…
Example
 Sequence diagram for log in
Conceptual Modelling: Class diagrams
Class models are the mainstay of the OO analysis and design. Class models
show the classes of the system, their interrelationships (including
inheritance, aggregation, and association) and the operations and attributes
of the classes. The conceptual models are used to depict your detailed
understanding of the problem space and solution for your system.

The easiest way to begin conceptual modelling is to convert the CRC (as a
base) directly to UML class diagram. While a CRC model provides an
excellent overview of a system, it doesn„t provide the details needed to
actually build it.

For each card in the CRC model, you create a concrete class in the class
diagram, with the exception of cards that represent actors (actors exist in the
real world). The CRC model for the University represented here below:
Con…
Con..
Notice how the names stayed the same (spaces were
removed from the names to follow the naming convention
of class name). The collaborators on the CRC cards
indicate the need for an association, aggregation,
association, or dependency between classes.
Dependencies are modeled between UI classes and the
business classes with which they collaborate because UI
classes are transitory in nature, implying the associations
they are involved with are transitory. The diagram consists
of the association and dependency between classes.
Implying the associations they are involved with is
transitory, and hence should be modeled as dependencies.
The corresponding class model of the CRC model
Con…
Activity Diagrams
activity diagrams are used to document the logic of a single
operation/ method, a single use case, or the flow of logic of a
business process. In many ways, it is the object-oriented
equivalent of flow charts and data-flow diagrams (DFD) from
structured development.
Example: The activity diagram for how someone new to the
university would enroll for the first time:
User interface prototyping Evolving your supplementary specification
It is an iterative analysis technique in which users are actively involved in the
mocking-up of the UI for a system. UI prototyping has two purposes:
1. It is an analysis technique because it enables you to explore the problem space
your system addresses.
2. It enables you to explore the solution space of your system, at least from the
point-of-view of its users, and provides a vehicle for you to communicate the
possible UI design(s) of your system.
There are four high-level steps are in the UI prototyping process:
a. Determine the needs of your users.
b. Build the prototype
c. Evaluate the prototype
d. Determine if you are finished.
Con….
It is the iterative steps of prototyping, and summed-up as
follows:

 The following are prototyping Tips and Techniques:


Work with the real users.
Use a prototyping tool.
Understand the underlying business.
Don„t spend a lot of time making the code good.
Only prototype features that you can actually build.
Get an interface expert to help you design it.
Applying Analysis patterns Effectively
Analysis pattern describe solutions to common problem found in
the analysis/ business domain of a system. It is typically more
specific than design patterns, because they describe a solution
for a portion of a business domain. This doesn„t mean an
analysis pattern is applicable only to a single line of business,
although it could be. The basic analysis patterns are:

The Business Entity Analysis Pattern: The basic idea of this


pattern is to separate the concepts of a business entity, such as a
person or company, from the roles it fulfills.
Con..
Example:
Suppose Mr. Alemu, may be a customer of your organization, as
well as an employee. Furthermore, one day he may also sell
services to your company, also making him a supplier. The person
doesn„t change, but the role(s) he has with your organization does,
so you need to find a way to model this, which is what this pattern
does.
Each business entity has one or more roles with your organization
and each role has a range during which it was applicable (the
―start‖ and ―end‖ attributes). Each role implements the behaviour
specific to it.
Con..
The Contact Point Analysis Pattern: It describes an approach for
keeping track of the way your organization interacts with business
entities.
The basic idea behind this pattern is that surface addresses, email
addresses, and phone numbers are really the same sort of thing – a means
by which you can contact other business entities.
Some Potential Advantages of Patterns:
Patterns increase developer productivity.
Patterns describe proven solutions to common problems.
Patterns increase the consistency between applications.
Patterns are potentially better than reusable code.
More and more patterns are being developed every day.
User Documentation
User documentation is an important part of the overall product
delivered to your customer. It helps end-users be more successful with
your product or service.
In the past, user documentation was given via a help file that was local to
the user‟s machine or a physical manual or booklet. This meant it
couldn‟t be updated or changed easily and that software providers got
very little data about how their content was used.
Nowadays, user documentation is almost always offered online,
which has helped technical writers be more imaginative in how they
assist users. They can collect data, try different learning techniques,
iterate more quickly, and produce a richer content experience for users.
Organizing your models with packages
Packages are UML constructs that enable you to organize model
elements into groups, making your UML diagrams simpler and
easier to understand.

Packages are depicted as file folders and can be used on any of the
UML diagrams, although they are most common on use case
diagrams and class diagrams because these models have tendency to
grow.

A well-defined model organization is essential to ensure that the


model is partitioned into model elements that support reuse, access
control, navigability, configuration management, and data exchange.

You might also like