Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Class notes

Unit 1 of SE

Rating
-
Sold
-
Pages
35
Uploaded on
11-10-2022
Written in
2022/2023

Software Crisis, Software Processes, Software life cycle models: Waterfall, Prototype, Evolutionary and Spiral models, Overview of Quality Standards like ISO 9001, SEI-CMM. Software Metrics: Size Metrics like LOC, Token Count, Function Count, Design Metrics, Data Structure Metrics, Information Flow Metrics

Show more Read less
Institution
Course

Content preview

UNIT 1
1 Software Engineering

The term software engineering is the product of two words, software, and engineering. The software is
a collection of integrated programs. Software subsists of carefully-organized instructions and code
written by developers on any of various particular computer languages. Computer programs and related
documentation such as requirements, design models and user manuals. Engineering is the application
of scientific and practical knowledge to invent, design, build, maintain, and improve frameworks,
processes, etc.




Software Engineering is an engineering branch related to the evolution of software product using well-
defined scientific principles, techniques, and procedures. The result of software engineering is an
effective and reliable software product.

1.1 Need of Software Engineering

The necessity of software engineering appears because of a higher rate of progress in user requirements
and the environment on which the program is working.
o Huge Programming: It is simpler to manufacture a wall than to a house or building, similarly,
as the measure of programming become extensive engineering has to step to give it a scientific
process.
o Adaptability: If the software procedure were not based on scientific and engineering ideas, it
would be simpler to re-create new software than to scale an existing one.
o Cost: As the hardware industry has demonstrated its skills and huge manufacturing has let down
the cost of computer and electronic hardware. But the cost of programming remains high if the
proper process is not adapted.
o Dynamic Nature: The continually growing and adapting nature of programming hugely
depends upon the environment in which the client works. If the quality of the software is
continually changing, new upgrades need to be done in the existing one.

, o Quality Management: Better procedure of software development provides a better and quality
software product.


1.2 Need of Software Engineering

 Reduces complexity: Big software is always complicated and challenging to progress. Software
engineering has a great solution to reduce the complication of any project. Software engineering
divides big problems into various small issues. And then start solving each small issue one by
one. All these small problems are solved independently to each other.
 To minimize software cost: Software needs a lot of hard work and software engineers are highly
paid experts. A lot of manpower is required to develop software with a large number of codes.
But in software engineering, programmers project everything and decrease all those things that
are not needed. In turn, the cost for software productions becomes less as compared to any
software that does not use software engineering method.
 To decrease time: Anything that is not made according to the project always wastes time. And
if you are making great software, then you may need to run many codes to get the definitive
running code. This is a very time-consuming procedure, and if it is not well handled, then this
can take a lot of time. So if you are making your software according to the software engineering
method, then it will decrease a lot of time.
 Handling big projects: Big projects are not done in a couple of days, and they need lots of
patience, planning, and management. And to invest six and seven months of any company, it
requires heaps of planning, direction, testing, and maintenance. No one can say that he has given
four months of a company to the task, and the project is still in its first stage. Because the
company has provided many resources to the plan and it should be completed. So to handle a big
project without any problem, the company has to go for a software engineering method.
 Reliable software: Software should be secure, means if you have delivered the software, then it
should work for at least its given time or subscription. And if any bugs come in the software, the
company is responsible for solving all these bugs. Because in software engineering, testing and
maintenance are given, so there is no worry of its reliability.
 Effectiveness: Effectiveness comes if anything has made according to the standards. Software
standards are the big target of companies to make it more effective. So Software becomes more
effective in the act with the help of software engineering.


2 Software Crisis

Software Crisis is a term used in computer science for the difficulty of writing useful and efficient
computer programs in the required time. The software crisis was due to using the same workforce,
same methods, same tools even though rapidly increasing in software demand, the complexity of
software, and software challenges. With the increase in the complexity of software, many software
problems arise because existing methods were insufficient. If we will use the same workforce, same
methods, and same tools after the fast increase in software demand, software complexity, and software
challenges, then there arise some problems like software budget problems, software efficiency

,problems, software quality problems, software managing and delivering problem, etc. This condition
is called a software crisis.




Causes of Software Crisis:


 The cost of owning and maintaining software was as expensive as developing the software
 At that time Projects were running over-time
 At that time Software was very inefficient
 The quality of the software was low quality
 Software often did not meet user requirements
 The average software project overshoots its schedule by half
 At that time Software was never delivered
 Non-optimal resource utilization.
 Difficult to alter, debug, and enhance.
 The software complexity is harder to change.
 Poor project management.
 Lack of adequate training in software engineering.
 Less skilled project members.
 Low productivity improvements.

Solution of Software Crisis: There is no single solution to the crisis. One possible solution to a
software crisis is Software Engineering because software engineering is a systematic, disciplined, and
quantifiable approach. For preventing software crises, there are some guidelines:
 Reduction in software over budget.
 The quality of software must be high.
 Less time is needed for a software project.
 Experienced and skilled people working over the software project.
 Software must be delivered.

,  Software must meet user requirements.


3 Software Processes

Software is the set of instructions in the form of programs to govern the computer system and to
process the hardware components. To produce a software product the set of activities is used. This set
is called a software process.

There are four basic key process activities:

 Software Specifications – In this process, detailed description of a software system to be
developed with its functional and non-functional requirements.
 Software Development – In this process, designing, programming, documenting, testing, and
bug fixing is done.
 Software Validation – In this process, evaluation software product is done to ensure that the
software meets the business requirements as well as the end user’s needs.
 Software Evolution – It is a process of developing software initially, then timely updating it
for various reasons.

3.1 Software Process Model

A software process model is an abstraction of the actual process, which is being described. It can also
be defined as a simplified representation of a software process. Each model represents a process from
a specific perspective. Basic software process models on which different type of software process
models can be implemented:

 A workflow Model – It is the sequential series of tasks and decisions that make up a business
process.
 The Waterfall Model – It is a sequential design process in which progress is seen as flowing
steadily downwards. Phases in waterfall model:
i. Requirements Specification
ii. Software Design
iii. Implementation
iv. Testing
 Dataflow Model – It is diagrammatic representation of the flow and exchange of information
within a system.
 Evolutionary Development Model – Following activities are considered in this method:
i. Specification
ii. Development
iii. Validation
 Role / Action Model – Roles of the people involved in the software process and the activities.

4 Software life cycle models

Written for

Institution
Course

Document information

Uploaded on
October 11, 2022
Number of pages
35
Written in
2022/2023
Type
Class notes
Professor(s)
Ayasha malik
Contains
All classes

Subjects

$9.49
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
ayashamalik

Get to know the seller

Seller avatar
ayashamalik DTC
Follow You need to be logged in order to follow users or courses
Sold
-
Member since
3 year
Number of followers
0
Documents
10
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions