1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 3 Feasibility Studies.

Slides:



Advertisements
Similar presentations
CS 501: Software Engineering Fall 2000 Lecture 2 The Software Process.
Advertisements

Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 11 Designing for Usability I.
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
CS 5150 Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 8 Requirements I.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 3 Feasibility Studies.
CS 501: Software Engineering
CS 5150 Software Engineering
CS 5150 Software Engineering
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 3 Feasibility Studies.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 7 Requirements I.
CS 501: Software Engineering
CS CS 5150 Software Engineering Lecture 3 Feasibility Studies.
CS 5150 Software Engineering
CS 5150 Software Engineering
CS 501: Software Engineering Fall 2000
CS 501: Software Engineering Fall 2000 Lecture 5 (a) Documentation (b) Requirements Analysis.
CS 501: Software Engineering
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 7 Requirements I.
1 CS 501 Spring 2006 CS 501: Software Engineering Lecture 9 Requirements 3.
Project phases and the life cycle
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 3 Feasibility Studies.
Feasibility Studies CS 360 Lecture 2.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
CS CS 5150 Software Engineering Lecture 3 Software Processes 2.
Software Development Process and Management (or how to be officious and unpopular)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Software Engineering Management Lecture 1 The Software Process.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 9 Techniques for Requirements Definition and Specification I.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
CS 5150 Software Engineering Lecture 3 Software Processes 2.
CS CS 5150 Software Engineering Lecture 2 Software Processes 1.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 8 Requirements Analysis and Specification.
CS 5150 Software Engineering Lecture 4 Feasibility Studies.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
CS 5150 Software Engineering Lecture 7 Requirements 1.
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
CS CS 5150 Software Engineering Lecture 5 Feasibility Studies.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
CS SE370 Software Engineering Lecture 5 Feasibility Studies.
CS 5150 Software Engineering Lecture 2 Software Processes 1.
SWE 513: Software Engineering
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 9 Requirements 3.
CS CS 5150 Software Engineering Lecture 8 Requirements 1.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 27 Software Engineering as Engineering.
CS 501: Software Engineering Fall 1999 Lecture 4 (a) Documentation (b) Requirements Analysis.
Feasibility Studies CS 560 Lecture 2 2/2/2016.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
Unit 8 – Project Management Lesson 4 –definition of scope.
TK2023 Object-Oriented Software Engineering
Software Engineering Management
Building Information Systems
Exam 0 review CS 360 Lecture 8.
CS 501: Software Engineering
Chapter 2 – Software Processes
CS 5150 Software Engineering
CS701 SOFTWARE ENGINEERING
CS 501: Software Engineering Fall 1999
Software Process Models and the feasibility study
Presentation transcript:

1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 3 Feasibility Studies

2 CS 501 Spring 2002 Administration News group: nntp://newsstand.cit.cornell.edu/cornell.class.cs501 Wednesday evening section this week: Project team formation and discussions Today: Announcements Lecture on Feasibility Studies Discussion of Pfleeger, Chapter 2

3 CS 501 Spring 2002 Administration Project teams: If you have definitely chosen a project, please notify the Teaching Assistants with the names of your team members If you do not have a team you can meet after class Wednesday's recitations session will be to help the people who do not have projects form teams We may ask teams to add extra members A Teaching Assistant will be added to each team.

4 CS 501 Spring 2002 Feasibility Study Before beginning a project, a (usually) short, low-cost study to identify: Client Scope Potential benefits Resources needed: staff, time, equipment, etc. Potential obstacles Where are the risks? How can they be minimized?

5 CS 501 Spring 2002 Feasibility Study A feasibility study leads to a decision: go ahead do not go ahead think again In production projects, the feasibility study often leads to a budget request. In research, a feasibility study is often in the form of a proposal.

6 CS 501 Spring 2002 Example: Library of Congress (Poor Process) Outline Description The Library of Congress required a repository system to store and make accessible very large amounts of highly varied material over long periods of time.

7 CS 501 Spring 2002 Chronology (Bad) CNRI carried out research on architectures for digital libraries CNRI developed prototype repository for Library of Congress. 1998CNRI and Library of Congress realized that the project was going in the wrong direction.

8 CS 501 Spring 2002 Bad Discoveries During Prototype Resistance to change within Library of Congress Technical weakness of Library of Congress Gaps in CNRI architecture

9 CS 501 Spring 2002 Mistakes Confusion of objectives (research and implementation) Failure to involve all stakeholders Over-ambitious (no proper feasibility study)

10 CS 501 Spring 2002 Repository: Research During Prototype 1. CORBA implementation of repository access protocol. 2. Integration of persistent naming through handle system. 3. Use of structural metadata to describe complex objects, elementary typology. 4. Access management framework and implementation. 5. Applet-based middleware for user interfaces. 6. Information visualization program to view the structure of large collections. As research this was excellent, but it did not help the client build a production system.

11 CS 501 Spring 2002 Example: NSDL (Long Process) 1996Vision articulated by NSF's Division of Undergraduate Education 1997National Research Council workshop 1998SMETE-Lib workshop 1999NSDL solicitation demonstration projects (core system) large core integration system funded

12 CS 501 Spring 2002 Why are Feasibility Studies Difficult? Benefits are usually very hard to quantify. Approach is usually ill-defined. Estimates of resources needed and timetable are very rough. (e.g., eCornell) Organizational changes may be needed. (e.g., British auto licensing center.) Therefore, feasibility studies rely heavily on the judgment of experienced people. Mistakes made at the beginning are the most difficult to correct.

13 CS 501 Spring 2002 Techniques for Feasibility Studies Give client appreciation of system: demonstration mock-up walk through Outline budget: n people for m months at $x per month equipment, buildings, etc. Phases/milestones: deliverables at approximate date

14 CS 501 Spring 2002 CS 501: Client In CS 501, you have two clients: The client for the project The professor for the course Can you satisfy them both?

15 CS 501 Spring 2002 Scope What are the boundaries of the project? CS 501 Examples (Fall 2000): Static web pages with open access on the Web [Web Profiler] Used by the general public [Digital Collections] Varying data formats [Legal Information] Thousands of sensors [Data mining] Support for Windows, Mac, Unix [SALSA]

16 CS 501 Spring 2002 Potential Benefits Why are you doing this project? Can you price the benefits? Examples Create a marketable product Improve the efficiency of an organization (e.g., save staff) Control a system that is too complex to control manually New or improved service (e.g., faster response to customers) Safety or security Get a good grade on CS 501

17 CS 501 Spring 2002 Resources Examples: CS 501 Staff: 5 to 7 students, with some help. How many hours per week? What skills do people have? Time: Must be completed by end of semester, including operational system, documentation, presentation Equipment and software: What special needs are there? Client: Will the client be sufficiently available and helpful?

18 CS 501 Spring 2002 Obstacles CS 501 projects Start-up time. Creating a team, scheduling meetings, acquiring software, learning new systems,... Business considerations. Licenses, trade-secrets,... Too ambitious. Nothing to show at the end of the semester... Changing circumstances. Client leaves the university,... What else?

19 CS 501 Spring 2002 How to Minimize Risk? CS 501 Projects Several target levels of functionality: required, desirable, optional phases Visible software process: intermediate deliverables Good communication within team and with Teaching Assistant Good processes lead to good software Good processes reduce risk

20 CS 501 Spring 2002 Feasibility Report A written document For a general audience: client, financial management, technical management, etc. Short enough that everybody reads it. Long enough that no important topics are skipped. In CS 501, I am looking for a well written, well presented document.

21 CS 501 Spring 2002 Discussion of Pfleeger, Chapter 2 Format: State a question. Ask a member of the class to answer. (Sorry if I pronounce your name wrongly.) Provide opportunity for others to comment. When answering: Stand up. Give your name or NetID. Make sure the TA hears it. Speak clearly so that all the class can hear.

22 CS 501 Spring 2002 Question 1: Steps in the Waterfall Process 1. Give a short description of the Piccadilly television advertising project. 2. This project is likely to have some sort of database. Give an example of a requirement that is part of the decision making to use a database. 3. At what stage in the waterfall process, would the decision be made to use a relational database? 4. At what stage in the waterfall process, would the decision be made to use an Oracle database? 5. At what stage in the waterfall process would the database schema be specified?

23 CS 501 Spring 2002 The Waterfall Model Requirements Analysis System design Unit & Integration Testing System Testing Operation & Maintenance Program design Coding Acceptance Testing

24 CS 501 Spring 2002 Question 2: Risk Suppose that a major requirement is changed during the development of a software system. 1. How is this accommodated in the iterative refinement model? 2. How is this accommodated in the waterfall model?

25 CS 501 Spring 2002 Question 3: Acceptance Testing 1.What is the purpose of Acceptance Testing? 2.Where does Acceptance Testing occur in: the waterfall model? iterative refinement? the V model of development? 3. What impact do these differences have on the project risk?

26 CS 501 Spring 2002 Question 4: Prototype and Phased Development 1.How does a prototype differ from phased development? 2. Explain the following figure: Build release 1 Build release 2 Build release 3 Use release 1 Use release 2 Use release 3 Developers Users