1 2011/12 object oriented technology 1 topic 1: approaches to system development reference: ch.2...
TRANSCRIPT
1
2011/12 Object Oriented Technology 1
Topic 1:Approaches to
System Development
Reference:
Ch.2 Approaches to System Development (Satzinger: Systems Analysis & Design in a
Changing World, 4th Edition)
1
2011/12 Object Oriented Technology 2
Learning Objectives
1. Explain the purpose and various phases of the systems development life cycle (SDLC)
2. Explain when to use an adaptive approach to the SDLC in place of a more predictive traditional SDLC
3. Explain the differences between a model, a tool, a technique, and a methodology
4. Describe the two overall approaches used to develop information systems: the traditional method and the object-oriented method
5. Know the current trends in system development: the Unified Process (UP), eXtreme Programming (XP), and Agile Modeling
1
2011/12 Object Oriented Technology 3
Overview
Systems development project
Planned undertaking with fixed beginning and end
Produces desired result or product
Can be a large job of thousands of hours of effort or a small one month project
Successful development project:
Provides a detailed plan to follow
Organized sequence of tasks and activities
Produces reliable, robust(考慮周全 ), and efficient system
1
2011/12 Object Oriented Technology 4
1. Systems Development Life Cycle (SDLC)
Systems development life cycle (SDLC)
Provides overall framework for managing system development process
Two main approaches to SDLC
Predictive approach – assumes project can be planned out in advance
Adaptive approach – more flexible, assumes project cannot be planned out in advance
All projects use some variations of SDLC
1
2011/12 Object Oriented Technology 5
1.1 Phases (or Stages) of the Systems Development Life Cycle (SDLC)
1Variations of SDLC
2011/12 Object Oriented Technology 6
1
2011/12 Object Oriented Technology 7
1.1.1 Phases of the Systems Development Life Cycle (SDLC)
Project Planning: initiate, ensure feasibility(可行性 ), plan schedule, obtain approval for project
Analysis: understand business needs and processing requirements
Design: define solution system based on requirements and analysis decisions
Implementation: construction, testing, user training, and installation of new system
Support: keep system running and improve
1
2011/12 Object Oriented Technology 8
1.1.2 The SDLC stages and deliverables
Stage Issues addressed DeliverablesProject Planning
What are the objectives & scope of the proposed system?What are the problems, needs and wishes of clients & users?What are the major risks involved?
List of requirements that can be used as a starting point for development.List of problem areas that fall within the scope of the proposed system.Assessment of risk factors.
Analysis What does the system look like from the perspective of the clients and users?
A set of models, each taking a different view of the system, which together give a complete picture. The models may be text, diagrams or early prototypes.
1
2011/12 Object Oriented Technology 9
1.1.2 The SDLC stages and deliverables (cont.)
Stage Issues addressed DeliverablesDesign How can the system
be constructed , so as to satisfy the requirements?
Models from the analysis stage, refined to illustrate the underlying architecture of the system. These models take account of technological considerations and constraints arising from the implementation environment.
Implementation How can the models be translated into code?
A fully test suite of programs.
Support What is needed to support clients and users so that they can use the new system effectively?
User manual, technical documentation, user training. Conversion from current system to new system.
1
2011/12 Object Oriented Technology 10
1.2 Choosing the Predictive vs. Adaptive Approach to the SDLC (Figure 2-1)
1
2011/12 Object Oriented Technology 11
1.2.1 Traditional Predictive Approaches to the SDLC
Waterfall Approach
Each phase falls into next phase
Once go over the waterfall for each phase, do not go back
Modified Waterfall Approach with Overlapping phases
More efficient
1
2011/12 Object Oriented Technology 12
1.2.1.1 “Waterfall” Approach to the SDLC
1
2011/12 Object Oriented Technology 13
1.2.1.2 Modified Waterfall Approachwith Overlapping Phases (Figure 2-5)
1
2011/12 Object Oriented Technology 14
1.2.2 Newer Adaptive Approaches to the SDLC Based on spiral(螺旋形 ) model
Project cycles through development activities over and over until project is complete
Prototype(Base line / reference point) created by end of each cycle
Focuses on lessening risk
Iteration – Work activities are repeated
Each iteration refines previous result
Approach assumes no one gets it right the first time
There are a series of mini projects for each iteration
1
2011/12 Object Oriented Technology 15
1.2.2.1 The Spiral Life Cycle Model (Figure 2-6)
1
2011/12 Object Oriented Technology 16
1.2.2.2Iteration of System Development Activities(Figure 2-7)
1
2011/12 Object Oriented Technology 17
2. Methodologies, Models, Tools and Techniques
1. Methodologies
Comprehensive guidelines to follow for completing every SDLC activity
Collection of models, tools, and techniques
2. Models
Representation of an important aspect of real world, but not same as real thing
Diagrams and charts
Project planning
Refer Figure 2-8
1
2011/12 Object Oriented Technology 18
Some Models Used in System Development
1
2011/12 Object Oriented Technology 19
2. Methodologies, Models, Tools and Techniques
3. Tools (Refer Fig 2-9)
Software support that helps create models or other required system components
Range from simple drawing programs to complex CASE tools
4. Techniques (Refer Fig 2-10)
Collection of guidelines that help analyst complete system development activity or task
Can be step-by-step instructions or just general advice
1
2011/12 Object Oriented Technology 20
Some Tools Used in System Development
1
2011/12 Object Oriented Technology 21
Some Techniques Used in System Development
1
2011/12 Object Oriented Technology 22
2.1 Relationships Among Components of a Methodology
1
2011/12 Object Oriented Technology 23
3. Two Approaches to System Development
Traditional approach
Also called structured system development
Structured analysis and design technique (SADT)
Includes information engineering (IE)
Object-oriented approach
Also called OOA, OOD, and OOP
Views information system as collection of interacting objects that work together to accomplish tasks
1
2011/12 Object Oriented Technology 24
3.1 Traditional Approach
Structured system development includes Structured programming Structured design Structured analysis
1
2011/12 Object Oriented Technology 25
3.1.1 Structured Programming Improves computer program quality Allows other programmers to easily read and
modify code Each program module has one beginning and
one ending Three programming constructs (sequence,
decision, repetition)
1
2011/12 Object Oriented Technology 26
Three Structured Programming Constructs
1
2011/12 Object Oriented Technology 27
3.1.2 Top-Down Programming
Divides complex programs into hierarchy of modules
The module at top controls execution by “calling” lower level modules
Modular programming
Similar to top-down programming
One program calls other programs to work together as single system
1
2011/12 Object Oriented Technology 28
Top-Down or Modular Programming
1
2011/12 Object Oriented Technology 29
3.1.3 Structured Design
Technique developed to provide design guidelines What set of programs should be What program should accomplish How programs should be organized into a
hierarchy
Modules are shown with structure chart Main principle of program modules
Loosely coupled – module is independent of other modules
Highly cohesive – module has one clear task
1
2011/12 Object Oriented Technology 30
Structure Chart Created Using Structured Design Technique
1
2011/12 Object Oriented Technology 31
3.1.4 Structured Analysis
Define what system needs to do (processing requirements)
Define data system needs to store and use (data requirements)
Define inputs and outputs
Define how functions work together to accomplish tasks
Data flow diagrams and entity relationship diagrams show results of structured analysis
1
2011/12 Object Oriented Technology 32
Data Flow Diagram (DFD) Created Using Structured Analysis Technique (Figure 2-15)
External entity
Data flow
Data store
process
1
2011/12 Object Oriented Technology 33
Entity-Relationship Diagram (ERD) Created Using Structured Analysis
Technique
1
2011/12 Object Oriented Technology 34
Structured Analysis Leads to Structured Design and Structured Programming (Figure 2-17)
1
2011/12 Object Oriented Technology 35
3.2 Object-Oriented Approach
Completely different approach to develop information systems
Views information system as collection of interacting objects that work together to accomplish tasks
Objects - things in computer system that can respond to messages
Conceptually, NO processes, programs, data entities, or files are defined – just objects
OO languages: Java, C++, C# .NET, VB .NET
1
2011/12 Object Oriented Technology 36
Object-Oriented Approach to Systems
1
2011/12 Object Oriented Technology 37
3.2 Object-Oriented Approach
Object-oriented analysis (OOA)
Object-oriented design (OOD)
Object-oriented programming (OOP)
1
2011/12 Object Oriented Technology 38
3.2.1 Object-Oriented Analysis
Object-oriented analysis (OOA)
Defines all of types of objects that do the work in the system
Shows what use cases are required for users to complete tasks
1
2011/12 Object Oriented Technology 39
3.2.2 Object-Oriented Design
Object-oriented design (OOD)
Defines all of types of objects needed to communicate with people and devices in system
Shows how objects interact to complete tasks
Refines each type of object so it can be implemented with a specific language or environment
1
2011/12 Object Oriented Technology 40
3.2.3 Object-Oriented Programming
Object-oriented programming (OOP)
Writing statements in programming language to define what each type of object does, including the messages that the objects send to each other
1
2011/12 Object Oriented Technology 41
Class Diagram Created During OO Analysis
1
2011/12 Object Oriented Technology 42
Benefits of Object-Oriented Approach
Naturalness
Objects are more natural since people usually think about their world in terms of objects, that is, people tend to talk about their work and discuss system requirements in terms of classes of objects
Reuse
Classes and objects can be invented once and used many times.
1
2011/12 Object Oriented Technology 43
4. SDLC Variations
Many variations of SDLC in practice Based on variation of names for phases
No matter which one, activities/tasks are similar
1
2011/12 Object Oriented Technology 44
Life Cycles with Different Names for Phases (Figure 2-20)
1
2011/12 Object Oriented Technology 45
5. Current Trends in System Development
1. The Unified Process (UP)
2. eXtreme Programming (XP)
3. Agile Modeling
1
2011/12 Object Oriented Technology 46
5.1 The Unified Process (UP) Object-oriented development approach
Views IS as collection of objects that work together to accomplish tasks
Is an iterative, evolutionary and adaptive method
Offered by IBM / Rational
Booch, Rumbaugh, Jacobson
Unified Modeling Language (UML) used primarily for modeling in UP
UP defines 4 life cycle phases
Inception(起始 ), Elaboration(演繹 ), Construction(製作 ), Transition(轉變 )
1
2011/12 Object Oriented Technology 47
Iterative and Evolutionary
One iteration
Requirements
Design
Implementation &Test & Integration
& More Design
Final Integration & System Test
Requirements
Design
3 weeks (for example)The system grows incrementally.
Feedback from iteration N leads to refinement and adaptation of the requirements and design in iteration N+1.
Iterations are fixed in length, or timeboxed.
Time
Implementation &Test & Integration
& More Design
Final Integration & System Test
1
2011/12 Object Oriented Technology 48
5.1 The Unified Process (UP) (continued)
UP reinforces 6 best practices
Develop iteratively
Define and manage system requirements
Use component architectures
Create visual models
Verify quality
Control changes
UP will be discussed in detail in Topic 2 **
1
2011/12 Object Oriented Technology 49
5.2 eXtreme Programming (XP)
Aim: Improve software quality
Recent, lightweight, development approach to keep process simple and efficient
Describes system support needed and required system functionality through informal user stories
Has users describe acceptance tests to demonstrate defined outcomes
Relies on continuous testing and integration, heavy user involvement, programming done by small teams
15.2 eXtreme Programming (XP) (continued)
2011/12 Object Oriented Technology 50
1
2011/12 Object Oriented Technology 51
5.3 Agile Modeling
Hybrid of XP and UP, has more models than XP, less documents than UP
Deliver working software frequently
Teamwork: Business people and developers must work together daily throughout the project
Simplicity: use simple content
Validation: prove model is right with code
1
2011/12 Object Oriented Technology 52
Summary
System development projects are organized around the systems development life cycle (SDLC)
Some projects use a predictive approach to the SDLC, and others use a more adaptive approach to the SDLC
SDLC phases include project planning, analysis, design, implementation, and support
In practice, phases overlap, and projects contain many iterations of analysis, design, and implementation
1
2011/12 Object Oriented Technology 53
Summary (continued)
Models, techniques, and tools make up a system development methodology
System development methodology provides guidelines to complete every activity in the SDLC
System development methodologies are based on traditional approach or object-oriented approach
Current trends include: Unified Process (UP), Extreme Programming (XP) and Agile Modeling