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 : Software Engineering

Rating
-
Sold
-
Pages
32
Uploaded on
15-02-2025
Written in
2022/2023

Introduction to Software Engineering, Software components, Software characteristics, Software crisis, Software Engineering processes, Software quality attributes, similarity and difference from conventional engineering processes.

Institution
Course

Content preview

Introduction to Software Engineering

Software is a program or set of programs containing instructions that provide the desired
functionality. Engineering is the process of designing and building something that serves a
particular purpose and finds a cost-effective solution to problems.

What is Software Engineering?

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 high-
quality, reliable, and maintainable software.

1. Software engineering includes a variety of techniques, tools, and methodologies,
including requirements analysis, design, testing, and maintenance.

2. It is a rapidly evolving field, and new tools and technologies are constantly being
developed to improve the software development process.

3. By following the principles of software engineering and using the appropriate tools and
methodologies, software developers can create high-quality, reliable, and maintainable
software that meets the needs of its users.

4. Software Engineering is mainly used for large projects based on software systems rather
than single programs or applications.

5. The main goal of Software Engineering is to develop software applications for improving
quality, budget, and time efficiency.

6. Software Engineering ensures that the software that has to be built should be consistent,
correct, also on budget, on time, and within the required requirements.

Software Crisis

The term “software crisis” refers to the numerous challenges and difficulties faced by the
software industry during the 1960s and 1970s. It became clear that old methods of developing
software couldn’t keep up with the growing complexity and demands of new projects. This led to
high costs, delays, and poor-quality software. New methodologies and tools were needed to
address these issues.

1. Fail to meet user requirement.

2. Frequently crash.

3. Expensive.

4. Difficult to alter, debug, and enhance.

5. Often delivered late.

6. Non-optimal resource utilization.

7. Low quality software

Factors Contributing to Software Crisis

• 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 the software must be high.

• Less time is needed for a software project.

• Experienced and skilled people working on the software project.

• Software must be delivered.

• Software must meet user requirements.

Software Quality Attributes:

1. Portability: A software is claimed to be transportable, if it may be simply created to figure
in several package environments, in several machines, with alternative code
merchandise, etc.

2. Usability: A software has smart usability if completely different classes of users (i.e.
knowledgeable and novice users) will simply invoke the functions of the merchandise.

3. Reusability: A software has smart reusability if completely different modules of the
merchandise will simply be reused to develop new merchandise.

4. Correctness: Software is correct if completely different needs as laid out in the SRS
document are properly enforced.

5. Maintainability: A software is reparable, if errors may be simply corrected as and once
they show up, new functions may be simply added to the merchandise, and therefore the
functionalities of the merchandise may be simply changed, etc

6. Reliability: Software is more reliable if it has fewer failures. Since software engineers do
not deliberately plan for their software to fail, reliability depends on the number and type
of mistakes they make. Designers can improve reliability by ensuring the software is easy
to implement and change, by testing it thoroughly, and also by ensuring that if failures
occur, the system can handle them or can recover easily.

7. Efficiency. The more efficient software is, the less it uses of CPU-time, memory, disk
space, network bandwidth, and other resources. This is important to customers in order
to reduce their costs of running the software, although with today’s powerful computers,
CPU time, memory and disk usage are less of a concern than in years gone by.

,Software Development Life Cycle (SDLC)

Software development life cycle (SDLC) is a structured process that is used to design, develop,
and test good-quality software. SDLC, or software development life cycle, is a methodology that
defines the entire procedure of software development step-by-step. The goal of the SDLC life
cycle model is to deliver high-quality, maintainable software that meets the user’s requirements.
SDLC in software engineering models outlines the plan for each stage so that each stage of the
software development model can perform its task efficiently to deliver the software at a low cost
within a given time frame that meets users requirements. In this article we will see Software
Development Life Cycle (SDLC) in detail.

What is the Software Development Life Cycle (SDLC)?

SDLC is a process followed for software building within a software organization. SDLC consists
of a precise plan that describes how to develop, maintain, replace, and enhance specific
software. The life cycle defines a method for improving the quality of software and the all-around
development process.

The stages of SDLC are as follows:

Stage1: Planning and requirement analysis

Requirement Analysis is the most important and necessary stage in SDLC.

The senior members of the team perform it with inputs from all the stakeholders and domain
experts or SMEs in the industry.

Planning for the quality assurance requirements and identifications of the risks associated with
the projects is also done at this stage.

Business analyst and Project organizer set up a meeting with the client to gather all the data like
what the customer wants to build, who will be the end user, what is the objective of the product.
Before creating a product, a core understanding or knowledge of the product is very necessary.

Stage2: Defining Requirements

Once the requirement analysis is done, the next stage is to certainly represent and document the
software requirements and get them accepted from the project stakeholders.

This is accomplished through "SRS"- Software Requirement Specification document which
contains all the product requirements to be constructed and developed during the project life
cycle.

Stage3: Designing the Software

The next phase is about to bring down all the knowledge of requirements, analysis, and design of
the software project. This phase is the product of the last two, like inputs from the customer and
requirement gathering.

Stage4: Developing the project

In this phase of SDLC, the actual development begins, and the programming is built. The
implementation of design begins concerning writing code. Developers have to follow the coding
guidelines described by their management and programming tools like compilers, interpreters,
debuggers, etc. are used to develop and implement the code.

, Stage5: Testing

After the code is generated, it is tested against the requirements to make sure that the products
are solving the needs addressed and gathered during the requirements stage.

During this stage, unit testing, integration testing, system testing, acceptance testing are done.

Stage6: Deployment

Once the software is certified, and no bugs or errors are stated, then it is deployed.

Then based on the assessment, the software may be released as it is or with suggested
enhancement in the object segment.

After the software is deployed, then its maintenance begins.

Stage7: Maintenance

Once when the client starts using the developed systems, then the real issues come up and
requirements to be solved from time to time.

This procedure where the care is taken for the developed product is known as maintenance.

Software Development Life Cycle Models

Software Development life cycle (SDLC) is a spiritual model used in project management that
defines the stages include in an information system development project, from an initial
feasibility study to the maintenance of the completed application.

There are different software development life cycle models specify and design, which are
followed during the software development phase. These models are also called "Software
Development Process Models." Each process model follows a series of phase unique to its type
to ensure success in the step of software development.

Waterfall Model –

The Waterfall Model is a classical software development methodology. It was first introduced by
Winston W. Royce in 1970. It is a linear and sequential approach to software development that
consists of several phases. It must be completed in a specific order. This classical waterfall
model is simple and idealistic. It was once very popular. Today, it is not that popularly used.
However, it is important because most other types of software development life cycle models are
a derivative of this.

What is the SDLC Waterfall Model?

The waterfall model is a software development model used in the context of large, complex
projects, typically in the field of information technology. It is characterized by a structured,
sequential approach to project management and software development.

The waterfall model is useful in situations where the project requirements are well-defined and
the project goals are clear. It is often used for large-scale projects with long timelines, where there
is little room for error and the project stakeholders need to have a high level of confidence in the
outcome.

Written for

Institution
Course

Document information

Uploaded on
February 15, 2025
Number of pages
32
Written in
2022/2023
Type
Class notes
Professor(s)
Er laxmi
Contains
All classes

Subjects

$7.99
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
gudia1

Get to know the seller

Seller avatar
gudia1 S.T. joseph convent high school
Follow You need to be logged in order to follow users or courses
Sold
-
Member since
1 year
Number of followers
0
Documents
2
Last sold
-

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

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