0% found this document useful (0 votes)
47 views18 pages

Chapter 1 Introduction To Software Engineering

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views18 pages

Chapter 1 Introduction To Software Engineering

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

Introduction to

Software Engineering

SOFTENG1 – SOFTWARE ENGINEERING 1

MS. CATHERINE D. DUMPIT


Software engineering has two parts:

Software is a collection of codes,


documents, and triggers that does a
specific job and fills a specific
requirement.

Engineering is the development of


products using best practices,
principles, and methods.
Software Engineering Definitions:
➢ It is a detailed study of engineering to the
design, development and maintenance of
software.

➢ It is the systematic application of engineering approaches


to the development of software (Wikipedia)

➢The application of a systematic, disciplined,


quantifiable approach to the development,
operation, and maintenance of software; that is,
the application of engineering to software.( IEEE )
Software Characteristics:

functionality portability

reliability usability

efficiency maintainability
Software Characteristics:

Robustness

Integrity
Classification of Software:
• System software - manages and control the
internal operation of a computer system.
• Real-time software - observe, analyzes and
controls real world event as the occur.
• Business software - used in areas where
management and control of financial activities is
of utmost importance
• Engineering and scientific software - a
powerful tool in the research and development
of next generation technology such as the study
of celestial bodies and programming of an
orbital path for space shuttles.
Classification of Software:
• Artificial Intelligence (AI) software - problem-
solving technique is non-algorithmic in nature. AI
software role is to add certain degrees of
intelligence to the mechanical hardware in order
to get desired in work done in an agile manner.

• Web-base software - acts as an interface,


between the user and the Internet.

• Personal computer (PC) software - used for both


official and personal used. This software is used
predominantly in almost every field, whether it is
database management system, financial
accounting package, or multimedia-base
software.
Examples of Software Crisis:

The Equifax social security hack

Equifax, one of the United States’


largest credit reporting agencies,
announced that up to 143 million of
their consumer records were stolen
by hackers. Names, Social Security
numbers, birth dates, and credit
card numbers were all amongst the
data stolen.
Examples of Software Crisis:

Medicine infusion pumps recalled for


deadly flaw
In 2015, CareFusion’s Alaris Pump was
recalled over a software error that caused
the pump, designed to automatically
deliver medicine and fluids to hospital
patients, to delay an infusion. The
consequences, which can range anywhere
from medicine being withheld at critical
points or accidental over-dosing, can be
deadly
Examples of Software Crisis:

• The Northeast blackout in 2003 – one of the major


power system failure in the history of North
America. It was determined that the major reason
behind the failure was a software bug in the
power monitoring and management system.

• In 1996, Arian-5 space rocket, developed at the


cost of $7000 million over a period of 10 years
was destroyed within less than a minute after its
lunch. The crash occurred because there was a
software bug in the rocket guidance system.
The tools layer includes
the software and
platforms used to
Tools support and automate
different stages of the
software development
Software Methods lifecycle (SDLC).

Engineering Methods refer to the


Layers: Process systematic techniques or
approaches used in the
software development
process to solve
Quality Focus problems, achieve
specific outcomes, and
ensure consistency and
quality.

The process layer defines how the entire


software development life cycle (SDLC) is
managed, focusing on project governance,
development workflows, and quality
assurance
Tools

Software Methods
Engineering
Layers: Process

Quality Focus

In software engineering, the Tools, Methods, and Process Layer


are crucial for controlling and streamlining the program
development process. Every component is essential to making
sure the software development process is effective, well-
structured, and results in high-caliber software.
Software Engineering
Management
Software engineering management can be
defined as the application of management
activities—planning, coordinating, measuring,
monitoring, controlling, and reporting, to
ensure that software products and software
engineering services are delivered efficiently,
effectively, and to the benefit of stakeholders
Software Engineering Skills

Application Modelling
Skills
Software Development Life Cycle
(SDLC)
Requirements Analysis, seeks to identify
and record the precise requirements of
the final users. In this phase, the team is
looking to answer, “What are the
expectations of our users from our
software?”

Planning phase fosters effective


communication and collaboration within
the team. By defining clear roles,
responsibilities, and expectations, it lays a
solid foundation for an efficient software
development process.

Design phase is all about building the


framework. The development team is
responsible for software engineering and
outlines the software’s functionality and
aesthetic.
Software Development Life Cycle
(SDLC)
Build phase aims to develop software that is
functional, efficient, and user-friendly.This
document, acting as a roadmap, ensures the
software aligns with the vision set in earlier phases.
The testing process begins by setting clear parameters in
line with the software’s requirements. This includes
identifying the necessary software conditions, and
outlining diverse scenarios to examine these conditions.
This step aids in creating an efficient testing strategy.
The Deployment phase involves rolling out the
meticulously tested and fine-tuned software to its
end-users.

The maintenance phase is characterized by constant assistance


and improvement, which guarantees the software’s best
possible functioning and longevity and ensures it meets
customer expectations.
Three constraints on which
decision to go ahead or not
Technical
This evaluation determines whether technology
needed for the proposed system is available , then how it
can integrated within the organization.

Time
This evaluation determines the time needed to
complete a project.

Budgetary
This evaluation looks at the financial aspect of the
project, determines whether the investment needed to
implement the system will be recovered at later stages.

You might also like