Teaching slides Chapter 3

Slides:



Advertisements
Similar presentations
Iterative, Evolutionary, and Agile You should use iterative developmen only on projects that you want to succeed. - Martin Fowler.
Advertisements

1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Software Process Models
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas The primarily goal of a system is to create value for the organization. Many failed systems were abandoned.
Intuitive Design Inc. New Product Development Progress March 25, 2006 Prepared for: Company Management Team Dave Leis.
System Analysis and Design (SAD )
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Chapter 6 Prototyping, RAD, and Extreme Programming
Slide 1 INTRODUCTION Chapter 1. Slide 2 Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Software process management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Software Engineering Incorporating Interface Design Into Software Engineering.
Iterative development and The Unified process
From Inception to Elaboration Chapter 8 Applying UML and Patterns -Craig Larman.
Development Processes and Product Planning
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Chapter 2 A Strategy for the Appraisal of Public Sector Investments.
CHAPTER 19 Building Software.
Software Life Cycle Model
Acquiring Information Systems and Applications
Introduction to Computer Technology
The New Product and Services Development Process By SK Winning Innovations for Tomorrow (WIT)
Introduction to Usability By : Sumathie Sundaresan.
Database Planning, Design, and Administration Transparencies
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
1 CMPT 275 Software Engineering Software life cycle.
Petter Nielsen Information Systems/IFI/UiO 1 Software Prototyping.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 ISA&D7‏/8‏/ ISA&D7‏/8‏/2013 Systems Development Life Cycle Phases and Activities in the SDLC Variations of the SDLC models.
Teaching material for a course in Software Project Management & Software Engineering – part II.
Ch.4 The UCSD Process.
Software Engineering Management Lecture 1 The Software Process.
SYSTEMSDESIGNANALYSIS 1 Chapter 3 Feasibility Jerry Post Copyright © 1997.
Teaching material for a course in Software Project Management & Software Engineering – part III.
Introduction to Systems Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Introduction to Software Development (Software Engineering - I)
Feasibility Study.
Software Engineering Lecture # 1.
1 - 1 Systems Analysis and Design, Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding.
Prototyping life cycle Important steps 1. Does prototyping suit the system 2. Abbreviated representation of requirements 3. Abbreviated design specification.
Software Project Management Iterative Model & Spiral Model.
Read to Learn Describe the kinds of market research a company may use. Identify the steps in developing a new product.
Read to Learn Describe the kinds of market research a company may use. Identify the steps in developing a new product.
G063 – Prototyping. Learning Objective: At the end of this topic you should be able to: describe prototyping as a software development methodology.
Software Project Management
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
11 ADM2372 Management Information Systems (MIS) Chapter 10 – Part I Systems Development Chapter 10 – Part I Systems Development.
CHAPTER 13 MARKETING in TODAY’S WORLD The Basics of Marketing Market A market is a group of customers who share common wants and needs, and who have.
MANAGEMENT INFORMATION SYSTEM
Information Systems Development
IL Marking Get out your CPU / Memory answers Swap with someone else
Software Engineering Management
Life Cycle Models PPT By :Dr. R. Mall.
Requirements and the Software Lifecycle
Information Systems Development
Teaching slides Chapter 3.
Teaching slides Chapter 1.
Teaching slides Chapter 4.
Computer Science Life Cycle Models.
Software Development Process
Software life cycle models
Chapter 13: Systems Analysis and Design
Systems Analysis and Design
Software Process Models
SDLC (Software Development Life Cycle)
Presentation transcript:

Teaching slides Chapter 3

Chapter 3 Feasibility Study Introduction Feasibility study for software projects Finding the economic feasibility of requirements Build/buy decision Budget instead of cost analysis Finding the technical feasibility of requirements Difficult to figure scenarios When feasibility study not required Prototyping Throwaway prototyping Evolutionary prototyping Incorporating the prototyping in software development Pilot projects

Chapter 3 Feasibility Study A feasibility study is conducted to find out if an idea is worth investing time and money for. For example if a bank wants to find out if a new service will be beneficial to its customers then the bank may conduct a market survey and figure out number of potential customers who may avail this service, costs of introducing and running this service and potential revenue which this service will bring to the bank. If the bank finds out that this new service will be viable after the feasibility study then it can introduce this service. If not then the bank may drop thee idea. Feasibility study is carried out for all kinds of projects. A feasibility study can be economic or technical or both. For software projects, both economic and technical feasibility can be conducted. Technical feasibility study can be conducted after software requirements have been gathered. Feasibility study can also be done for software projects by building software prototypes and pilot projects.

Chapter 3 Feasibility Study Economic feasibility study Economic feasibility study for a software project can be done before or after commencement of the project. A market survey can be conducted to find out if it is profitable to build the software product which a company is thinking to build. Since at this stage, no software requirements have been collected, this market survey is based on demand for specific type of a software product. The cost to build such a software product is estimated from previous experience. A build or buy decision can also be made at this stage. If a software product is needed to be used by the company itself and if it is found that building such a software product is costly then the company may opt to buy a ready to use software product. For government software projects, an economic feasibility is mostly not needed. For these projects, the objectives may include increasing government reach to people for providing better services, national interests etc.

Chapter 3 Feasibility Study Technical feasibility study Technical feasibility study for a software project can be done only after software requirements have been gathered. A software requirement can be analyzed to find out if it is technically feasible to implement. Legacy systems become difficult to maintain due to obsolescence of software product parts. There could be newer systems available to replace these legacy systems. But fear of unforeseen failures in implementing new systems force companies to keep running their legacy systems. For well established software product vendors, technical feasibility study is not required when customers want to buy their software products. Customers already know case studies of implementation of these products at peer companies.

Chapter 3 Feasibility Study Prototyping

Chapter 3 Feasibility Study Prototyping involves developing a replica of the software product to be built. This replica or prototype should not involve much effort but still should be good enough to look like the software product to be built. Prototypes are used to show to end users to confirm if the prototype meets their requirements. If a prototype needs further improvement as per end user feedbacks then the project team makes appropriate changes and show the changed prototype to the end users again. This continues until the end users are fully satisfied. This process shows that prototype development is an iteration based activity. A software prototype can be a throw away prototype or an evolutionary prototyping. A throwaway prototype is developed when the project team should not invest too much effort in developing it. Once end user requirements become clear to the project team, the prototype can be thrown. An evolutionary prototype is developed when the prototype will be built with usable software components which can be used in building the software product itself.

Chapter 3 Feasibility Study Prototyping linked to Waterfall projects

Chapter 3 Feasibility Study A throwaway prototype is used on Waterfall projects. On waterfall projects, the prototype development is done before the software design is started. The objective of prototype development at this stage is to create a prototype which will have user interfaces with user input and output controls. The end users see these user interfaces and suggest how they will use them. Based on user feedback, the user interface is refined till end users are fully satisfied. Once a final prototype is developed then user requirements are created based on the prototype. The prototype itself is thrown as no business logic is implemented in the prototype.

Chapter 3 Feasibility Study Prototyping linked to agile projects

Chapter 3 Feasibility Study On agile projects evolutionary prototypes are used. The software development process on agile projects has short iteration. In each iteration, all software development processes of software requirement management, software design, software construction and software testing are carried out. All of these processes run almost in parallel to each other. Creating an evolutionary prototype in this environment is possible since the built prototype can be easily used in developing the actual software product.

Chapter 3 Feasibility Study Pilot projects Pilot projects are a good way to find out feasibility of a software product for a large organization. In principle, the management of a large organization may be convinced about a software product but how effectively it can be utilized across the entire organization is not clear. Using a pilot project, the software product can be implemented at one of the sites of the organization. The software product is used by end users at this site. The management analyzes if the software product is being used effectively and if any software defects are encountered. If the pilot project is successfully implemented then the management can signal for the complete implementation of the software product at all sites belonging to the organization. On the other hand if the pilot project fails then the software product will not be implemented at any other site of the organization.