© Bennett, McRobb and Farmer 2005

Slides:



Advertisements
Similar presentations
Requirements Analysis Moving to Design b521.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis.
Advertisements

COMP1007 Introduction to Requirements Analysis © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Introduction to Requirements Analysis.
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Ch 3: Unified Process CSCI 4320: Software Engineering.
CSC340: Tutorial 1 Software Lifecycles TA: Yuan An Date: 9:00-10:00am, Fri. Oct. 3, 2003 Location: BA1130.
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
Software Project Management
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
Chapter 3 Process Models
SYSC System Analysis and Design
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 Transition to Design Based on Chapter 12 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Information Systems Development Lecture 2: the idea of the Life Cycle.
Fundamentals of Information Systems, Second Edition
03/12/2001 © Bennett, McRobb and Farmer Managing Object-Oriented Projects—DSDM and XP Based on Chapter 21 of Bennett, McRobb and Farmer: Object.
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.
Jan 8, Ron McFadyen1 Waterfall Spiral UP Case study UML Use Cases.
Systems Analysis and Design in a Changing World, Fifth Edition
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
1 © Bennett, McRobb and Farmer 2002, and De Montfort University 2002 Systems Development Methodologies Based on Chapter 22 of Bennett, McRobb and Farmer:
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Chapter 6 View Alignment Techniques and Method Customization (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis.
CIS 321—IS Analysis & Design
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.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Methods for OO Development USDP and DSDM. 2 Outline Characteristics of OO development USDP UML and DSDM.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
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
Eighth Hour Lecture 7:30 – 8:20 pm, Thursday, September 13 Workflows of the Process (from Chapter 8 of Royce’ book)
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.
© Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design.
© 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.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
2 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
The Rational Unified Process 1 EECS810: Software Engineering.
03/12/2001 © Bennett, McRobb and Farmer Modelling Concepts Based on Chapter 5 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Lecture 2 System Development Lifecycles. Building a house Definition phase Analysis phase Design phase Programming phase System Test phase Acceptance.
©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
TK2023 Object-Oriented Software Engineering
Unit 6 Application Design KLB Assignment.
Fundamentals of Information Systems, Sixth Edition
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
Chapter 2 – Software Processes
Gathering Systems Requirements
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Gathering Systems Requirements
Presentation transcript:

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

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

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

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

© Bennett, McRobb and Farmer 2005 Project Life Cycles A distinction should be made between Systems development, which incorporates human, software and hardware elements Software development, which is primarily concerned with software systems Two important phases are Strategic Information Systems Planning Business Modelling Strategic Information Systems Planning. As we saw in Chapter 1, information systems work within the context of an organization and must satisfy its current requirements as well as providing a basis from which future needs can be addressed. In order to do this, strategic plans are developed for the organization as a whole and within their context a strategic view of information systems needs can be formed. For example, in the Agate case study a strategic decision may be made to target multinational companies for international advertising campaigns. This has consequences for campaign management and its supporting information systems. Business modelling. In order to determine how an information system can support a particular business activity it is important to understand how the activity is performed and how it contributes to the objectives of the organization. Campaign management is an important business function for Agate and it should be modelled in order to determine how it is carried out, thus providing some of the parameters for subsequent information systems development. © Bennett, McRobb and Farmer 2005

© Bennett, McRobb and Farmer 2005 Waterfall Life Cycle 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. The model shown here is one of several more or less equivalent alternatives. Typical deliverables are shown for each phase. © Bennett, McRobb and Farmer 2005

Traditional Life Cycle © Bennett, McRobb and Farmer 2005

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

© Bennett, McRobb and Farmer 2005 TLC Deliverables 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 2005

© Bennett, McRobb and Farmer 2005 TLC Deliverables Construction Program code 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 2005

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

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

© Bennett, McRobb and Farmer 2005 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 2005

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

Prototyping Life Cycle Perform an initial analysis. All software development activity utilizes valuable re­sources. Embarking upon a prototyping exercise without some initial analysis is likely to result in an ill-focused and unstructured activity producing poorly designed software. Define prototype objectives. Prototyping should have clearly stated objectives. A proto­typing exercise may involve many iterations, each iteration resulting in some improv­ement to the prototype. This may make it difficult for the participants in a prototyping exercise to determine if there is sufficient value to continue the prototyping. However, with clearly defined objectives it should be possible to decide if they have been achieved. Specify prototype. Although the prototype is not intended for extended operation it is important that it embodies the requisite behaviour. It is almost certainly the case that the proto­type will be subject to modification and this will be easier if the software is built according to sound design principles. Construct prototype. Since it is important that prototype development is rapid, the use of a rapid development environment is appropriate. For example, if an interactive system is being prototyped, environments such as DelphiTM or Visual Basic® can be most effective. Evaluate prototype and recommend changes. The purpose of the prototype is to test or explore some aspect of the proposed system. The prototype should be evaluated with respect to the objectives identified at the beginning of the exercise. If the objectives have not been met then the evaluation should specify modifications to the prototype so that it may achieve its objectives. The last three stages are repeated until the objectives of the prototyping exercise are achieved. © Bennett, McRobb and Farmer 2005

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

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

Unified Software Development Process Captures many elements of best practice 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 2005

© Bennett, McRobb and Farmer 2005 Size of square relative to time spent on workflows Inception Elaboration Construction Transition Project Phases 1 2 3 4 5 6 7 8 Iterations within each phase Requirements Analysis Design Implementation Test Workflows © Bennett, McRobb and Farmer 2005

© Bennett, McRobb and Farmer 2005 User Involvement 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 2005

Computer Aided Software Engineering 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 2005

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

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

© Bennett, McRobb and Farmer 2005 References Hicks (1991) Sommerville (1992, 2004) and Pressman (2004) Jacobson, Booch and Rumbaugh (1999) 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) © Bennett, McRobb and Farmer 2005