Sie sind auf Seite 1von 6

SOFTWARE

ENGINEERING BASICS

Engistan.com || Engineers Community

Engistan.com [Software Engineering Basics]


Software: Software is a set of programs, which is designed to perform a well-defined function. A
program is a sequence of instruction written to solve a particular problem.
It consists of:

Source code
Executable
User manual
Requirement analysis and design documents
Installation Manual

Development team exceeding budget


Late delivery of software product
Poor quality
Difficult maintenance

.co

Software crisis: A number of large size projects failed called software runaway because of following
reasons:

Software Engineering: It is an approach for:


Design of software product
Development of software product
Maintenance of software product

an

Software development process/ Life cycle model

A software life cycle model is a type of process that represents the order in which the activities
will take place for development of software.
Requirement analysis
System analysis
Program implementation
Testing
Installation and maintenance

gi
st

en

The need for a software life cycle model: For clear understanding systematic and disciplined
development of software.
Types of software application

Stand-alone applications
Interactive transaction-based applications
Embedded control systems
Batch processing systems

Different software life cycle models


1. Build and Fix life cycle model: The product is built without proper specifications and
design steps. This model is the worst model for developing a project.

Engistan.com | Engineers Community

Engistan.com [Software Engineering Basics]

Build

Fix

2. Classical Waterfall Model

an

.co

Classical waterfall model

Feasibility study: Determine financially and technically feasibility of product.

gi
st

Requirements analysis and specification:


It has two distinct activities:
Requirements gathering and analysis
Requirements specification

The user requirements are systematically organized into a Software Requirements


Specification (SRS) document.

en

Design phase: Transform the requirements specified in the SRS document into a structure
that is suitable for implementation in some programming language. Two approaches are
available:

Traditional design approach: Structured analysis of the requirements specification is


carried out which are transformed into the software design.

Object-oriented design approach: objects and different relationships that exist among
these objects are identified.

Coding and unit testing:


Translate the software design into source code. During this phase, each module is unit
tested to determine the correct working of all the individual modules.

Engistan.com | Engineers Community

Engistan.com [Software Engineering Basics]


Integration and system testing:
The partially integrated system is tested. when all the modules have been successfully
integrated and tested, system testing is carried out.
System testing usually consists of three different kinds of testing activities:

testing: It is the system testing performed by the development team.

testing: It is the system testing performed by a friendly set of customers

acceptance testing: It is the system testing performed by the customer himself after
the product delivery to determine whether to accept or reject the delivered product.

Maintenance Phase:-

corrective maintenance: Correcting errors that were not discovered during the product
development phase

perfective maintenance: Improving the implementation of the system, and enhancing


the functionalities of the system according to the customers requirements

adaptive maintenance: Porting the software to work in a new environment. For


example, porting may be required to get the software to work on a new computer
platform or with a new operating system.

3. Spiral model

The diagrammatic representation of this model appears like a spiral with many
loops.
The exact number of loops in the spiral is not fixed.
Each loop of the spiral represents a phase of the software process.

en

gi
st

an

.co

Engistan.com | Engineers Community

Engistan.com [Software Engineering Basics]


First quadrant (Objective Setting)

Identify the objectives of the phase.


Examine the risks associated with these objectives.

Second Quadrant (Risk Assessment and Reduction)

A detailed analysis is carried out for each identified project risk.


Steps are taken to reduce the risks.

Third Quadrant (Development and Validation)

Develop and validate the next level of the product after resolving the identified risks.

Review the results achieved so far with the customer and plan the next iteration around the
spiral.
Progressively more complete version of the software gets built with each iteration around
the spiral.

.co

Fourth Quadrant (Review and Planning)

an

Software Project Management: it is management of procedures, techniques, technology


etc required for successful management of the project. It consists of measurement of size, cost and
effort, duration.
To measure size techniques used are:

Lines of code: measures the size of code.


Function point: size of software is estimated in terms of Function point count
Feature point
Object point
Number of entries in ER diagram
Number of process in DFD

gi
st

To measure effort techniques used are:

COCOMO models: It stand for Cost constructive model


Putman Model

en

To measure Schedule of software project techniques used are:

Work Breakdown Structure: total scope of project is represented in terms of phase.


Dependency diagram/ network diagram: It consists of activity, event, span time using which
time is estimated.
Critical path method: Shows analysis of path in an activity graph among different milestones
of project and used to calculate total time of project.
Gantt chart: Represents project plan graphically.
PERT: stands for project evaluation review technique. It show different projects task
activities and their relationship with each other.

Engistan.com | Engineers Community

Engistan.com [Software Engineering Basics]


Risk management: it consists of:

Risk identification
Risk analysis and quantification
Risk planning
Risk monitoring

Methods to calculate following attributes:


Project Estimates
(a) Historical Data Used
(b) Estimation Techniques Used
(c) Effort, Resource, Cost, and Project Duration Estimates

Schedule
(a)Task Network Representation
(b) Gantt Chart Representation
(c) PERT Chart Representation

Project Resources
(a) People
(b) Hardware and Software
(c) Special Resources

Staff Organization
(a) Team Structure
(b) Management Reporting

.co

an

gi
st
Risk Management Plan
(a) Risk Analysis
(b) Risk Identification
(c) Risk Estimation
(d) Risk Abatement Procedures

en

Project Tracking and Control Plan


Miscellaneous Plans
(a) Process Tailoring
(b) Quality Assurance Plan
(c) Configuration Management Plan
(d) Validation and Verification
(e) System Testing Plan
(f) Delivery, Installation, and Maintenance Plan
5

Engistan.com | Engineers Community