1
Software Engineering – http://www.cs.uta.fi/se University of Tampere, CS Department Jyrki Nummenmaa
OBJECT-ORIENTED ANALYSIS
- Earlier, we saw a number of different software lifecycle
models.
- Similarly, there exists different ways to develop object
- riented (OO) software.
- We will start with a very basic OO waterfall model as given in
the textbooks. That model is ok, if there is no (relational) database and the software is not that big.
- Later, we will study why this is typically only good for small
non-database software.
- We will also study how large-scale database-driven OO
software should be developed.
Software Engineering – http://www.cs.uta.fi/se University of Tampere, CS Department Jyrki Nummenmaa
Object Analysis And Design
- The goal is to start from the requirements, and to come up
with a description of the software (classes with their attributes and methods) which can be implemented in a fairly straightforward way.
- Usually we talk about “analysis model” and “design model”.
- Analysis model is something which, in principle, describes the
system in OO terms, but we would not want to implement it as such, for reasons such as efficiency and maintainability.
- Design model is something we want to implement.
Software Engineering – http://www.cs.uta.fi/se University of Tampere, CS Department Jyrki Nummenmaa
Object Analysis
- Goal: Start from the requirement specification and come up
with
– A description of the classes (commonly a class diagram, to be introduced later) – A description on how the use cases are to be executed using these classes (with some other UML diagrams such as sequence diagrams, also to be introduced later).
- Methods:
– “Meditation” which more or less means “no methods”. – Requirement specification text analysis. <- In these slides! – Analysis of all possible technical documentation of an old system
- r other existing systems.
– Possibly separate analysis of the domain (e.g. banking). Software Engineering – http://www.cs.uta.fi/se University of Tampere, CS Department Jyrki Nummenmaa
OBJECT ANALYSIS
- Although there is some variance, most methods are based on
what is called OMT (Object Modeling Technique).
- I present a simplified technique, which follows the main ideas
- f most of these methods.
- I will present the technique using an example, which I have
modified from ”Oliokirja” by Kai Koskimies.
- The example is a simplified version of the famous Finnish
board game ”Afrikan tähti” (African Star).
- I will explain the various types of diagrams as they are
needed.
Software Engineering – http://www.cs.uta.fi/se University of Tampere, CS Department Jyrki Nummenmaa
Object Design - Architecture
- This typically starts with something called “architectural
design”, which in a way describes the basic solutions and or models, which the design is going to follow.
- Here, we identify different processes, which possibly run on
different computers.
- There is a number of “design styles”, which may be applied.
- The technology and the software development tools may
probably have a major impact on the architectural solutions.
Software Engineering – http://www.cs.uta.fi/se University of Tampere, CS Department Jyrki Nummenmaa
Object Design
- Once the architectural decisions have been made, the
analysis model is developed into a model describing the classes that we are actually going to implement.
- The UML diagram types are probably mostly the same as in
analysis, but new classes, methods and attributes are introduced for the implementation.