© Bennett, McRobb and Farmer 2005 1 Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.

Slides:



Advertisements
Similar presentations
COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis.
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
SDLC – Beyond the Waterfall
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CSC340: Tutorial 1 Software Lifecycles TA: Yuan An Date: 9:00-10:00am, Fri. Oct. 3, 2003 Location: BA1130.
Software Project Management
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 2 Approaches to System Development
Chapter 3 Process Models
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
SYSC System Analysis and Design
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
1 SOFTWARE LIFE-CYCLES Beyond the Waterfall. 2 Requirements System Design Detailed Design Implementation Installation & Testing Maintenance The WATERFALL.
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Information Systems Development Lecture 2: the idea of the Life Cycle.
03/12/2001 © Bennett, McRobb and Farmer Activity Diagrams Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
03/12/2001 © Bennett, McRobb and Farmer Development Process Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
CIS 321—IS Analysis & Design
S/W Project Management
Chapter 2: Approaches to System Development
IS0514 Lecture - Week 2 Best Practice Development Methodology.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
2-Oct-15 Software Development Process E. Haodudin Nurkifli Teknik Informatika Universitas Ahmad Dahlan Kuliah 2 : Administrative dan Introduction 2 Oktober.
Software Development Processes
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
© 2010 Bennett, McRobb and Farmer1 Development Process Based on Chapter 5 Bennett, McRobb and Farmer Object Oriented Systems Analysis and Design Using.
CSE323 การวิเคราะห์และออกแบบระบบ (Systems Analysis and Design) Lecture 02: Problems in Information Systems Development.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
2 Systems Analysis and Design in a Changing World, Fourth Edition.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
Fall 2015CISC/CMPE320 - Prof. McLeod1 CISC/CMPE320 Assignment 1 due tomorrow, 7pm. RAD due next Friday in your Wiki. Presentations week 6. Tomorrow’s lecture.
© Bennett, McRobb and Farmer 2005
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
2 Systems Analysis – ITEC 3155 Systems Analysis Tasks.
Development Process Based on Chapter 5 Bennett, McRobb and Farmer
Unit 6 Application Design KLB Assignment.
Modelling Concepts Based on Chapter 5 Bennett, McRobb and Farmer
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Prescriptive Process Models copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc.
Requirements and the Software Lifecycle
Introduction to Software Engineering
COMP 350: Object Oriented Analysis and Design Lecture 2
Lecture 2 Revision of Models of a Software Process
Chapter 2 – Software Processes
Chapt 2 Iterative Evolutionary Agile.
Process Models Coming up: Prescriptive Models.
Gathering Systems Requirements
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Systems development life cycle (SDLC)
Gathering Systems Requirements
Presentation transcript:

© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML, (3 rd Edition), McGraw Hill, 2005.

© Bennett, McRobb and Farmer In This Lecture You Will Learn: n the stages in the waterfall life cycle; n about prototyping and incremental life cycles; n the importance of project management; n how users may be involved in a project; n the role of CASE tools in systems development.

© Bennett, McRobb and Farmer Problem Solving Model n Main phases are –Data gathering –Problem redefinition n These focus on understanding what the problem is about –Finding ideas n Concerned with understanding more about the nature of the problem and possible solutions –Finding solutions –Implementation

© Bennett, McRobb and Farmer Problem Solving Model General problem solving model (adapted from Hicks, 1991).

© Bennett, McRobb and Farmer Project Life Cycles n A distinction should be made between –Systems development, which incorporates human, software and hardware elements –Software development, which is primarily concerned with software systems n Two important phases are –Strategic Information Systems Planning –Business Modelling

© Bennett, McRobb and Farmer Waterfall Life Cycle n The traditional life cycle (TLC) for information systems development is also known as the waterfall life cycle model. –So called because of the difficulty of returning to an earlier phase. n The model shown here is one of several more or less equivalent alternatives. –Typical deliverables are shown for each phase.

© Bennett, McRobb and Farmer Traditional Life Cycle

© Bennett, McRobb and Farmer TLC Deliverables n Systems Engineering –High level architectural specification n Requirements Analysis –Requirements specification –Functional specification –Acceptance test specifications Life cycle deliverables (adapted from Sommerville, 1992).

© Bennett, McRobb and Farmer TLC Deliverables n Design –Software architecture specification –System test specification –Design specification –Sub-system test specification –Unit test specification Life cycle deliverables (adapted from Sommerville, 1992).

© Bennett, McRobb and Farmer TLC Deliverables n Construction –Program code n Testing –Unit test report –Sub-system test report –System test report –Acceptance test report –Completed system Life cycle deliverables (adapted from Sommerville, 1992).

© Bennett, McRobb and Farmer TLC Deliverables n Installation –Installed system n Maintenance –Change requests –Change request report Life cycle deliverables (adapted from Sommerville, 1992).

© Bennett, McRobb and Farmer Problems with TLC n Real projects rarely follow such a simple sequential life cycle n Lapsed time between systems engineering and the final installation is long n Iterations are almost inevitable in real projects but are expensive & problematic with the TLC n Unresponsive to changes during project as iteration is difficult

© Bennett, McRobb and Farmer TLC with Iteration The cost of this form of iteration increases as the project progresses making it impractical and not effective

© Bennett, McRobb and Farmer Strengths of TLC n Tasks in phases may be assigned to specialized teams. n Project progress evaluated at the end of each phase. n Can be used to manage projects with high levels of risks.

© Bennett, McRobb and Farmer Prototyping Life Cycle

© Bennett, McRobb and Farmer Prototyping – Advantages: n Early demonstrations of system functionality help identify any misunderstandings between developer and client n Client requirements that have been missed are identified n Difficulties in the interface can be identified n The feasibility and usefulness of the system can be tested, even though, by its very nature, the prototype is incomplete

© Bennett, McRobb and Farmer Prototyping – Problems: n The client may perceive the prototype as part of the final system n The prototype may divert attention from functional to solely interface issues n Prototyping requires significant user involvement n Managing the prototyping life cycle requires careful decision making

© Bennett, McRobb and Farmer Spiral Model & Incremental Development

© Bennett, McRobb and Farmer Unified Software Development Process n Captures many elements of best practice n The phases are: –Inception is concerned with determining the scope and purpose of the project; –Elaboration focuses requirements capture and determining the structure of the system; –Construction's main aim is to build the software system; –Transition deals with product installation and rollout.

© Bennett, McRobb and Farmer Size of square relative to time spent on workflows InceptionElaborationConstruction Transition Project Phases Iterations within each phase Requirements Analysis Design Implementation Test Workflows

© Bennett, McRobb and Farmer User Involvement n User’s can be involved at various levels –As part of the development team (DSDM) –Via a consultative approach –In fact gathering

© Bennett, McRobb and Farmer Agile Approaches n Iterative lightweight approach n Accepts that user requirements will change during development n XP and DSDM are considered agile n Non-agile approaches can be viewed as plan-based

© Bennett, McRobb and Farmer Agile Approaches Manifesto for Agile Software Development We are uncovering better ways of developing software by doing and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. The Manifesto for Agile Software Development

© Bennett, McRobb and Farmer Computer Aided Software Engineering n CASE tools typically provide a range of features including: –checks for syntactic correctness; –repository support; –checks for consistency and completeness; –navigation to linked diagrams;

© Bennett, McRobb and Farmer Computer Aided Software Engineering n Features of CASE tools continued –layering; –traceability; –report generation; –system simulation; –performance analysis; –code generation.

© Bennett, McRobb and Farmer Summary In this lecture you have learned about: n the stages in the waterfall life cycle; n about prototyping and incremental life cycles; n the importance of project management; n how users may be involved in a project; n the role of CASE tools in systems development.

© Bennett, McRobb and Farmer References n Hicks (1991) n Sommerville (1992, 2004) and Pressman (2004) n Jacobson, Booch and Rumbaugh (1999) n Chapters 5 and 21 of Bennett, McRobb and Farmer include more detail about the Unified Process (For full bibliographic details, see Bennett, McRobb and Farmer)