Presentation is loading. Please wait.

Presentation is loading. Please wait.

Topic 1: Approaches to System Development

Similar presentations


Presentation on theme: "Topic 1: Approaches to System Development"— Presentation transcript:

1 Topic 1: Approaches to System Development
Reference: Ch.2 Approaches to System Development (Satzinger: Systems Analysis & Design in a Changing World, 4th Edition) 2011/ Object Oriented Technology

2 SDM - Topic 1 Learning Objectives Explain the purpose and various phases of the systems development life cycle (SDLC) Explain when to use an adaptive approach to the SDLC in place of a more predictive traditional SDLC Explain the differences between a model, a tool, a technique, and a methodology Describe the two overall approaches used to develop information systems: the traditional method and the object-oriented method Know the current trends in system development: the Unified Process (UP), eXtreme Programming (XP), and Agile Modeling 2011/ Object Oriented Technology

3 Overview Systems development project Successful 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 2011/ Object Oriented Technology

4 1. Systems Development Life Cycle (SDLC)
SDM - Topic 1 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 2011/ Object Oriented Technology

5 1.1 Phases (or Stages) of the Systems Development Life Cycle (SDLC)
2011/ Object Oriented Technology

6 Variations of SDLC 2011/ 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 2011/ Object Oriented Technology

8 1.1.2 The SDLC stages and deliverables
Issues addressed Deliverables Project 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. 2011/ Object Oriented Technology

9 1.1.2 The SDLC stages and deliverables (cont.)
Issues addressed Deliverables Design 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. 2011/ Object Oriented Technology

10 1. 2 Choosing the Predictive vs
1.2 Choosing the Predictive vs. Adaptive Approach to the SDLC (Figure 2-1) 2011/ 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 2011/ Object Oriented Technology

12 1.2.1.1 “Waterfall” Approach to the SDLC
2011/ Object Oriented Technology

13 1.2.1.2 Modified Waterfall Approach with Overlapping Phases (Figure 2-5)
2011/ 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 2011/ Object Oriented Technology

15 1.2.2.1 The Spiral Life Cycle Model (Figure 2-6)
2011/ Object Oriented Technology

16 1.2.2.2 Iteration of System Development Activities (Figure 2-7)
2011/ Object Oriented Technology

17 2. Methodologies, Models, Tools and Techniques
Comprehensive guidelines to follow for completing every SDLC activity Collection of models, tools, and techniques Models Representation of an important aspect of real world, but not same as real thing Diagrams and charts Project planning Refer Figure 2-8 2011/ Object Oriented Technology

18 Some Models Used in System Development
2011/ Object Oriented Technology

19 2. Methodologies, Models, Tools and Techniques
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 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 2011/ Object Oriented Technology

20 Some Tools Used in System Development
2011/ Object Oriented Technology

21 Some Techniques Used in System Development
2011/ Object Oriented Technology

22 2.1 Relationships Among Components of a Methodology
2011/ 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 2011/ Object Oriented Technology

24 3.1 Traditional Approach Structured system development includes
Structured programming Structured design Structured analysis 2011/ 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) 2011/ Object Oriented Technology

26 Three Structured Programming Constructs
2011/ Object Oriented Technology

27 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 2011/ Object Oriented Technology

28 Top-Down or Modular Programming
2011/ Object Oriented Technology

29 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 2011/ Object Oriented Technology

30 Structure Chart Created Using Structured Design Technique
2011/ Object Oriented Technology

31 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 2011/ Object Oriented Technology

32 Data Flow Diagram (DFD) Created Using Structured Analysis Technique (Figure 2-15)
process Data flow External entity Data store 2011/ Object Oriented Technology

33 Entity-Relationship Diagram (ERD) Created Using Structured Analysis Technique
2011/ Object Oriented Technology

34 Structured Analysis Leads to Structured Design and Structured Programming (Figure 2-17)
2011/ 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 2011/ Object Oriented Technology

36 Object-Oriented Approach to Systems
2011/ Object Oriented Technology

37 3.2 Object-Oriented Approach
Object-oriented analysis (OOA) Object-oriented design (OOD) Object-oriented programming (OOP) 2011/ 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 2011/ 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 2011/ 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 2011/ Object Oriented Technology

41 Class Diagram Created During OO Analysis
2011/ 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. 2011/ 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 2011/ Object Oriented Technology

44 Life Cycles with Different Names for Phases (Figure 2-20)
2011/ Object Oriented Technology

45 5. Current Trends in System Development
The Unified Process (UP) eXtreme Programming (XP) Agile Modeling 2011/ 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(轉變) 2011/ Object Oriented Technology

47 Iterative and Evolutionary
One iteration Requirements Design Implementation & Test Integration More Design Final Integration System Test 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 2011/ 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 ** 2011/ 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 2011/ Object Oriented Technology

50 5.2 eXtreme Programming (XP) (continued)
2011/ 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 2011/ 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 2011/ 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 2011/ Object Oriented Technology


Download ppt "Topic 1: Approaches to System Development"

Similar presentations


Ads by Google