Download - OOA-LectureNotes-01 (1)
-
7/27/2019 OOA-LectureNotes-01 (1)
1/62
Object Oriented Analysis, 300144 1
Object Oriented AnalysisUnit: 300144; Level: 200; Credit Points 10
Unit IntroductionDr. Quang Vinh Nguyen
-
7/27/2019 OOA-LectureNotes-01 (1)
2/62
Object Oriented Analysis, 300144 2
General Information
Object Orietend Analysis, 300144 Level 2 10 Credit Points
Assumed Knowledge
300585 System Analysis and Design
or 300131 Introduction to Analysis and Design or Equivalent Have gained sufficient equivalent knowledge from the prerequisites to
understand and master the concepts discussed and presented in thisOOA unit.
Have a general understanding of what an information system is and
how information system development is undertaken. Comfortable in learning use of the modelling tools and report with
some tutorial assistance such a Visio , Rationals ROSE, orTelelogics TauUML and Word and MS Project
-
7/27/2019 OOA-LectureNotes-01 (1)
3/62
Object Oriented Analysis, 300144 3
StaffsDr Quang Vinh Nguyen
Unit Coordinator and Lecturer
Phone: 4736 0482
Email: [email protected] (preferred contact method)
Room: Room Y-353, Bld Y, Penrith campus,
Room , Hot Office, Parramatta campusConsultation hours: Wednesday 11:0012:00 (Parramatta campus)
Monday 11:0012:00 (Penrith campus)
Friday 10:0011:00 (Penrith campus)
Contact Details of the Tutors are available on vUWS
-
7/27/2019 OOA-LectureNotes-01 (1)
4/62
Object Oriented Analysis, 300144 4
StaffsMahmoud Elkhodr
Lecturer and Tutor
Email: [email protected] (preferred contact method)
Room: Room UG-25, Bld U, Penrith campus,
Consultation hours: TBA
mailto:[email protected]:[email protected] -
7/27/2019 OOA-LectureNotes-01 (1)
5/62
Object Oriented Analysis, 300144 5
What will be Covered in this Unit The concepts of Object Orientation including the fundamentals, processes and application of the concepts
to practical modelling,
Three modelling spaces: Problem, Solution and Background; Roles in Requirement Analysis,
OO Analysis Techniques, as well as generic techniques such as Interviews, Workshops,
Critical Requirement Analysis and Business Evaluation to arrive at high-level requirements and theirprioritisation,
Package diagrams and high-level slicing of packages as sub-systems,
Quality Software & Business processes. Introduction and documenting Actors and Use Cases,
Introduction to Use Case Diagrams, Use case Notations, Relationships, Analysis & Testing,
Activity diagrams as mechanisms to document the flow of the system/use case
Class Notations and definition of a class including attributes and operations,
Documenting Class Diagram and Relationships between various classes such as Association andInheritance,
Documenting Sequence Diagrams and the persistence design with Class and Sequence Diagrams
Major Ingredients and Creation of State Chart Diagrams, Prototypes and Operational (Non-Functional) Requirements including Performance, Scalability, Security
& Volume,
Quality assurance, management and testing aspects of a system,
Emerging technologies and design
-
7/27/2019 OOA-LectureNotes-01 (1)
6/62
Object Oriented Analysis, 300144 6
How the Unit Run
4 Hours per week: two hour lecture (not compulsory but strongly recommended forupdate announcement, latest materials, and workbook exercises)
two hour practical (mandatory)
At least 6 hours self-study (on average)
Lecture sessions scheduled for 12 weeks
no lecture at Mid-Term Test at Week 8
Practical sessions
scheduled for 11 weeks (only 10 marked tutorial sessions)
no practical sessions in first week
Check Student Learning Guide for Further Detail
-
7/27/2019 OOA-LectureNotes-01 (1)
7/62
Object Oriented Analysis, 300144 7
Assessment Tutorial/Practical Exercises: 15% (Weekly performance
and attendance) Attendance and doing exercises in tutorials are mandatory
There are 10 group-works (and/or exercises) for markingcorresponding to 10 tutorial sessions.
Attendance and tutorial performance are marked at the last 30 minutesat each tutorial session.
Mid-term Test: 15%, 90 mins test including reading time(Closed book) is held in Week 8 or as specified in class,
Group Assignment (also known as Project Work): 20%, OOAnalysis Model in a CASE tool + Deliverables Report Submission at the last week of the semester or as specified in class
Students attend < 5 tutorials will receive 0 Score for the assignment.
Final Examination: 50%, 120 mins exam including readingtime of 10 mins (Closed book). Must obtain at least 40% in the final examination, and at least 50% as
a total value of all your assessment scores to pass the unit
-
7/27/2019 OOA-LectureNotes-01 (1)
8/62
Object Oriented Analysis, 300144 8
Textbook and References
Textbook: Unhelkar, B., Practical Object Oriented Analysis, 2005, Thomson Publishing;ISBN: 0170122980
References: Unhelkar, B., Practical Object Oriented Design, 2005, Thomson Publishing; ISBN:
0170122999. The alternative book that discuss about the design perspectives.
Fowler, M., UML Distilled, 3rd Edition, 2004, Addison-Wesley. ISBN: 0321193687. This isa good readable book and should be referred to in addition to the course material.
Unhelkar, B., Process Quality Assurance for UML-based Projects, 2003, Boston : Addison-Wesley . ISBN: 0201758210. This book contains detailed discussion on the process aspect ofquality. Chapter 1 for UML-based models, Chapter 3 for relevant process components, andChapter 6 for testing are quite relevant.
Booch, G., et al, The UML User Guide, 2005, 2nd edition, Addison-Wesley, ISBN:
0321267974. This is a substantial text and should be occasionally referred to, when students(especially teams) are looking for additional and in-depth material on a particular topic.
Brown, D., An Introduction to Object-Oriented Analysis: Objects and UML in Plain English,2nd edition, 2002, New York: Wiley, ISBN: 0471371378. This book is a very general andaccessible introduction to Object Oriented Analysis. It contains extensive pedagogy andincorporates patient explanations, making it ideal for beginners as a complement readingmaterial.
-
7/27/2019 OOA-LectureNotes-01 (1)
9/62
Object Oriented Analysis, 300144 9
Textbook and References (cont) References (cont):
Ian, G., O'Callaghan, A. and Wills, A. C., Object-Oriented Methods: Principles & Practice,3rd edition, Addison-Wesley, 2001, ISBN: 020161913X. This book is very comprehensiveand informative about Object Orientation. This is suitable for deep study students.
George, J.F., Object-Oriented Systems Analysis and Design, 2nd editition, 2007, PearsonPrentice Hall, ISBN: 0132279002. This covers a variety topics in both OO analysis anddesign
Garzas, J. and Piattini, M., Object-Oriented Design Knowledge: Principles, Heuristics, andBest Practices, 2007, Hershey, PA : Idea Group Pub, ISBN: 1591408962. This book issuitable for students who would like to learn more about the design perspective of OO.
Weisfeld, M. A., The object-oriented thought process, 2009, Upper Saddle River, NJ:Addison-Wesley, ISBN: 9780672330162. This book covers the foundation in object-orientedconcepts and then explains how various object technologies are used.
O'Docherty, M., Object-Oriented Analysis and Design: Understanding System Development
with UML 2.0, 2005, Hoboken, NJ : Wiley, ISBN: 0470092408. This book provides athorough grounding in object-oriented analysis and design, providing authoritative andaccessible coverage of object-oriented concepts, the software development process, UMLand multi-tier technologies.
Booch, G. et al., Object-Oriented Analysis and Design with Applications, 2007, Addison-Wesley, ISBN: 020189551X. This book outlines object-oriented methods using the UnifiedModeling Language 2.0 with real applications.
-
7/27/2019 OOA-LectureNotes-01 (1)
10/62
Object Oriented Analysis, 300144 10
Textbook and References (cont)
E-Book References (for further deep study) Dennis, A. (2005). Systems analysis and design with UML version 2.0an object-oriented approach (2nd ed.). Hoboken, NJ: Wiley.
Douglass, B. P. (2007). Real time UML workshop for embeddedsystems. Burlington, Mass.: Elsevier.
Larman, C. (2005). Applying UML and patterns: An introduction toobject-oriented analysis and design and iterative development (3rded.). Upper Saddle River, N.J.: Prentice Hall Professional TechnicalReference.
ODocherty, M. (2005). Object-oriented analysis and design:Understanding system development with UML 2.0. Hoboken, NJ:
Wiley. Samek, M. (2009). Practical UML statecharts in C/C++ event-driven
programming for embedded systems (2nd ed.). Amsterdam; BostonNewnes/Elsevier.
Check the Unit page at vUWS for more update resources
-
7/27/2019 OOA-LectureNotes-01 (1)
11/62
Object Oriented Analysis, 300144 11
O-O-A
Chapter 1
Fundamentals of Object
Orientation
-
7/27/2019 OOA-LectureNotes-01 (1)
12/62
Object Oriented Analysis, 300144 12
Module Outline
Positioning Object Oriented Analysis
Fundamentals of ObjectOrientation
1. Classification
2. Encapsulation
3. Abstraction
4. Inheritance
5. Polymorphism The need of Modeling
Unified modeling language
Mapping the UML to the Modeling Spaces
-
7/27/2019 OOA-LectureNotes-01 (1)
13/62
Object Oriented Analysis, 300144 13
What is Object-Oriented?
Encompasses various aspects of softwareDevelopment
Analysis; Design; Implementation; Testing; Metrics;Databases; Architecture - especially Distributed;Management;
Unlike Relational (set) Theory, has noMathematical background; hence noPrecise Definition;
-
7/27/2019 OOA-LectureNotes-01 (1)
14/62
Object Oriented Analysis, 300144 14
Some Possible Definitions
A good software engineering practice that
attempts to address new IT challenges
A good approach to build complex and rapidlychanging software applications in the new
millennium - Therefore, may apply to any
software Development
Require a different way of thinking aboutdecomposition, and it produces software architectures
that are largely outside the realm of the structured
design culture
-
7/27/2019 OOA-LectureNotes-01 (1)
15/62
Object Oriented Analysis, 300144 15
Software is inherently complex
The complexity of the problem domain
Raw functionality, nonfunctional requirements, e.g.
usability, performance, cost, reliability, security, etc. Communication gap between the users and the
developers
Changes during the development
Whats else? The difficulty of managing the development
process
-
7/27/2019 OOA-LectureNotes-01 (1)
16/62
Object Oriented Analysis, 300144 16
Software is inherently complex (cont)
The difficulty of managing the development
process
How much line codes do we normally have for aprogram?
Your program? < 100 lines
First MS DOS Operating System? 100 kbs
Windows XP Operating System? hundreds of Mbs Windows 7 ? Gbytes
modern software can have millions of line codes
and/or hundreds of modules and components
-
7/27/2019 OOA-LectureNotes-01 (1)
17/62
Object Oriented Analysis, 300144 17
The flexibility possible through software
Software is required to have high flexibility
The problems of characterising the behaviour ofdiscrete systems
Difficult to know exactly the behaviour with a system
with hundreds or even thousands of variables
Software is inherently complex (cont)
-
7/27/2019 OOA-LectureNotes-01 (1)
18/62
Object Oriented Analysis, 300144 18
Why Object-Oriented
OO Software Engineering results in easier
maintainability and extensibility Due to Localized and controlled changes
OO Software Engineering results in more
Opportunities for Reuse Code, Design (including Patterns and Frameworks),
Requirements (Use cases), Components (Link time and Runtime)
The key benefit of OO approach is: hierarchically
breaking down a complex system into manageable
components
-
7/27/2019 OOA-LectureNotes-01 (1)
19/62
Object Oriented Analysis, 300144 19
Why Object-Oriented Analysis
OOA is now well beyond the experimental stage and
OOA has entered the mainstream of information
systems development
Accelerated by
The success and rapid spread of object-oriented
programming
Recognition that object-oriented methods produce more
effective, efficient, flexible and stable information systems
-
7/27/2019 OOA-LectureNotes-01 (1)
20/62
Object Oriented Analysis, 300144 20
Flowcharts;
SSADM
Entity-Relationships;
Data Flows;
Booch etc. to UnifiedModeling Language
Account Customer
197
0s
19
80s
19
90s
2
000s
Positioning Objects within the
Evolving Technical Thinking
-
7/27/2019 OOA-LectureNotes-01 (1)
21/62
Object Oriented Analysis, 300144 21
Programming Language History
Procedure Programming Languages OO Programming LanguagesHigher Languages
Web-Services
Mathematical
Expressions
-
7/27/2019 OOA-LectureNotes-01 (1)
22/62
Dr. Quang Vinh Nguyen School of Computing and Maths 22
Object-Oriented (O-O)
Programming
Assembly
Statement
ControlLoop
Jump
Program
Procedure
Program
Function
Code
Code
Function
Code
Code
Function
Code
Code
Function
Code
Code
Class
Function
Function
Program
Class
Function
Function
Class
Function
Function
Class
Function
Function
Object-Oriented
Class
Component
Class
Class
Component
Class
Class
Component
Class
Class
Component
Class
Class
Program
Business-Oriented?
Component-Oriented
Code
-
7/27/2019 OOA-LectureNotes-01 (1)
23/62
Object Oriented Analysis, 300144 23
Positioning Objects
In 1970s Flowchart and Structured System
Analysis and Design Methods
In 1980s Chens popular Entity Relationshipand Data Flow diagrams
Early 1990s Unified Modeling Language by
Booch.
-
7/27/2019 OOA-LectureNotes-01 (1)
24/62
Object Oriented Analysis, 300144 24
Object Orientation; Basis for WebServices and Globalisation
Object-
Orientation
(Components)
Distributed
Computing
Global information systems+
+Web-Services Based
Internet
Technologies
Global Business
Global IT Management
-
7/27/2019 OOA-LectureNotes-01 (1)
25/62
Object Oriented Analysis, 300144 25
Learning and Adopting Object
Orientation
Fundamentals ProcessAdopting
OO
Modeling
(UML Standard)
Experience
-
7/27/2019 OOA-LectureNotes-01 (1)
26/62
Object Oriented Analysis, 300144 26
Sub-Module
Fundamentals of ObjectOrientation
Basic Concepts
-
7/27/2019 OOA-LectureNotes-01 (1)
27/62
Object Oriented Analysis, 300144 27
Classes and Objects
A CLOCK in generalis a CLASS.
YourCLOCK and
My CLOCK are specific
Objects
-
7/27/2019 OOA-LectureNotes-01 (1)
28/62
Object Oriented Analysis, 300144 28
What is a Class?
A Class is aDEFINITION, a TEMPLATE, for
the Objects
NOTE:A Class is NOT a Collection ofObjects;
A class is not an individual object, but it
represents a whole set of objects.
-
7/27/2019 OOA-LectureNotes-01 (1)
29/62
Object Oriented Analysis, 300144 29
What is an Object?
AnEntity with crisply defined boundaries
Aphysicalorconceptualthing in theproblem and the solution domain
Identity is a unique identifier of an object Has attributes that describe the object, and
also describe thestate in which it exists
Has behaviorthat is manifested in changesto thestate of the object
Sends and receives messages
-
7/27/2019 OOA-LectureNotes-01 (1)
30/62
Object Oriented Analysis, 300144 30
What is an Object? (cont)List the attributes and behaviours of the Human Object?
-
7/27/2019 OOA-LectureNotes-01 (1)
31/62
Object Oriented Analysis, 300144 31
Objects vs Classes ?
Class: Car
Object 1
Object 2
Object 6
Object 5
Object 4
Object 3Object 7
A class represents a set of objects that share a common structure and a common behaviour
An object is simply an instance of a class
-
7/27/2019 OOA-LectureNotes-01 (1)
32/62
Object Oriented Analysis, 300144 32
OO v/s Non-OO (Similarities and
Differences) Non-Object-oriented (Traditional)
Data and Procedures are kept Separate
Procedures work on Data to produce results
Data
ProceduresData
Subprograms
-
7/27/2019 OOA-LectureNotes-01 (1)
33/62
Object Oriented Analysis, 300144 33
OO v/s Non-OO (Similarities and
Differences) Object-oriented
Focus on Responsibilities - to be satisfied by Objects
Responsibilities translate into Data and Functions withinan Object
Procedures
Data
-
7/27/2019 OOA-LectureNotes-01 (1)
34/62
Object Oriented Analysis, 300144 34
Comparing the Mindsets(Henderson-Sellers, Book of OO Knowledge, Prentice-Hall)
Procedural Mindset
What is the systemsupposed to do?
What are the functionsof the system?
How do I design andcode to achieve the
functions? Focus is on the
algorithms.
OO Mindset
What is the systemmade up of? Objects
What are theresponsibilities ofthese objects?
How will these objects
collaborate to satisfythe responsibilities?
Algorithms/codedeferred
-
7/27/2019 OOA-LectureNotes-01 (1)
35/62
Object Oriented Analysis, 300144 35
The Star of OO Fundamentals
CLASSIFICATION
Fundamentals of
Object-Orientation:
THE OBJECT
-
7/27/2019 OOA-LectureNotes-01 (1)
36/62
Object Oriented Analysis, 300144 36
Classification
Lithops Lesliei
-
7/27/2019 OOA-LectureNotes-01 (1)
37/62
Object Oriented Analysis, 300144 37
Classification
Starting point of object orientation
Grouping meaningful objects.
Classification is based on the requirementsappearing in the problem space.
-
7/27/2019 OOA-LectureNotes-01 (1)
38/62
Object Oriented Analysis, 300144 38
Abstraction: 1st Level is from Objects to
Class
FROG
HAT
CLOCK
CAT
Note that these areABSTRACTIONSand
not real Objects. Objects are Classified
and good Classification leads to creation
of good Abstractions. Classes that
represent a collection of Objects are
Abstract.
-
7/27/2019 OOA-LectureNotes-01 (1)
39/62
Object Oriented Analysis, 300144 39
Abstraction: 2nd Level is from Classes to
ClassesFROG
ANIMAL
THING
CAT
CLOCK
HAT
Can be Abstracted to
Can be Abstracted to
Classes are abstracted to higher level class
-
7/27/2019 OOA-LectureNotes-01 (1)
40/62
Object Oriented Analysis, 300144 40
Classification & Abstraction
Requirements from Problem Space
Can be Classified & Abstracted to
Arrive at Good Classes
MAN
BOOK
CHEST
SHOE
HAT
-
7/27/2019 OOA-LectureNotes-01 (1)
41/62
Object Oriented Analysis, 300144 41
Abstraction (and Classification) (cont)
Starts by grouping a given set of (reality) Objectsbased on certain characteristics
Example: Marker Pens, Ballpoint Pens etc.
From the classification (grouping), most commonproperties and behavior is abstractedto arrive at a
Class definition
Infinite number of objects can then be created
(instantiated) from this Class
-
7/27/2019 OOA-LectureNotes-01 (1)
42/62
Object Oriented Analysis, 300144 42
Identifying more general groupings to
create Inheritance Hierarchy
BIRD ANIMAL
CRANE
BIRD and ANIMAL
are types ofLIVING thingsLIVING
FROG CAT
MITHU? (my Bird)
PUSPUS? (your Cat)
Are Objects; They
Dont appear on Class
diagrams
-
7/27/2019 OOA-LectureNotes-01 (1)
43/62
Object Oriented Analysis, 300144 43
Inheritance
Inheritance in OO is the ability of a Class to
inherit allattributes and behavior of a
higher-level class Classifying with optimum granularity also
leads to good inheritance structure
-
7/27/2019 OOA-LectureNotes-01 (1)
44/62
Object Oriented Analysis, 300144 44
Inheritance (cont)
Childclass inherits fromparentclass
Child class shares the attributes and
routines of parent class,plus perhaps addsadditional features
Child class can change implementation ofparent class features
multiple inheritance is permitted; someresolution for name clashes is required
-
7/27/2019 OOA-LectureNotes-01 (1)
45/62
Object Oriented Analysis, 300144 45
Moving on the Inheritance Tree
Finding SuperclassesNeeds abstractthinking
Domain knowledge helpful
EssentiallyFOR Reuse
Finding SubclassesConcrete lower level
implementation thinkingEssentially WITH Reuse
Generalization
Specialization
Encapsulation
-
7/27/2019 OOA-LectureNotes-01 (1)
46/62
Object Oriented Analysis, 300144 46
Encapsulation
DATA
(Attributes
with States)
METHODS
Encapsulation means
DATA is accessed onlyby METHODS
BEGINPUBLICVISIBILITY
CODE
END
PRIVATEINFORMATION
-
7/27/2019 OOA-LectureNotes-01 (1)
47/62
Object Oriented Analysis, 300144 47
Modularity (and Encapsulation) (cont)
When attributes of an Object are NOT
accessed directly by any other Object within
the system but only through the publicinterface of the Object, it is Encapsulation
Objects are modularized to handle complexity,
and encapsulation enhances the advantages by
localizingchanges to within the objects
-
7/27/2019 OOA-LectureNotes-01 (1)
48/62
Object Oriented Analysis, 300144 48
Polymorphism
FROG
(move)HORSE
(move)
ANIMAL
(move)
CAT
(move)
(move)
On Receipt of Messagemovefrom a CallingObject, the appropriatemove - depending on whether
it is a Frog or a Horse - will be
executed
Advantage? CALLING object need not know what is Moved, so, if
a new CAT object is added, the CALLING class doesnt change
-
7/27/2019 OOA-LectureNotes-01 (1)
49/62
Object Oriented Analysis, 300144 49
Polymorphism..
Essentially the ability of an Entity to behave
differently - even after receiving the same
message Translates to the ability of the software to
substitute different Objects at runtime
Implemented via Inheritance in Object-orientation
-
7/27/2019 OOA-LectureNotes-01 (1)
50/62
Object Oriented Analysis, 300144 50
Sub-Module
The Need of ModellingSoftware Development Layers
-
7/27/2019 OOA-LectureNotes-01 (1)
51/62
Object Oriented Analysis, 300144 51
MODEL
UnderstandReality
CreateReality
REALITY
Purpose of Modelling: Understand and
Create Reality
(based on Unhelkar, B., 1999, 2003)
M d lli d C l S f
-
7/27/2019 OOA-LectureNotes-01 (1)
52/62
Object Oriented Analysis, 300144 52
Modelling and Conceptual Software
Development Layers
(Place of UML)
Languages, Databases
QualityEnvironment
Modeling
Methodologies
Technology
Communication
Management;
Processes
Overall
Management
UML onlydeals
with Modeling.
It is NOTa
Methodology
(or a Process)
-
7/27/2019 OOA-LectureNotes-01 (1)
53/62
Object Oriented Analysis, 300144 53
Software Development Layers and
Corresponding CASE TOOL Layer
Java, C++, XML, Oracle etc.
RUP, OPEN, MeNtOR
TauG2; ROSE, Visio.
QSP; ProcessContinuum; Bpwin etc.
-
7/27/2019 OOA-LectureNotes-01 (1)
54/62
Object Oriented Analysis, 300144 54
OO Models have a Small Semantic Gap
(fromUnhelkar, CRC Press, 1999)
SEMANTIC GAP
Class:: Passenger Class:: Flight Class:: Seat
Passenger SeatFlight
ANA
LYSIS
DESIGN
-
7/27/2019 OOA-LectureNotes-01 (1)
55/62
Object Oriented Analysis, 300144 55
OO facilitates Seamless Transition from Problem to Solution Space
(fromUnhelkar, CRC Press, 1999)
Analysis
(MOPS)
Design
(MOSS)
Implementation
(MOSS)
Class Passenger Class Flight Class Seat
ClassBooking
ClassPriority
-
7/27/2019 OOA-LectureNotes-01 (1)
56/62
Object Oriented Analysis, 300144 56
Sub-Module
Modeling SpacesAnd Relating them to the UML
Modelling Spaces and Roles in Analysis, Design
-
7/27/2019 OOA-LectureNotes-01 (1)
57/62
Object Oriented Analysis, 300144 57
g p y gand Architecture(A rough role-based guideline)
Model Of Problem
Space (MOPS)
Model Of Solution
Space (MOSS)
Model Of BackgroundSpace (MOBS)
User
BusinessAnalyst
SystemDesigner
Architect
ProjectManager
QualityManager
Understand Problem with Analysis
Create Solut ion with Design ARCHITECT:
App ly Constraints
With Arc hi tecture
-
7/27/2019 OOA-LectureNotes-01 (1)
58/62
Object Oriented Analysis, 300144 58
Next Lecture
About the UML Origins and Evolution of the UML
Evolution of the UML
The UML Today Visualizing, Specifying, Construction and Documenting
Some UML based projects
Introduction to UML 2.0
UML 2.0 diagrams and purpose
-
7/27/2019 OOA-LectureNotes-01 (1)
59/62
Object Oriented Analysis, 300144 59
Workbook
ExercisesFor Classroom
-
7/27/2019 OOA-LectureNotes-01 (1)
60/62
Object Oriented Analysis, 300144 60
Workbook Exercises
1. What is object orientation? What does itencompass?
2. How is object orientation different from procedural
approach to software development?
3. What are the four major factors in learning and
adopting object orientation?
4. List FIVE objects from your current surroundings.
5. Create at least TWO classes from the above fiveobjects (This will help you understand the difference
between a class and an object).
-
7/27/2019 OOA-LectureNotes-01 (1)
61/62
Object Oriented Analysis, 300144 61
Workbook Exercises
6. List next to each of the above TWO classes, at leastFIVE attributes.
7. Discuss the importance of each of the fundamentalsof OO within the context of software engineering.
8. What is a process and how it is different frommodeling?
9. What are the two main reasons for creating models?
10. How is object-oriented modeling advantageous?
11. Name the three modeling spaces in OO modeling.Discuss the advantage of modeling in each of thesethree modeling spaces.
-
7/27/2019 OOA-LectureNotes-01 (1)
62/62
Conclusions Software Development benefits with Process and
Modeling; UML is OMGs standard for Modeling;
OO has Five Fundamentals
Classification; Abstraction; Inheritance;Encapsulation and Polymorphism
Class is a Template; Object is an Instance;
All Modeling Work happens in 3 Spaces:
MOPS; MOSS; and MOBS