16
Feasibility Studies CSCI 5801: Software Engineering

Feasibility Studies

  • Upload
    dahlia

  • View
    34

  • Download
    0

Embed Size (px)

DESCRIPTION

Feasibility Studies. CSCI 5801: Software Engineering. Feasibility Studies. Feasibility Studies. Should we develop this system? Does the system contribute to objectives of the customer? Are there better and cheaper alternatives they have? - PowerPoint PPT Presentation

Citation preview

Page 1: Feasibility Studies

Feasibility Studies

CSCI 5801: Software Engineering

Page 2: Feasibility Studies

Feasibility Studies

Page 3: Feasibility Studies

Feasibility Studies

• Should we develop this system?– Does the system contribute to objectives of the

customer?• Are there better and cheaper alternatives they have?

– Will it work within the informational/ organizational structure of the organization?

– Is the system affordable by the customer?• Product development• Supporting hardware/software• User training• Maintenance

Page 4: Feasibility Studies

Feasibility Studies

• Can we develop this system?– Do we have the resources?

• People• Expertise/experience• Hardware/software

resources

– Can it be done within constraints?• On time• Within budget With respect to customer needs

If not, can we afford to hire/purchase what we don’t have?

Page 5: Feasibility Studies

Major Steps

• Determine scope of product• Create basic design• Estimate costs• Deliver report/proposal

for decision

• Must be done quickly (a week or two at most)

Analogous to steps in development process!

Page 6: Feasibility Studies

Project Scope

• What will system do?– Short list of functions/use cases– Will refine in requirements stage

• What will system not do?– Just as important to avoid misunderstanding!

All possible requirements

What this systemwill do

Page 7: Feasibility Studies

Example: Registration System

• This system will– Read courses from the existing course inventory– Allow chairs to create sections– Allow students to view course information, and add or

drop courses over the web– Keep track of roster for sections and allow instructors

to view their courses– Close sections when the roster is full– Prevent students from adding courses at conflicting

times

Page 8: Feasibility Studies

Example: Registration System

• This system will not– Enforce prerequisite constraints – Detect room/instructor conflicts– Store grades received by students– Handle billing for courses

Page 9: Feasibility Studies

Preliminary Design

• Is there some way the system can be built?– Worry about “best” design later

• Often based on existing design patterns

Client/serverarchitecture

students

server

Central repository

registrars

facultycourse inventory

Repository architecture

Page 10: Feasibility Studies

Cost Estimation

• Goal: accurate estimate of time/expense of developing system

• Reality: Too many variables– Human, technical, market…

Page 11: Feasibility Studies

Cost Estimation Models

• Experience:– “How long has it taken us to do similar things before?”– If you haven’t done this before, assume a longer time!

• Mathematical:

– Example: COCOMO II (COnstructive COst Model)• Very widely used for cost estimation and project

scheduling• http://sunset.usc.edu/research/COCOMOII/cocomo_main.html

FunctionComplexity of problem

Expertise of team

Estimate of effort

Page 12: Feasibility Studies

COCOMO II

• Project complexity = NOP (new object points)• Based on number/complexity of

– User interface screens (single process may have many)– Reports/database tables– Major components/classes used to implement logic

Object typeComplexity Weight

Simple Medium Difficult

Screen 1 2 3

Report 2 5 8

Component 10

Page 13: Feasibility Studies

COCOMO II

• Individual Productivity Rate (PROD) based on– Developer general

experience/capability

– Experience with software engineering tools/environments

Developer experience Very low Low Nominal High Very high

Environment capability Very low Low Nominal High Very high

PROD 4 7 13 25 50

Page 14: Feasibility Studies

COCOMO II

• NOP also based on reuse (%reuse)– Similar components we have previously built– Components we can purchase “off shelf”

• NOP = (object points) x (100 – reuse%)/100

• Estimated effort (in terms of person/months) =NOP/PROD

Page 15: Feasibility Studies

Final Report

• Describes all of the above– Project scope, Preliminary design, Cost estimate

• May be presentation– To management for budget approval– To customer for approval/initial bids

• May include simple prototyping– Sample screens for customer– Very simple system for user focus groups

Page 16: Feasibility Studies

The Decision

• Based on what is best for customers and your organization

• Not other considerations– “It would look good on my resume if I said I have experience

developing this type of system”– “I don’t know if it will work, but we have to be seen as having

the most up to date stuff”