CSCD-301
Object Oriented System
Analysis and Design
Joseph Annan
1
COURSE TITLE CSCD 301 Object Oriented Analysis & Design
Course Team Joseph Annan
Course Aims
Course Outline
To promote student's knowledge and understanding of the process of developing information systems.
To develop an understanding of various approaches in developing information systems.
To provide the students with the knowledge of various techniques and tools used in the process of
information systems planning and requirements analysis with a focus on Object Oriented techniques.
To develop skills in certain fundamental techniques of information systems planning and analysis (OO)
Main topics of 1. Information Systems and organisations
study 2. Requirements Analysis
3. Use Case Modelling
4. Class Modelling
5. Modelling Interactions
6. Specifying Operations
7. States & Activities
8. From Models to Implementation
9. Designing the User Interface
10. Data Management Design
11. Information Systems Development and Techniques
Learning At the end of this Module, students will be able to:
Outcomes
Knowledge
1.Demonstrate a sound knowledge of a variety of current approaches in developing information systems.
2.Apply and display improved competence in a range of relevant methods and techniques to the process of
information systems development.
Thinking skills
1.Demonstrate a sound understanding of the specification and design process.
Subject-based practical skills
1.To familiarise themselves with a range of analysis and design tools.
2.To develop and design an information system
Skills for life and work (general skills)
1.Collaborative and team working skills 2
What’s the course about?
Introduction into how to develop information
systems:
System life cycles
Object Oriented modeling tools
Implementation
3
Introduction to Information
Systems.
4
What’s Systems Analysis and
Design?
Systems Analysis:
- is understanding and specifying in detail, WHAT
the Information System should do.
System Design:
- specifying in detail, HOW the many
components of the Information System should
be physically implemented
5
Lecture content
Evolution of System Development
What is the difference between Data and
Information?
Information System definition, concepts and
examples.
Problems in IS development
6
Evolution of System Development
(Procedural)
• Programs created in procedural languages tend to be difficult to
manage, hard to maintain, and impossible to extend.
• Graphical user interfaces, the Internet, digital telephony, and a
host of new technologies have dramatically increased the
complexity of our projects at the very same time that consumer
expectations for the quality of the user interface are rising
7
Evolution of System Development
(Procedural)
• In the face of this increasing complexity, developers took a long
hard look at the state of the industry. What they found was
disheartening, at best.
• Software was late, broken, defective, bug ridden, unreliable, and
expensive.
• Projects routinely ran over budget and were delivered late to
market.
• The cost of maintaining and building on these projects was
prohibitive, and a tremendous amount of money was being
wasted.
8
Evolution of System Development
(Object Oriented)
• Object-oriented programming languages build a strong link
between the data structures and the methods that manipulate
that data. More important, in object-oriented programming, you
no longer think about data structures and manipulating
functions; you think instead about objects.
• Things.
– The world is populated by things: cars, dogs, trees, clouds, flowers.
Things.
– Each thing has characteristics (fast, friendly, brown, puffy, pretty).
– Most things have behaviour (move, bark, grow, rain, wilt).
– We don’t think about a dog’s data and how we might manipulate it—we
think about a dog as a thing in the world, what it is like and what it does.
9
Building Models
• If we are to manage complexity, we must create a model of the
universe.
• The goal of the model is to create a meaningful abstraction of
the real world.
• Such an abstraction should be simpler than the real world but
should also accurately reflect the real world so that we can use
the model to predict the behaviour of things in the real world.
• A globe is a classic model. The model isn’t the thing itself; we
would never confuse a globe with the Earth, but one maps the
other well enough that we can learn about the Earth by studying
the globe.
10
Building Models
• A model that is not simpler than the thing being modelled is not
much use.
• Object-oriented software design is about building good models.
It consists of two significant pieces:
– a modelling language and
– a process.
• The lingua franca of software development is UML—The Unified
Modelling Language. The details of the UML are rather
straightforward.
11
Software Design: The Process
• The process of software design is iterative.
• That means that as we develop software, we go through the
entire process repeatedly as we strive for enhanced
understanding of the requirements.
• The design directs the implementation, but the details
uncovered during implementation feed back into the design.
• Most important, we do not try to develop any sizable project in a
single, orderly, straight line;
• Rather, we iterate over pieces of the project, constantly
improving our design and refining our implementation.
12
What is a System?
Examples of a system
Legal System.
Tropical storm System.
Balme library computer System.
They all have some form of organization****
But generally a System is more than that having organization!!!!
13
Characteristics of a System:
A system exists in an environment.
A system is separated from its environment by some kind of
boundary.
Systems have inputs and outputs. They receive inputs from their
environment, and send outputs into their environment.
Systems have interfaces. An interface allows communication
between two systems
A system may have sub-systems. A sub-system is also a system,
and may have sub-systems of its own.
14
Characteristics of a System:
Systems that endures have a control mechanism.
System control relies on feedback (and sometimes feed-
forward). These comprise information about the system’s
operations or its environment, that is passed to the control
mechanism.
A system has some properties that are not directly dependent on
the properties of its parts. These are called emergent properties,
as they only emerge at the level of the system as a whole.
15
Sub-Systems:
They are part of a larger System but are coherent Systems in
their own right.
Communication between sub-systems are through interfaces
(Inheritance!!!!!!).
Library System
Student records
System
Accounts System
Administration
System
University of Ghana16
What is System Boundary?
Any system we think about necessarily exists in our thought
rather than in the real world.
The System, however much it may correspond to the real
world System, is still a SUBJECTIVE view of reality and NOT
the REALITY itself.
Example????
17
What is System Boundary?
System Boundary
What the System does Outputs
Inputs
Control
Feed forward Feedback
How the system
is controlled
System Environment
Bennett, McRobb & Farmer, OO System Analysis and Design using UML. 2 nd Edition. 18
Inputs, Outputs and Interfaces
Systems have interactions with their environment.
(e.g. the nervous system receives sensory information like light, sound
etc. and transforms them into signals that moves the body’s muscles
and generate speech etc.)
Inputs originate outside the system. They are taken in to be
used in a way.
Outputs are created by the System and sent into the
environment to have some effect in order to achieve the
purpose of the System.
Money
New clothes
Details/Information
Black box view of a System 19
What is Information?
Information is the collection of data that has been
processed.
Information is the material we collect as output of the
system.
Example: say total sales of this month.
20
What is Data?
Data is the collection of raw material collected with the
intention to be processed into information.
Data is the material we use as input to the system.
Example: list of all individual sales.
21
Data in relation to information.
Data
System
Process
Information
22
What is Information Systems:
Information system is the process of storing and processing
data into information.
A misconception is that Information system has to be
computerized.
Can you think of examples of computerized and none
computerized Information systems?
23
Information Systems
• Information system: Is a collection of processes, data, stored or
volatile and has output information
• Subsystem: are components of another system
• Components: some are hardware, software, inputs, outputs,
data, people, and procedures
• Supersystem: collection of all the systems
• Automation boundary: this separates the automated part of
system from the manual (i.e. human)
*******Give examples of systems
24
Figure 1
Production Information system and Subsystems
25
Information System forms
Computerized:
University registration system.
T.V. license system.
Library system.
None computerized:
Voting System (most countries)
Auction Systems.
Why?
26
Developing Information Systems
(getting it Right).
How do we establish the business requirements for the
new system? (more complex and subtle)
What effect will the new system have on the
organization?
How do we ensure the system we build will meet its
requirements?
27
System development concept:
In the development of a system, we generally go through the
following stages
Feasibility System System System
Study Analysis Design Testing
System
Implementation
28
Problems with Information Systems.
There are two main problems faced by Information System
managers:
• Time
• Money
Project management skills are essential for the system to finish
on time and in budget.
29
Problems with Information Systems.
Time & Money:
• Project that take more time (and more money) than
expected are often due to:
• Not enough planning.
• Underestimating time needed for Testing.
• Misunderstanding between Design and Analysis phase.
• Customer changing their mind.
• Technology becoming old.
• Changes in regulations.
• High employee/management turnover.
30
Project management during inception
The objective of the UP project management discipline in this
phase is to:
Devise an initial project plan, establishing tasks, deadlines, and
deliverables
Allocate these to project members after having assigned a role
and responsibilities to each of them.
Perform an initial assessment of all possible risks associated to the
project
Draft contingency plans for each potentially risky situation.
31
Waterfall
• Iterative development can be distinguished from waterfall
development.
• In waterfall development, the output from one stage becomes the
input to the next, and there is no going back (see Figure 1.3).
• In a waterfall development process, the requirements are
detailed, and the clients sign off (“Yes, this is what I want”);
– the requirements are then passed on to the designer, set in stone.
– The designer creates the design
– and passes it off to the programmer who implements the design.
– The programmer, in turn, hands the code to a QA person who tests the
code
– and then releases it to the customer. Great in theory, disaster in practice.
32