1 Phases in Software Development Lecture 04. 2 Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.

Slides:



Advertisements
Similar presentations
Requirements Elicitation Labs Discussion p2 T120B pavasario sem.
Advertisements

Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Chapter 3 Project Initiation
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Initiating and Planning Systems Development Projects
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Chapter 6 Initiating and Planning Systems Development Projects 6.1.
Project Estimation Describe project scope, alternatives, feasibility.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Requirements Elicitation Chapter 4. Establishing Requirements Two questions –What is the purpose of the system –What is inside and what is outside the.
Modern Systems Analysis and Design Third Edition
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
Introduction to Software Engineering Dr. Basem Alkazemi
Chapter 4: Requirements Elicitation 4.5: Managing Requirements Elicitation Supervised by: Dr. Qutaibah Malluhi Software Engineering Done by: Sarah Al-Aqailly.
Mastering OOA/OOD with UML. Contents Introduction Requirements Overview OOAOOD.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Chapter 3 Project Initiation. The stages of a project  Project concept  Project proposal request  Project proposal  Project green light  Project.
Chapter 5 Initiating and Planning Systems Development Projects
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 6 Slide 1 Chapter 5 Initiating and Planning Systems Development.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 6 Initiating.
S/W Project Management
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 4.1.
Chapter 4, Requirements Elicitation
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Requirements Analysis
The Systems Proposal What the book calls the “Updated Baseline Project Plan” - no standard name for it Presents the different options to the customer along.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 6 Initiating.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Feasibility Study.
Chapter 5 : Initiating and Planning Systems Development Projects.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Chapter 3 Systems Planning and Selection 3.1.
Requirements Elicitation Labs Discussion p2 T120B pavasario sem.
© 2005 by Prentice Hall Chapter 5 Initiating and Planning Systems Development Projects Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Chapter 7 Applying UML and Patterns Craig Larman
Lecture 7: Requirements Engineering
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Software Engineering 1 Object-oriented Analysis and Design Applying UML and Patterns An Introduction to Object-oriented Analysis and Design and Iterative.
Systems Development Life Cycle
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Essentials of Systems Analysis and Design Fourth Edition Joseph S. Valacich Joey F.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
The Feasibility Study The objective of a feasibility study is to find out if an project can be done and if so, how The objective of a feasibility study.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 6 Initiating.
Accounting systems design & evaluation 9434SB 18 March 2002.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Chapter 5 Initiating and Planning Systems Development Projects
Exam 0 review CS 360 Lecture 8.
Modern Systems Analysis and Design Third Edition
Chapter 6 Initiating and Planning Systems Development Projects
Requirements Elicitation and Elaboration
THE FEASIBILTY STUDY LECTURE-5.
Business System Development
Chapter 4 Systems Planning and Selection
Chapter 4, Requirements Elicitation
Chapter 5 Initiating and Planning Systems Development Projects
Lecture 6 Initiating and Planning Systems Development Projects
Lecture 7: the Feasibility Study
Modern Systems Analysis and Design Third Edition
Chapter 5 Initiating and Planning Systems Development Projects
Chapter 6 Initiating and Planning Systems Development Projects
Presentation transcript:

1 Phases in Software Development Lecture 04

2 Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis –System Design –Detailed Design –Implementation –Maintenance A separate planning step for large applications may be introduced after feasibility

3 Problem Statement The problem statement is developed by the client as a description of the problem addressed by the system Other words for problem statement: –Statement of Work A good problem statement describes –The current situation –The functionality the new system should support –The environment in which the system will be deployed –Deliverables expected by the client –Delivery dates –A set of acceptance criteria

4 Feasibility Study To get better understanding of problems and reasons by studying existing system, if available –Are there feasible solutions? –Is the problem worth solving? Consider different alternatives Essentially covers other steps of methodology (analysis, design, etc.) in a ‘capsule’ form Estimate costs and benefits for each alternative

5 Feasibility Study… Make a formal report and present it to management and users; review here confirms the following: –Will alternatives be acceptable –Are we solving the right problem –Does any solution promise a significant return Users/management select an alternative Many projects ‘die’ here

6 Types of Feasibility Economical : will returns justify the investment in the project ? Technical : is technology available to implement the alternative ? Operational : will it be operationally feasible as per rules, regulations, laws, organizational culture, union agreements, etc. ?

7 Costs One-time (initial) costs include equipment, training, software development, consultation, site preparation Recurring costs include salaries, supplies, maintenance, rentals, depreciation Fixed and variable costs; vary with volume of workload

8 Benefits Benefits could be tangible (i.e. quantifiable) or intangible Saving (tangible benefits) could include –Saving in salaries –Saving in material or inventory costs –More production –Reduction in operational costs, etc.

9 Benefits … Intangible benefits may include –Improved customer service –Improved resource utilization –Better control over activities (such as production, inventory, finances, etc.) –Reduction in errors –Ability to handle more workload

10 Estimating Costs How to estimate costs so early in the project? –Decompose the system and estimate costs of components; this is easier and more accurate than directly estimating cost for the whole system –Use historical data whenever available –Use organization's standards for computing overhead costs (managerial/secretarial support, space, electricity, etc.) –Personnel (for development and operations) costs are function of time, hence estimate time first

11 Financial Analysis Consider time-value of money; while investment is today, benefits are in future! Compute present value P for future benefit F by P = F/ (1+I) n where I is prevailing interest rate and n is year of benefit Take into account ‘life’ of system: most systems have life of 5-7 years

12 Financial Analysis … Cost is ‘investment’ in the project, benefits represent ‘return’ Compute payback period in which we recover initial investment through accumulated benefits Payback period is expected to be less than system life ! Are there better investment alternatives?

13 FEASIBILITY STUDY Report 1.0 Introduction: A brief statement of the problem, the environment in which the system is to be implemented, and constraints that affect the project 2.0 Management Summary and Recommendations: Important findings and recommendations 3.0 Alternatives: A presentation of alternative system specifications; criteria that were used in selecting the final approach FEASIBILITY STUDY

14 FEASIBILITY STUDY … 4.0 System Description An abbreviated version of information contained in the System-Specification or reference to the specifications 5.0 Cost-Benefit Analysis 6.0 Evaluation of Technical Risk 7.0 Legal Ramifications (if any) 8.0 Other Project-Specific Topics

15 System Identification The development of a system is not just done by taking a snapshot of a scene (domain) Two questions need to be answered: –How can we identify the purpose of a system? –Crucial is the definition of the system boundary: What is inside, what is outside the system? These two questions are answered in the requirements process The requirements process consists of two activities: –Requirements Elicitation: Definition of the system in terms understood by the customer (“Problem Description”) –Requirements Analysis: Technical specification of the system in terms understood by the developer (“Problem Specification”)

16 Requirements Elicitation Very challenging activity Requires collaboration of people with different backgrounds –Users with application domain knowledge –Developer with solution domain knowledge (design knowledge, implementation knowledge) Bridging the gap between user and developer: –Scenarios: Example of the use of the system in terms of a series of interactions with between the user and the system –Use cases: Abstraction that describes a class of scenarios

17 Types of Requirements Elicitation Greenfield Engineering –Development starts from scratch, no prior system exists, the requirements are extracted from the end users and the client –Triggered by user needs –Example: Develop a game from scratch Re-engineering –Re-design and/or re-implementation of an existing system using newer technology –Triggered by technology enabler –Example: Reengineering an existing game Interface Engineering –Provide the services of an existing system in a new environment –Triggered by technology enabler or new market needs –Example: Interface to an existing game

18 Requirement Elicitation Activities Identifying Actors Identifying Scenarios Identifying use cases Refining use cases Identifying Relationships between actors and use cases Identifying Non functional Requirements

19 System Specification vs Analysis Model Both models focus on the requirements from the user’s view of the system. System specification uses natural language (derived from the problem statement) The analysis model uses formal or semi-formal notation (for example, a graphical language like UML) The starting point is the problem statement

20 Types of Requirements Functional requirements: Describe the interactions between the system and its environment independent from implementation – The watch system must display the time based on its location Nonfunctional requirements: User visible aspects of the system not directly related to functional behavior. –The response time must be less than 1 second –The accuracy must be within a second –The watch must be available 24 hours a day except from 2:00am- 2:01am and 3:00am-3:01am Constraints (“Pseudo requirements”): Imposed by the client or the environment in which the system will operate –The implementation language must be COBOL. –Must interface to the dispatcher system written in 1956.

21 Format of Requirement Analysis Document 1. Introduction 1.1 Purpose of the system 1.2 Scope of the system 1.3 Objective and success criteria of the project 1.4 Definitions, acronyms, and abbreviations 1.5 References 1.6 Overview 2. Current System 3. Proposed System 3.1 Overview 3.2 Functional Requirements 3.3 Non Functional Requirements Usability Reliability Performance Supportability Implementation Interface Packaging Legal 3.4 System Models Scenarios Use case model Object Model Dynamic model User Interface 4. Glossary