0% found this document useful (0 votes)
10 views32 pages

1 0IntroOOAD1

The CSCD-301 course focuses on Object Oriented Analysis and Design, aiming to enhance students' understanding of information systems development processes and techniques. Key topics include requirements analysis, use case modeling, and system design, with an emphasis on object-oriented methodologies. Students will gain practical skills in analysis and design tools, fostering collaborative work and a comprehensive understanding of system characteristics and challenges.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views32 pages

1 0IntroOOAD1

The CSCD-301 course focuses on Object Oriented Analysis and Design, aiming to enhance students' understanding of information systems development processes and techniques. Key topics include requirements analysis, use case modeling, and system design, with an emphasis on object-oriented methodologies. Students will gain practical skills in analysis and design tools, fostering collaborative work and a comprehensive understanding of system characteristics and challenges.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

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

You might also like