0% found this document useful (0 votes)
3 views

SE Unit 1_Part 1_compressed

The document provides an introduction to Software Engineering, outlining its definition, importance, and key processes involved in software development. It discusses various software types, characteristics, and life cycle models, including the Waterfall Model, V Model, and Prototype Model, along with their advantages and limitations. Additionally, it highlights the significance of ISO standards in ensuring software quality and reliability.

Uploaded by

hellooworld3117
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

SE Unit 1_Part 1_compressed

The document provides an introduction to Software Engineering, outlining its definition, importance, and key processes involved in software development. It discusses various software types, characteristics, and life cycle models, including the Waterfall Model, V Model, and Prototype Model, along with their advantages and limitations. Additionally, it highlights the significance of ISO standards in ensuring software quality and reliability.

Uploaded by

hellooworld3117
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Integrated MSc(IT)

UNIT – I
Software Engineering – An Introduction

221601603 Software Engineering


Introduction

S/w is general term used for various programs and data stored
on computer to operate computers and devices.


Principal functions of S/w include:

Help in operating and managing computer resources

Serves as an intermediary between organisation &
information

Helps in problem solving by using computer h/w.


There are two types of S/ws:

System S/W

Application S/W
Check these Software
Check these Software
Software Enginnering

Software Engineering is the process of designing, developing,
testing, and maintaining software.


It is a systematic and disciplined approach to software
development that aims to create software that are:

High – quality

Reliable

maintainable
Software Development Process

A software process is the set of activities and associated
outcome that produce a software product.

Software engineers mostly carry out these activities. These
are four key process activities, which are common to all
software processes.

These activities are:

Software Specifications: The functionality of the software
and constraints on its operation must be defined.

Software Design & Implementation: The software to meet
the requirement must be produced.

Software Validation: The software must be validated to
ensure that it does what the customer wants.

Software Evolution: The software must evolve to meet
changing client needs.
● Create a Student Profile Page
● Create a Student Profile Page
Salient Features of Software Development
● Create a Student Profile Page
What will
you need ??

Data
Database
s/w
Editor
Prog lang
Software Process
Process ISO Standard

ISO standards provide a framework for quality assurance,
development practices, and process improvement to ensure
software reliability and performance.

These standards are developed by the International Organization
for Standardization (ISO) and are widely recognized globally.
Process ISO Standard

ISO (International Organization for Standardization) is a
worldwide federation of national standards bodies.

ISO is a non - governmental organization that comprises standards
bodies from more than 160 countries, with one standards body
representing each member country.

For example, the American National Standards Institute represents
the United States.

ISO members are national standards organizations that collaborate
in the development and promotion of international standards for
technology, scientific testing processes, working conditions,
societal issues and more.
Process ISO Standard

ISO 27000: These security standards define a process for
developing and implementing information security policies and
processes.

ISO 17799: This security management standard specifies more
than 100 best practices for business continuity, access control,
asset management and more.

ISO 20000 : This ISO standard creates a technical specification
and codifies best practices for IT service management.

ISO 12207: This ISO standard creates a consistent lifecycle
management process for all software.

ISO 9000: This family of standards defines how organizations can
establish and maintain effective quality assurance systems for
manufacturing and service industries.
Importance of ISO Standards in Software

Quality Assurance: Ensures consistent delivery of high-quality software.

Global Acceptance: Provides credibility and trust for software products in
international markets.

Process Improvement: Helps organizations refine their development and
maintenance practices.

Risk Management: Addresses risks related to security, performance, and
compliance.

Customer Satisfaction: Enhances the reliability and usability of software,
meeting customer needs.
Characteristics of Software

Functionality: Refers to the degree of performance of the software against its
intended purpose.

● Reliability: Refers to the ability of the software to provide desired functionality


under the given conditions.


Usability: Refers to the extent to which the software can be used with ease.


Efficiency: Refers to the ability of the software to use system resources in the
most effective and efficient manner.

● Maintainability: Refers to the ease with which the modifications can be made
in a software system to extend its functionality, improve its performance, or
correct errors.


Portability: Refers to the ease with which software developers can transfer
software from one platform to another, without (or with minimum) changes. In
simple terms, it refers to the ability of software to function properly on
different hardware and software platforms without making any changes in it.
Characteristics of Software
Evolution of Software for Business

Software change is inevitable

New requirements emerge when the software is used;

The business environment changes;

Errors must be repaired;

New computers and equipment is added to the system;

The performance or reliability of the system may have to
be improved.


A key problem for all organizations is implementing and
managing change to their existing software systems.
Salient Features of Software Development
● There are several factors that impact the quality and
productivity significantly.
● These include:
● Factors relating to project characteristics
● Factors relating to development methods
● Human Factors
Salient Features of Software Development
Salient Features of Software Development
● Factors relating to project characteristics:
➔ Complexity
➔ Sequential nature of work
➔ Accomodate for h/w deficiencies
➔ Performance requirements
➔ Available time
Salient Features of Software Development
● Factors relating to development methods
➔ Level of technology
➔ Problem understanding
➔ Appropriate notations
➔ Change control
● Human factors
➔ Technical Competence
➔ Ability to work in team
➔ Communication
➔ Motivation
Software Development Life Cycle Models
Software Development Life Cycle
Software Development Life Cycle Models
Software Development Life Cycle Models
The Waterfall Model
● The Waterfall Model was the first Process Model to be introduced.

● It is also referred to as a linear-sequential life cycle model.

● It is very simple to understand and use.

● In a waterfall model, each phase must be completed before the next


phase can begin and there is no overlapping in the phases.

● The Waterfall model is the earliest SDLC approach that was used for
software development.


The whole process of software development is divided into separate
phases.

● The outcome of one phase acts as the input for the next phase
sequentially.
Advantages: Waterfall Model

Before the next phase of development, each phase must be
completed

Suited for smaller projects where requirements are well defined
● They should perform quality assurance test (Verification and
Validation) before completing each stage
● Elaborate documentation is done at every phase of the software's
development cycle
● Project is completely dependent on project team with minimum
client intervention

Any changes in software is made during the process of the
development
Limitations: Waterfall Model

Error can be fixed only during the phase
● It is not desirable for complex project where requirement
changes frequently
● Testing period comes quite late in the developmental process

Documentation occupies a lot of time of developers and testers
● Clients valuable feedback cannot be included with ongoing
development phase
● Small changes or errors that arise in the completed software
may cause a lot of problems
The “V” Model

It is a recognized standard for development of IT systems.
● It lays down
● What is to be done

How it is to be done
● What tools to be used

It has three levels
● S/w Lifecycle Process Model
● Methods to be used

Tools requirement
The “V” Model

The “V” model is structured into 4 sub – models as:

Project Management (PM) – comprises plans, monitoring, control
and cost management.

Software Development (SD) – develop total IT system or s/w

Quality Assurance (QA) – quality requirements, test cases, criteria,
examination

Configuration Management (CM) – system to manage changes.
The Prototype Model

The prototype model allows users to interact and experiment with the
working representation of product.

By seeing the prototype model, users are able to better able to realize
what the real system.

The prototype is refined till the users are reasonably satisfied.

Two approaches to prototyping models:

Throw Away Prototyping

Evolutionary Prototyping
The Prototype Model

Throw Away Prototyping – It is a prototype to help in determing the
software requirement specification and then discarded.

Evolutionary Prototyping – the prototype is actually used as
specifications for the design purpose. It has better speed and
accuracy.
The Prototype Model: Advantages

More effort can be placed in creating actual software.

S/w created by using user feedback

Greater chance of s/w being acceptable

Unfavourable features or over designing can be avoided

The Prototype Model: Limitations



User may not understand that prototype is only for demonstration purpose.

Developers may lose focus on real purpose of system and only concerntrate
on actual s/w features.

You might also like