ooa-lecturenotes-01 (1)

Upload: sagar-gheewala

Post on 02-Apr-2018

247 views

Category:

Documents


0 download

TRANSCRIPT

  • 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