Se Notes
Se Notes
The developer must complete every phase before the next phase
begins. This model is named "Waterfall Model", because its
diagrammatic representation resembles a cascade of waterfalls.
Prototype Model
Iterative Model
Iterative Model
Spiral Model
Advantages
o High amount of risk analysis
o Useful for large and mission-critical projects.
Disadvantages
o Can be a costly model to use.
o Risk analysis needed highly particular expertise
o Doesn't work well for smaller projects.
Software Requirement Specifications
Interface requirements
Performance requirements
Design constraints
Non-functional attributes
1. Concise:
2. Structured:
3. Black-box view:
4. Conceptual integrity:
5. Verifiable:
Advantages of good SRS Document
Requirement Engineering
Requirements engineering (RE) refers to the process of
defining, documenting, and
maintaining requirements in the engineering design process.
The process to gather the software requirements from
client, analyze and document them
is known as requirement engineering.
Requirement engineering provides the appropriate
mechanism to understand what the
customer desires, analyzing the need, and assessing feasibility,
negotiating a reasonable
solution, specifying the solution clearly, validating the
specifications and managing the
requirements as they are transformed into a working system.
Thus, requirement engineering is the disciplined application
of proven principles, methods,
tools, and notation to describe a proposed system's intended
behavior and its associated
constraints.
The goal of requirement engineering is to develop and
maintain sophisticated and
descriptive ‘System Requirements Specification’ document.
Requirement Engineering Process
It is a four-step process, which includes -
1. Feasibility Study
2. Requirement Elicitation and Analysis
Software Design Principles
Problem Partitioning
Software Project Planning
project's objectives
Techniques
Timeline
resources.
Dangers
Software Metrics
1. Product Metrics:
SIZE
FEATURES
COMPLEXITY
PERFORMANCE
LEVEL OF QUALITY
2. Process Metrics:
SOFTWARE DEVELOPMENT
SOFTWARE MAINTENANCE
3. Project Metrics:
COST OF DEVELOPING SOFTWARE
SCHEDULE THE SOFTWARE DEVELOPMENT
ASSIGNING DUTIES
4. Process Metrics:
SOFTWARE DEVELOPMENT
SOFTWARE MANTENANCE
1. Process Metrics:
Project size estimation is a crucial
aspect of software engineering, as it
helps in planning and allocating
resources for the project. Here are some
of the popular project size estimation
techniques used in software
engineering:
1. Expert Judgment:
2.
3. Analogous Estimation
4.
5. Bottom-up Estimation:
6.
7. Three-point Estimation:
8.
9. Function Points:
COCOMO MODEL:
Cocomo (Constructive Cost Model) is a model
based on LOC, i.e number of Lines of Code. It was
proposed by Barry Boehm in 1981 and is based on
the study of 63 projects, which makes it one of the
best-documented models.
outcome of the Cocomo are primarily Effort &
Schedule:
Effort: Amount of labor that will be required
to complete a task. It is measured in person-
months units.
Schedule: Simply means the amount of
time required for the completion of the job,
which is, of course, proportional to the effort
put in. It is measured in the units of time
such as weeks, and months.
Effort=a*(KLOC) b PM
Tdev=c*(efforts)d Mont
hs
Software
Projects a b c d
2. 1.0 2. 0.3
Organic
4 5 5 8
3. 1.1 2. 0.3
Semi-Detached
0 2 5 5
3. 1.2 2. 0.3
Embedded
6 0 5 2
Advantages of the COCOMO model:
provides a systematic way to estimate the cost
and effort of a software project.
Can be used to evaluate the feasibility of a
software project by estimating the cost and effort
required to complete it.