Object Oriented System Design - PowerPoint PPT Presentation

About This Presentation
Title:

Object Oriented System Design

Description:

Evaluate the significance of the object oriented paradigm in the production of complex software ... 8/28/09. Marc Conrad/Dayou Li. 10 ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 26
Provided by: MarcC71
Category:

less

Transcript and Presenter's Notes

Title: Object Oriented System Design


1
COS50-3 OOSD
INTRODUCTION TO OOSD (Week 1)
2
AIMS AND OBJECTIVES
  • To understand the software development process,
    including requirement specification, analysis,
    design, implementation and testing.
  • To acquire various methodologies in software
    development,
  • To understand the process of modelling real world
    problems and systems using UML,
  • To develop skills on object oriented software
    development.

3
EXPECTION AND EXAM
  • Design solutions to complex problems
  • Evaluate the significance of the object oriented
    paradigm in the production of complex software
  • Appraise current and future technologies in their
    industrial context.
  • Assignments and Exam
  • -- Assignments 50
  • -- Final exam (QuestionMark) 50

4
TEACHING SCHEDULE
  • Introduction outline OOSD, including the
    general process of software development, basic
    methodologies, preliminary on UML and Rational
    Rose.
  • Use cases a useful tool for capturing
    requirements basic concepts of a use case,
    reasons for using use cases and how to apply it
    to capture user requirements.
  • Analysis modelling management of a software
    process, analysis models, sequence diagram and
    CRC card.
  • OO designing function oriented design, object
    oriented design and comparison, class diagram and
    statechart diagram
  • Software patterns

5
GOOD BOOKS
  • Object-Oriented Software Engineering -- a use
    case driven approach (revised edition) by Ivar
    Jacobson
  • UML Distilled (2nd Edition) by Martin Fowler
  • Software Engineering (4th Edition) by Ian
    Sommerville
  • Developing Applications with Java and UML by Paul
    R and Reed Jr
  • An Introduction of Object Oriented Programming
    with Java (2nd Edition) by C Thomas Wu

6
SOFTWARE PROCESS
  • A software Process not just coding
  • London Ambulance Service (LAS) -- a true disaster
    of software engineering.
  • -- Time from early 1980s to 1992,
  • -- Total cost 7.5 million,
  • -- Result abandoned

7
SOFTWARE PROCESS (Contd)
  • LAS manual system

?
? ?
??
8
SOFTWARE PROCESS (Contd)
LAS required system
? ?
? ?
Auto Call Distributor
? ?
9
SOFTWARE PROCESS (Contd)
  • Things went wrong from very beginning
  • -- End-user hostility -- lack of consultation,
  • -- Official project issue report process was not
    followed,
  • -- Problems were left in later stages, ignored
    and programmed,
  • -- Hidden and newly introduced bugs,
  • -- Test team had no knowledge about changes.
  • Lessons was taught
  • -- Software development is like other
    engineering processes,
  • -- The process must be strictly followed.

10
METHODOLOGIES
  • Waterfall approach -- requirement, design, coding
    and test stages, one after another,
  • Exploratory programming -- working system plus
    improvement,
  • Prototyping -- establishing system requirements
    plus re-implementation,
  • Formal transformation -- transforming
    specifications into program,
  • System assembly from reusable components .

11
WHATERFALL MODEL
12
WHATERFALL MODEL (Contd)
  • Requirement specification -- collecting and
    understanding clients requirements.
  • Analysis -- establishing systems services,
    constraints and goals by consultation with
    systems users.
  • Design -- establishing an overall system
    architecture, including program units and
    interface between those units,
  • Implementation -- realising programs or program
    units and verifying that each unit meets its
    specification,

13
WHATERFALL MODEL (Contd)
  • integration -- integrating the individual program
    units are testing as a complete system to ensure
    the the system satisfy users requirements.
  • Testing -- verification (Does the system work
    right?) and validation (Do we build up a right
    system?).

14
WHATERFALL MODEL (Contd)
15
CRISIS ARE STILL WITH US
  • 31 of project will get cancelled before they
    ever get complete
  • 88 of all projects are over schedule, over
    budget or both
  • for every 100 projects started, there are 94
    restarts
  • Average cost overun is 189 of original estimate
  • Average time overun is 222 of original estimate

16
CRISIS ARE STILL WITH US
  • Causes
  • -- Incomplete requirements -- 13
  • -- Lack of user involvement -- 12.4
  • -- Lack of resources -- 10.6
  • -- Unreasonable expectations -- 9.9
  • -- No management support -- 9.3
  • -- Specification changes -- 8.7
  • -- Lack of planning -- 8.1
  • -- No longer needed -- 7.5
  • Reason and solution
  • -- Methodologies are difficult to follow
  • -- Modelling language for implement the methods

17
INTRODUCTION TO UML
  • UML -- Unified Modelling Language
  • It would help us (software engineers) to
    modelling real world problems and systems, e.g.
  • -- Use Cases to capture requirements
  • -- Analysis modelling to establish system
    specifications
  • -- Design modelling to design a system
  • -- Package large systems management

18
INTRODUCTION TO UML
  • It allows implementation-independent
    specification of
  • -- user/system interactions (required behaviors)
  • -- partitioning of responsibility (OO)
  • -- integration with larger or existing systems
  • -- data flow and dependency
  • -- operation orderings (algorithms)
  • -- concurrent operations

19
CONTENTS OF UML
  • Use cases,
  • Interaction diagrams (Sequence Diagram, CRC,
    Collaboration Diagram)
  • Class Diagram (aggregations, composites,
    interfaces and realisations)
  • Package
  • Activity Diagram
  • State Diagram, State Chart, and Data Flow Diagram

20
RATIONAL ROSE
  • Rose is one of products from Rational Software.
  • It is an expensive CASE (Computer-Aided Software
    Engineering) tool for object-oriented modeling.
  • Based on UML (more or less).
  • It provides semantics (a compiler) for UML.
  • It has a reasonably intuitive GUI similar to
    standard drawing programs, like Illustrator, and
    is available for Windows and other platforms.
  • It makes creating and maintaining your UML
    diagrams easier (or at least more consistent).
  • Has many bizarre features, including generation
    of C (and other) code from your diagrams.

21
RATIONAL ROSE (Contd)
  • You can visit their website http//www.rational.c
    om/
  • Getting the Evaluation copy (limited to 15 days)
  • http//www.rational.com/tryit/rose/index.jsp
  • Rational Rose is also Installed in our CIS Lab
    (Room 015)
  • Our practicals will be based on the software.

22
RATIONAL ROSE (Contd)
  • Why do we need the Rational Rose? -- We use it to
    create a series of models for all the steps of
    OOSD
  • -- Each model contains views, diagrams, and
    specifications to visualise and manipulate the
    elements in the model
  • -- There are many views of each underlying
    element
  • -- Every object in the design is represented
    once in the Rose model
  • -- Rose maintains a consistent semantic
    representation in the model

23
RATIONAL ROSE (Contd)
  • What does Rational Rose look like?
  • -- Standard toolbar
  • -- Diagram toolbar
  • -- Browser a drop-down list of things in your
    model
  • -- Documentation window where you can add notes
    to a thing in your model
  • -- Diagram windows where you draw your pictures
  • -- Specifications
  • -- Status bar

24
(No Transcript)
25
SUMMARY
  • Credit Scheme
  • Software process
  • Introduction of UML
  • Introduction to Rational Rose
Write a Comment
User Comments (0)
About PowerShow.com