UNIT-I SWE Part-1
UNIT-I SWE Part-1
KCS-601
SOFTWARE ENGINEERING
PART-I
Software Engineering
Syllabus
Software Engineering
Software engineering (SE) is the application of
a systematic, disciplined, quantifiable approach to
the design, development, operation, and
maintenance of Software, and the study of these
approaches; that is, the application of engineering to
Software.
Classification Of Software
◻ Custom Software
◻ For a specific customer
◻ Generic Software
⮚ Sold on open market
⮚ Often called
⮚ COTS (Commercial Off The Shelf)
⮚ Shrink-wrapped
◻ Embedded Software
⮚ Built into hardware
⮚ Hard to change
Types Of Software
◻ Customer Perspectives
◻ New Components.
Software Components
◻ Reusability Of Components.
Software does not wear
out-
Software does not wear
out-
Wear vs. Deterioration
Software deteriorates (Become worse)
over time
Software Crisis
Software crisis is a term used in the early days of computing science for the
difficulty of writing useful and efficient computer programs in the required time.
Problems faced by Customers due to
S/W Crisis
Software Crisis
Possible Solution:
Various processes and methodologies have been developed over the last few decades to
improve software quality management such as procedural programming and object-
oriented programming. However software projects that are large, complicated, poorly
specified, and involve unfamiliar aspects, are still vulnerable to large, unanticipated
problems.
Software Engg: Layered
Approach
Goals Of Software Engg
Challenges In Software Engg
Software Engg. Process
◻ Sequence of steps required to develop or
maintain software.
◻ A Software process is the related set of activities
and processes that are involved in developing and
evolving a Software system.
◻ A set of activities whose goal is the development
or evolution of Software.
◻ A Software process is a set of activities and associated
results, which produce a Software product.
◻ A process defines who is doing what, when and how to
reach a certain goal.
Fundamental Software Process Activities
Common to All Software process-
◻ Software Specifications-
The functionality of the Software and constraints
on its operation must be defined.
◻ Software Development-
Software that meets the specifications must be produced.
◻ Software Validation-
The Software must be validated to ensure that it does what the
customer wants.
◻ Software Evaluation-
The Software must be develop to meet changing
customer needs.
Software Process Framework
CSE@HCST4/27/2016
Software Engg.Process
Based on s/w process, s/w products and the role of people involve in s/w engg.
1. Work Flow model
2. Data Flow model
3. Role/Action Model
Most s/w process model are based on one of three general approaches of s/w
development:
1.Waterfall approach
2. Iterative development approach
3. Computer Based S/W Engg. (CBSE) approach
Process Flow
Difference between Conventional and Software Engg
Issue S/W Engg. Conventional Engg.
Foundation Based on CS, IS & Discrete maths. Based on science,maths & emperical
knowledge.
Cost Project cost is higher than h/w. Some projects material cost is high rather
than manufacturing cost
Replication Copy/paste, downloading, CD/DVD Not possible, every time create new unit
possible
Innovation New and untested elements may be Apply known and tested principles
applied
Duration Project lies for some years or Projects endures for centuries e.g. bridges
decade
Data is raw material for information. Information is the final product of data.
Data are unprocessed records Information contains processed records
Data is in large amounts Information is in small amounts
If data is lost, it is very difficult (or If information is lost, it is easily derived
even impossible in some situations) from stored data, again.
to re collect.