Lecture 1
Lecture 1
(SE-231)
(Lecture 1)
Instructor:
Gul Sher Ali
1
Course Overview
Course Goals
Outline
Grading criteria
Book/Helping Material
2
Objective
Requirements are
very well known.
Product definition
is stable.
Technology is
understood.
New version of an
existing product
Requirement In this phase business analyst will collect
Gathering the requirements with an interaction of
client and collected requirements will be
Requirement In this phase system analyst will study
documented.
the client requirements and prepare the
Analysis
system requirement specification.
In this phase design architecture is the
Design responsible to decide architecture of an
application in order to full-fill the client
In this phase developers
requirements . will write the
Coding program using programming languages
or scripting languages in order to
Initially developers
develop the will perform unit
application.
Testing testing and integration testing using of
white box testing, After that separate
team will be perform system testing
Release After the testing client satisfied on work
using black box testing
& product then we deliver application to
Maintenance the customer to use at live environment.
While using this application client
identify can some defects in existing s/m
then he will send to the CR to CCB .
Advantages Disadvantages
Any different ordering of the sub goals will produce a less successful
software product
Early detection of errors (particularly requirements) will mean simple, less costly
changes are needed
Refinements – Incremental
Development
Advantages
More helpful & easier to test
Incorporates user experience in a less expensive way
Reduces labor costs
Refinements – advancemanship
Anticipatory documentation
Define detailed objectives & plans for future software development activities
Produce early versions of user documentation
Software scaffolding
Extra products that need to be developed to ensure smooth & efficient build of main software
Advantages
Reduce overall costs by limiting the time & energy spent in none productive activities
Redistribute costs – greater early investment reduces late investment costs
COCOMO Model
Basic COCOMO
Small-to-medium size products developed
Good for quick, early, rough order of magnitude estimates of software costs
Other levels
Intermediate / detailed
Definitions & Assumptions
Primary cost driver is the number of Delivered Source Instructions (DSI) developed
by the project
Development period begins at design phase & ends at integration and test phase
Covers those activities indicated on the software Work Breakdown Structure (WBS)
Covers all direct-charged labour on project
A man-month consists of 152 hrs of working time
Non-productive time kept to a minimum
Assumes that requirements spec isn’t substantially changed after the plans &
requirements phase
Development Effort & Schedule
Provide fundamental effort & schedule equations for most common type of software
project
MM = 2.4(KDSI)1.05
MM = man-month
KDSI = thousands of delivered source instructions
TDEV = 2.5(MM)0.38
TDEV = the development schedule
Phase Distribution
Percentage distribution of the basic software effort & schedule within the phases of
development
Interpolation
Adjustment factors where project sizes aren’t standard
Principal of separation of
concerns
Design decisions are now
intimately coupled with
fundamental business
decisions in every
endeavor
Software development
involves the investment of
valuable resources
Software Engineering as a Value-
Creation Activity
Software engineers have traditionally made technical software product & design
decision void of value creation
Software designers & engineers must begin to understand & reason about the
connections between software design decisions & value maximization objectives
Mismatch
Lack adequate frameworks for modelling, measuring & analyzing the connections
between technical decisions & value creations
Failing to cancel projects quickly once recognized as failing
The design space in which software designers operate is insufficient
Beyond technology the overall economic environment needs to be considered
Why an Increased Emphasis on
Software Economics?
It is concerned with improving the value created by investments in developing & using
software
The dynamics of technology innovation has changed over the years since globalization of
capital markets
Business, philanthropy, government & other major organizations now accept that value
creation is the final arbiter of success for investment in scarce resources
Currently our ability to reason about software costs is stronger than that about software
benefits
The ability to reason about both costs & benefits (sometimes in sophisticated terms) is a
critical success factor for future enterprises
Most software cost & schedule models are calibrated to a minimal cost strategy
Better software development estimation models are needed
Software economics needs to move from static notions of (usually uncertain) cost &
benefit to dynamic & strategic concepts of value creation
Software Economics Roadmap