Topic 1: Approaches to System Development

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

Chapter 2: Approaches to System Development
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
Systems Analysis and Design in a Changing World, 6th Edition
CS487 Software Engineering Omar Aldawud
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
Chapter 2 Approaches to System Development
Systems Analysis and Design in a Changing World, 6th Edition
INFO415 Approaches to System Development: Part 1
Approaches to Systems Development
Ch 3 System Development Environment
Introduction To System Analysis and Design
Systems Analysis and Design in a Changing World, Fifth Edition
COMP 350: Object Oriented Analysis and Design Lecture 2
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Development Overview CPSC 315 – Programming Studio Spring 2008.
Approaches to System Development Chapter 3. Methodologies, Models, Tools and Techniques A system development methodology –provides guidelines to follow.
Introduction To System Analysis and design
2 Approaches to Requierements Engineering Reference: Systems Analysis and Design in a Changing World, 3 rd Edition, chapter 2 and chapter 6.
CIS 321—IS Analysis & Design
Chapter 2: Approaches to System Development
INFO415 Approaches to System Development: Part 2
CSI315 Web Applications and Technology Overview of Systems Development (342)
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Managing the development and purchase of information systems (Part 1)
2 Systems Analysis and Design in a Changing World, Fourth Edition.
Satzinger Chp. 2 Part Part 4 of 4 2 Object-Oriented Analysis and Design with the Unified Process Testing Testing is critical discipline Testing activities.
System Development Process Prof. Sujata Rao. 2Overview Systems development life cycle (SDLC) – Provides overall framework for managing system development.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Two Approaches to System Development
Introduction To System Analysis and Design
Asst.Prof. Dr. Surasak Mungsing. 3 Learning Objectives Explain the purpose and various phases of the systems development life cycle (SDLC) Explain when.
INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1. Information System 2.
Chapter 9 Moving to Design
1 Systems Analysis and Design in a Changing World, Thursday, January 18, 2007.
Content The system development life cycle
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Methodologies of the SDLC Traditional Approach to SDLC Object-Oriented Approach to SDLC CASE Tools.
Chapter 7 Software Engineering Introduction to CS 1 st Semester, 2015 Sanghyun Park.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Systems Analysis and Design in a Changing World, 6th Edition
System Development 1 u Systems development life cycle (SDLC) l Provides overall framework for managing system development process u Two main approaches.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 8 Approaches to System Development.
INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN 1. WHAT IS AN INFORMATION SYSTEM? An information system is a collection of interrelated components that collect,
Systems Analysis and Design in a Changing World, 6th Edition
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
C_ITIP211 LECTURER: E.DONDO. Unit 1 : The Systems Development Environment.
Introduction To System Analysis and Design
Software Development.
COMP 350: Object Oriented Analysis and Design Lecture 2
Methodologies For Systems Analysis.
Introduction To System Analysis and Design PART 2
Object Oriented Analysis and Design
System DEVELOPMENT LIFE CYCLE MODELS
Systems development life cycle (SDLC)
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 2: Approaches to System Development
Presentation transcript:

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

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

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

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

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

Variations of SDLC 2011/12 Object Oriented Technology

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

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

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

1. 2 Choosing the Predictive vs 1.2 Choosing the Predictive vs. Adaptive Approach to the SDLC (Figure 2-1) 2011/12 Object Oriented Technology

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

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

1.2.1.2 Modified Waterfall Approach with Overlapping Phases (Figure 2-5) 2011/12 Object Oriented Technology

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

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

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

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

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

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

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

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

2.1 Relationships Among Components of a Methodology 2011/12 Object Oriented Technology

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

3.1 Traditional Approach Structured system development includes Structured programming Structured design Structured analysis 2011/12 Object Oriented Technology

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

Three Structured Programming Constructs 2011/12 Object Oriented Technology

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

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

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

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

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

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

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

Structured Analysis Leads to Structured Design and Structured Programming (Figure 2-17) 2011/12 Object Oriented Technology

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

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

3.2 Object-Oriented Approach Object-oriented analysis (OOA) Object-oriented design (OOD) Object-oriented programming (OOP) 2011/12 Object Oriented Technology

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

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

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

Class Diagram Created During OO Analysis 2011/12 Object Oriented Technology

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

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

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

5. Current Trends in System Development The Unified Process (UP) eXtreme Programming (XP) Agile Modeling 2011/12 Object Oriented Technology

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

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

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

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

5.2 eXtreme Programming (XP) (continued) 2011/12 Object Oriented Technology

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

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

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