5. Content
• Introduction to processes involve in Analysis and Design
• Revise Structured Approach
• Revise Object Oriented Approach
5
6. What Is Systems Analysis and Design
(SAD)?
The process of implementing and operating an
information system
Requires knowledge of:
• Organization’s objectives, structure, processes
• Information technology opportunities and constraints
6
7. What Is Systems Analysis and
Design?
The major goal of SAD is :
“to improve organizational systems, typically by
developing application software/system that can help
employees accomplish key business tasks easily and
efficiently”
A system is designed to support a specific organizational function or
process (inventory management, payroll, etc)
7
8. Analysis
Its meaning (Greek word) “to break down into
component parts”.
It is a process of coming to understand fully the
problem that is trying to be solved.
Analysis activity is characterized as asking:
• What happens in current system?
• What is required in the new system?
8
Definitions
9. Analysis
It is a process of seeking to:
• Understand the organization
• Investigating its requirement, and
• Modeling them.
Result : A specification of what the proposed system
will do based on requirements (requirement
specification).
9
Definitions
10. Design
Design activity is concerned with specifying:
• How the new system will meet the requirements?
It is a process of :
• Producing a solution that meets the requirements that have
been analysed.
Jacobson et. al (1992) regards:
“design as a part of construction process (together with
implementation)”
10
Definitions
11. 11
Analysis Design
Role of Systems
Analyst
Role of Systems
Designer
Description of the Problems Description of the Solutions
Analysis and design can be viewed as follows:
Definitions
12. Systems Analysis
Process of
• defining the problems
• gathering the requirements
• developing an analysis model representing those
requirements
Describing the problem the system is meant to solve
Goal:
• To state accurately the users’ requirements for a new
information processing system
12
Definitions
13. Systems Design
A process by which the analysis model is transformed into a
model which is capable of being implemented
Describing the solution to the problems
Goals:
• Satisfaction of requirements
• Provide effective function
• Performance
• Specify the acceptable level of performance
• Constructability
• Feasible to construct the new system/artifact
• Efficient design process
• Maximizing the efficiency of the process
13
Definitions
14. Add formality
Improve communication between participants
Get the requirements right!
Reduce errors
The cost of fixing analysis and design errors as one
moves from the analysis phase to the maintenance
phase can increase by a factor of 100
Generate documentation and get approval from
end-user.
14
The Purpose of Analysis and Design
17. 17
Structured Approach made of three
techniques
Structured analysis
Structured design techniques
Structured programming
Collectively referred to as structured
analysis and design technique (SADT)
Structured Approach
18. Structured Analysis
• Helps developer define what the system needs to do (processing
requirements)
• Data to store and use
• Inputs and outputs
• How functions work together
• DFDs and ERDs commonly used to show results of structured analysis
18
Structured Approach
21. Structured design is developed to provide guidelines :
•What the set of programs should be?
•What each program should accomplish?
•How programs should be organized into a
hierarchy?
21
Structured Approach
23. Structured Programming
• The process of implementing a structured design
• Developed in the 1960’s to improve computer program quality and allow
other programmers to easily read and modify the code
• Each program module has one beginning and one ending
23
Structured Approach
24. Views information systems as collections of interacting objects that
work together to accomplish tasks
Objects - a thing in the computer system that can respond to
messages
No processes, programs, data entities, or files
24
Object-oriented Approach
25. Object-oriented analysis
• Defines all types of objects that do the work of the
system
• Shows how objects interact
Object-oriented design
• Defines all additional object types needed to
communicate with people and devices in the system
• Refines each type of object for implementation in a
specific language and environment
25
Object-oriented Analysis and Design
26. The main concepts introduced here are:
• Objects, Classes and Instances
• Object State
• Generalization and Specialization
• Message-passing and Encapsulation
• Polymorphism
26
Based on Chapter 4 of Bennett, McRobb and Farmer:
Object Oriented Systems Analysis and Design Using UML, (2nd
Edition), McGraw Hill, 2002.
What is object orientation
27. An object is:
“an abstraction of something in a problem domain,
reflecting the capabilities of the system to”
keep information about it,
interact with it,
or both.
Coad and Yourdon (1990)
27
Objects
28. “Objects have state, behaviour and identity.”
Booch (1994)
State: the condition of an object at any moment, affecting how it
can behave
Behaviour: what an object can do, how it can respond to events
and stimuli
Identity: each object is unique
28
Objects
29. 29
Object
A person. ‘Hussain Pervez.’ Speak, walk, read.
Studying, resting,
qualified.
A shirt.
My favourite button
white denim shirt.
Shrink, stain, rip. Pressed, dirty,
worn.
A sale. Sale no #0015,
16/06/02.
Earn loyalty points. Invoiced,
cancelled.
Identity Behaviour State
A bottle of
ketchup.
This bottle of
ketchup.
Spill in transit. Unsold, opened,
empty.
Examples of Objects
30. What Is an Object?
An entity that encapsulates data and behavior
Objects are categorized into classes
Each individual object is an instance of a class
30
31. What Is Encapsulation?
The characteristic of object-orientation in which data
and behavior are bundled into a class and hidden from
the outside world
Access to the data and behavior is provided and
controlled through an object’s interface
31
32. Class - a category of objects that share the same:
• attributes,
• operations/methods
• relationships and semantics
All objects are instances of some class
32
What Is Class?
34. What Is an Attribute?
Attribute- a named property of a class that describes a
range of values that instances of the attribute might
hold
Attributes are the way classes encapsulate data
34
36. What Is an Operation?
A behavior of an object
Implemented in classes are methods
Methods are identified and invoked by their signatures,
including name, parameters, and return type
36
39. What Is Generalization?
A relationship between a more general (or parent) class
and a more specific (or child) class
The more specific class has additional attributes and
operations
39
40. What Is Inheritance?
The mechanism by which the more specific class in a
generalization relationship includes the attributes and
operations of the more general class
Actually, inheritance is the facility in an O-O language
that implements generalization/specialization
40
43. What Is Polymorphism?
The ability for different classes of objects to respond to
identical messages in different ways
Polymorphism = “having many forms”
Different behaviors for the same message
43
45. Can save effort
• Reuse of generalized components cuts work, cost and time
Can improve software quality
• Encapsulation increases modularity
• Sub-systems less coupled to each other
• Better translations between analysis and design models and working code
45
Advantages of Object Orientation
46. 46
THE WAY WE THINK ABOUT PROBLEMS
OO approach
• Model the world as it is
• Simulation based modelling
Structured approach
• Model the world as a set of functions
• Solution based modelling
The Difference in Philosophy
47. 47
THE WAY WE SUB-DIVIDE THE PROBLEM
- encapsulation
- information hiding
- abstraction
OO approach based on:
Can only achieve encapsulation and
information hiding through discipline
Structured approach
The Difference in Philosophy
48. 48
THE RELATIONSHIP BETWEEN ANALYSIS
AND DESIGN
• Phases are related by refinement
Classes
has-a
is-a
Classes
has-a
is-a
Refinement
OO approach
The Difference in Philosophy
49. 49
THE RELATIONSHIP BETWEEN ANALYSIS
AND DESIGN
• Phases are related by transformation
DFDs
Structure
Charts
Transformation
Structured approach
The Difference in Philosophy
50. 50
OO Approach
- consideration of the user interface
• identify Use-cases
• identify classes, attributes, operations and relationships
• identify behaviour
- identification of abstract classes
- identification of data managers
• refine analysis model to a design model by:
- consideration of detailed user requirements
The Difference in Philosophy
51. 51
Structured Approach
• build a hierarchy of DFDs
• identify an overall process
• identify external entities
• transform DFDs to structure charts
The Difference in Philosophy
52. Conclusion
• Introduction to processes involve in Analysis and Design
• Structured Approach – several modelling techniques –
DFD, ERF, Structures Design technique
• Object Oriented Approach – concepts of object,
encapsulation, polymorphism
• Differences between structured approach and OO
approach
52
53. Resource
• Chapter 3 and 4. Simon Bernett, Steve Mc Robb and Ray Farmer.
Object-oriented System Analysis and Design Using UML.
53
Editor's Notes
Code: 36.3
A useful exercise for the class would be to suggest other behaviours and states for these objects, and to describe:
How external events and object behaviour can both result in a change of state
How state restricts the possible behaviours of an object
We don’t go into relationships and semantics at all here. Nor do we discuss attributes, operations and methods in any detail. All will be covered more extensively in later material, but lecturers may wish to add more explanation here.
It would be a useful class exercise to:
add more detail to other parts of this hierarchy
to suggest ways in which the various subclasses differ from each other in behaviour and structure.
This slide covers the point only in bare outline.
Extra material could usefully be added to show the advantages of and justifications for O-O in more detail.