ObjectOriented Software Development Software Development Life Cycle Software Development Process Mod

1 / 39
About This Presentation
Title:

ObjectOriented Software Development Software Development Life Cycle Software Development Process Mod

Description:

Software Development Process Model. Week #5. Jarungjit Parnjai. Object ... Traditional Software Development. ??? Structured Analysis & Design Techniques ... –

Number of Views:185
Avg rating:3.0/5.0
Slides: 40
Provided by: jarungji
Category:

less

Transcript and Presenter's Notes

Title: ObjectOriented Software Development Software Development Life Cycle Software Development Process Mod


1
Object-Oriented Software DevelopmentSoftware
Development Life CycleSoftware Development
Process ModelWeek 5Jarungjit Parnjai
Object Oriented Technology
2
Software Development
3
What Is Software?
  • Software is
  • ????????? (Instructions) ????????????????????????
    ????????????????????????????? ????????????????????
    ???????????? (computer programs)
  • ??????????????? (Data structures)
    ??????????????????????????? ??????????????????????
    ???
  • ?????? (Documents) ???????????????????????
    ???????????????????????

4
How Does Software Work?
  • ????????? (Instructions) ??? ?????? (data)
    ?????????????????????? ???????????????????????????
    ?????????????????
  • ?????????????????????????????? ??????????
  • ?????????? ??? Software ??????????????????

5
Systems and Software Systems
  • A System is
  • An organized or connected group of Objects a
    whole composed of parts in orderly arrangement
    according to some scheme or plan


A software-intensive System (Software System) is
system ????????????????? software ????????
?????????? ???????????????????????????????????????
????????????????
Examples of Software Systems ????????????????,
???????????, ???????? ?????????????
6
Why Do We Build Software Systems?
  • ?????????????????????????????? customer
  • software ??????????????????????????????
  • software ????????????????????????????????????????
    ??????

7
How Do We Build Software Systems?
  • ???????????? decomposition ??? synthesis
  • ????????? ???????????????????????????????????????
    ???????????????????????????? (??????????
    Specification/Analysis)
  • ??????/??????????????????????????????? (problem
    domain) ?????????????????????????
  • ??????????????? (Synthesize) ?????????????????
    (solution) ?????????????? actions ???? data
    (?????????? Design /Implementation)

8
Software Development Methodology
Notation
Process
Tools
9
Software Development Phases
  • Requirement Specification define problem domain
  • Analysis what problem to be solved?
  • Design how to solve the problem?
  • Implementation how to implement the solution?
  • Testing how to ensure that the solution can
    solve the problem?
  • Maintenance how to adjust the solution to
    accomodate change?
  • Retirement when does the system to be retired?

10
Software Development Life Cycle Model
  • SDLC Model
  • ???????????????????????????? ????????????????
    Software (Software Development Process)
  • ????????????????????? ???????????????
  • ?????? Model ????????????????????????????????????
    ?? ???? Waterfall Model, Incremental Model,
    Spiral Model ???????
  • ????? Software ??? Model ???????????????????????
  • ????? Model ????????? ??????? ????????

11
Build-and-Fix Model
12
Waterfall Model
13
Rapid Prototyping Model
14
Spiral Model
15
Incremental Model
16
And more...
  • Spiral Model
  • ...

17
The Cost of Change
18
What Techniques Can Be Used?
  • ?????????????????? software engineer
    ????????????????????????????(Synthesis)
    ?????????????????
  • ???????? Process (Action)
  • ???????? Data
  • ???????? Object

19
Traditional Software Development
  • ??? Structured Analysis Design Techniques
  • ???????????? Data (Data-Oriented)
  • ???????????? Data Flow Model, ER
    (Entity-Relational) Model
  • ???????????? Action (Action-Oriented)
    ???????????????/???????? Data
  • ???????????? Finite State Machine (FSM)
  • ??? Structural/Procedural Implementation
    Techniques
  • ??? Structured/Procedural Programming Languages
  • ???????????? BASIC, Pascal, C

20
Problems with Traditional Techniques
  • Do Traditional techniques work?
  • Yes, they do (at a cost !!!)
  • Problems
  • ?????????? Commercial Software ???????? ????????
    Traditional Techniques
  • Software ?????????? ?????????????????
    ??????????????????????????????????????????????????
    Hardware
  • ????????????????????? Software Design ???
    Implementation ?????????? ????????????????????
  • ????????????? Software ?????????????
    ???????????????????????????????

21
Software Crisis
  • Software ???????????????? (Change) ????????
  • ???? Software ???? (Legacy Software)
    ????????????????????????????????????????????????
    (Interoperability)
  • ?????????????????????????? Software ????
    (Extendability)
  • ??????????? Software ?????????????????????????
    (Reusuability)
  • ???????? Software ??????????? ????????????????????
    ??????????

22
Software Crisis
  • ???????? Hardware ???????
  • ???? (Size) ?????????? ????????
    ??????????????????? (Complexibility) ???????
  • ??????????? Software ??? ????? bug
  • ?????????? (Cost) ?????????? ????????????????
    (Maintainability)
  • ????????????????? (Time to Market) ??? ????
    ??????????????????????????????????????????????????
    ????
  • ??????????????? Users ??? Programmers

23
What are Object-Oriented Techniques?
  • ????????????? Software Decomposition
  • ????????????? (attribute/data) ???
    ???????/???????? (Action/behavior)
    ??????????????? (Object)
  • ??????????????????? Synthesis
  • ?????????????????????????? ???????????????
    ?????????????? Data ??? Actions
    ?????????????????????????? Object
  • ?????????? Data ??? Actions ???????????????????
    ???????? ??????????? Module
  • ????????????????????? (Problem Domain)
    ??????????????????????????? (Modeling Objects)
    ??????????????????? (Real World)

24
What are Object-Oriented Techniques?
  • ??????? software ??????????? clients ??? servers
  • servers ???? Implementation ??? Actions ?????????
    Interface
  • clients ???????????????? Interface ??? server
    ?????????????????????

25
Object-Oriented Software
  • ?????????????????? (Object-Oriented Software)
  • ??? ????? ???????(Collection) ???????????????????
    ????????????????????????????????????
    ????????????????????????????? ?????????????
    (Message) ???????????????

26
What is Software Modeling?
  • ???????????????? (Modeling)
  • ???????????????????? ????????? (Analysis and
    Design) ???????????????????????????????????
    ????????????????????????????????
  • ????????????????????????????? ????????????????????
    ?????????????
  • Visual Modeling
  • ????????????????????????????????????

27
Software Modeling
28
Models
  • Requirement Analysis Models (Requirement
    Specification)
  • ??????????????????????????????????????????????
    ?? (Requirement Analysis)
  • Analysis Model
  • ?????????????????????????????????????????????
    ? (System Analysis)
  • Design Model
  • ???????????????????????????????????? (System
    Design)

29
From Analysis to Design
  • Analysis Phase
  • ???????? ???????????????????????????
    ?????????????????? ?????? ??? ?????????????
    ??????????????????????
  • ???? what happens in the current system? ???
    what is required in the new system?
  • ????? Analysis Model ???????????????????????????
    ?????? ?????????????????????????????????????????
  • Use Case Diagram / Requirement
  • Analysis Model Class Diagram

30
From Analysis to Design
  • Design Phase
  • ???????? Solution ?????????? Requirement
    ?????????? Analysis Phase
  • how the system will be constructed without
    actually building it?
  • Phase ??????? Software Development Life Cycle
  • water fall clear cut ??????? analysis ???
    design
  • iterative ????? clear cut ??????? analysis ???
    design

31
Traditional SDLC
  • ??????????????????????????? ?? Advantage ???
    Clear Cut ??????? Analysis ??? Design ??????
  • project management
  • Staff Skill and experience
  • Client Decision
  • choice of development environment
  • ?????????????????? Analysis ??? Design
    ??????????? ????????? Diagram ??????
  • Analysis ??? Data Flow Diagram
  • Design ??? Structure Diagram/ Structure Charts

32
Object-Oriented Approached
  • ?????? Model ??????????????????????????????????
    (Software Development Life Cycle)
  • ?????????????????? Analysis ??? Design
    ??????????? ????????????????????????????? Model
    Rumbaugh 1997
  • ????? Design Model
  • Interaction Diagrams
  • State Diagrams
  • Design Model Class Diagrams

33
System and Detailed Design
  • ???????????????????????? 2 ?????
  • System Design ???????????????????????????????????
    ?????? ??????????? standards
  • ???????? standards ???? ????????? human-computer
    interface
  • Detailed Design ??????????????????????????????????
    ????????? ????????????????????????????????????
    ??? ?????????? standard ????????????
  • ???? ????????? Object

34
System Design
  • ??????????????????????????????????? ????
  • ?????????????????????????? ?????? ????
    Client-Server
  • ??????????????? how processes and objects will
    be distributed to different machine?
  • System Architect/System Design ?????????????????
    ??????????? ?????????????????????????
  • ????????? Standards ?????????? ????
  • ???????????????? Standards ????????? Use
    Interface ???????????????? Interface ????????
    system

35
Detailed Design
  • Detailed design ??? Traditional System/Structured
    System ??????????????????????????? activities
    ????? ??????
  • ????????? Inputs
  • ????????? Outputs
  • ????????? Processes
  • ????????? files
  • Detailed design ??? OO System ????????????????????
    ???? activities ????? ?????????????
    ????????????????????????
  • reusability
  • ???????? responsibilities ?????? ????

36
Reuse
  • ??????????????????????? (Design Reuse)
    ?????????????? 2 levels ??????
  • ?????? design patterns
  • ???????????????? Analysis Phase
    ???????????????????????????????
    ?????????????????? ???? ????? ????????????????????
    ?? ????????????????? ????????????? ???? ???????
    vendor ?????? (Components)

37
Assignment of Responsibilities to Classes
  • ???????? Responsibilities ??????????
  • ??????? main task ????????????
  • ?????????????????
  • ???????? responsibilities ?????? Operation
    ????????????????????

38
Criteria for Good Design
  • Low Coupling
  • High Cohesion

39
Summary
  • Software, Systems and Software Systems
  • Software Crisis
  • Software Development Process Model
  • Traditional Software Development
  • Object-Oriented Software Development
Write a Comment
User Comments (0)
About PowerShow.com