Title: CS 501: Software Engineering
1CS 501 Software Engineering
Lecture 3 Feasibility Studies
2Administration
News group nntp//newsstand.cit.cornell.edu/corn
ell.class.cs501 Wednesday evening section this
week Project team formation and
discussions Today Announcements Lecture on
Feasibility Studies Discussion of Pfleeger,
Chapter 2
3Administration
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.
4Feasibility 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?
5Feasibility 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.
6Example 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.
7Chronology (Bad)
1993-94 CNRI carried out research on
architectures for digital libraries. 1995-97 CNRI
developed prototype repository for Library of
Congress. 1998 CNRI and Library of Congress
realized that the project was going in the wrong
direction.
8Bad Discoveries During Prototype
Resistance to change within Library of
Congress Technical weakness of Library of
Congress Gaps in CNRI architecture
9Mistakes
Confusion of objectives (research and
implementation) Failure to involve all
stakeholders Over-ambitious (no proper
feasibility study)
10Repository 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.
11Example NSDL (Long Process)
- 1996 Vision articulated by NSF's Division of
Undergraduate Education - 1997 National Research Council workshop
- 1998 SMETE-Lib workshop
- 1999 NSDL solicitation
- 2000 6 demonstration projects (core system)
- 2001 1 large core integration system funded
12Why 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.
13Techniques 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
14CS 501 Client
In CS 501, you have two clients The client
for the project The professor for the
course Can you satisfy them both?
15Scope
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
16Potential 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
17Resources
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?
18Obstacles
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?
19How 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
20Feasibility 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.
21Discussion 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.
22Question 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?
23The Waterfall Model
Requirements Analysis
System design
Program design
Coding
Unit Integration Testing
System Testing
Acceptance Testing
Operation Maintenance
24Question 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?
25Question 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?
26Question 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
Developers
Use release 1
Use release 2
Use release 3
Users