IS 341
Business Systems Analysis
Appendix
A - Notes
Object-Oriented Analysis and Design
***NOTE: We are only going to focus on Object Modeling
in its most basic form, with the intent of picking up the basics of object
modeling and terminology.
1. Ability to tackle more challenging problem
domains
2. Improved communication among users and
developers (analysts, designers, and programmers)
3. Reusability of analysis, design, and
programming results
4. Increased consistency among the models
developed during object-oriented analysis, design, and programming.
An object-oriented SDLC
focuses on a progressively developing representation of a system component
(called an object); early stages are abstract, focusing on external
qualities (data structures, timing, user interaction); later stages focus on
functionality.
The analysis phase models
important real-world properties and what the object should do (not how), on
functional behavior independent of the environment.
In the design phase
the application-oriented analysis model is adapted/refined to fit the target
environment.
During the implementation
phase the finalized design is implemented using a programming language or DBMS.
Unified
Modeling Language (UML) special
notations (and techniques) that allow the modeler to specify, visualize, and
construct the artifacts of software systems and business models; it builds upon
and unifies the semantics and notations of leading object-oriented methods and
has been adopted as an industry standard.
UML
is used for graphically representing object-oriented analysis and design
models, specifying system requirements and design decisions, and promoting
communication among developers, users, and others stakeholders. The underlying model integrates various views
so the systems can be analyzed, designed, and implemented in a complete and
consistent fashion.
II. Use-Case Modeling used to analyze
functional requirements of a system; consists of Actors and Use Cases
Actor an External Entity that interacts with the system;
represents a way that a user can use the system; the Actors Name should
indicate the action
Use
Case a Complete Sequence of
related actions initiated by an actor, representing a specific way to use a
system
In a Use Case an Actor
initiates a sequence of related actions, a specific way of using the system; an
analyst should spend time with a user and understand the actions that the user
could request of a system, then build all these possibilities into the system
in terms of Use Cases; Use Case models can be used by programmers for developing
the actual system
III. Object Modeling: Class Diagrams
Object an entity that has a well-defined role in the
application domain; has State, Behavior, and Identity; it makes sense in an
application context; may be tangible or intangible, a person/place/thing/event
or anything at all
State a condition that encompasses an objects properties
(attributes and relationships) and the values of those properties what does
the object look like
Behavior the way an object acts and reacts (methods/services/programs)
Object
Class a set of objects that
share a common structure an behavior
Class
Diagram shows the static
structure of an object-oriented model the class, its internal structure, and
its relationships
Object
(Instance) Diagram graphical representation
of instances compatible with a given object class
Operation a service/method/function provided by all instances
(members) of a class
Encapsulation hiding the internal details of an object from
external view
Representing
Associations
Association a relationship among object classes; unary, binary,
ternary, etc
Association
Role the end of an
association where it connects to a class; may be named
Multiplicity how many objects participate in a given
relationship
IV. Representing Generalization
A.
Subclasses and Superclasses
B.
Inheritance
C.
Abstract and Concrete Classes
1. Abstract Class has no direct instances, but
its descendants may have direct instances a class, Patient, has no direct
instances, but has two subclasses, Inpatient and Outpatient, both of which may
have direct instances
2. Concrete Class a class that can have direct
instances - Inpatient and Outpatient
V. Representing Aggregation
Aggregation a part-of relationship between a component object
and an aggregate object a CPU and a Monitor are both components of an
aggregate object, a PC
VI. Dynamic Modeling: State Diagrams
State the State of an object depends on the values of its
attributes, and is the condition of the object during its life when it
satisfies come condition(s), performs some action(s), or waits for some
event(s); when the values of its attributes change it undergoes a State
Transition
Event
something that takes place at a certain time; an occurrence that triggers a
state transition
VII. Dynamic Modeling: Sequence Diagrams
Sequence
Diagram depiction of the
interactions among objects during a certain period of time
Activation the time period during which an object performs an
operation
Synchronous
Message message where the
caller has to wait for the receiving object to finish executing the called
operation before it can resume execution itself
Simple
Message message that transfers
control from the sender to the recipient without describing the details of the
communication
VIII. Designing a Use-Case with a Sequence Diagram
IX. Moving to Design