0% found this document useful (0 votes)
33 views3 pages

Software Engineering Lifecycle Overview

Software engineering is a discipline focused on the systematic production and maintenance of software products within scheduled times and costs. The software lifecycle includes phases such as analysis, project implementation, testing, and maintenance, with methodologies like the waterfall model and agile approaches guiding development. Software quality is evaluated based on internal and external characteristics, with international standards defining key quality attributes such as functionality, reliability, usability, efficiency, maintainability, and portability.

Translated by

ScribdTranslations
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)
33 views3 pages

Software Engineering Lifecycle Overview

Software engineering is a discipline focused on the systematic production and maintenance of software products within scheduled times and costs. The software lifecycle includes phases such as analysis, project implementation, testing, and maintenance, with methodologies like the waterfall model and agile approaches guiding development. Software quality is evaluated based on internal and external characteristics, with international standards defining key quality attributes such as functionality, reliability, usability, efficiency, maintainability, and portability.

Translated by

ScribdTranslations
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

SoftwareEngineering

Software engineering: A technological and managerial discipline that concerns production


sistematica e la manutenzione dei prodotti software che vengono sviluppati e modificati entro
scheduled times and costs
Systematic approach to the development, operation, maintenance, and withdrawal of software
through: theories, methods, and tools, both technological and organizational, that allow
to produce applications with the desired quality characteristics

Software lifecycle
Analysis (A)
Model, requirements, feasibility

Project and implementation (PI)


Architectural components... class details

Testing (C)
Compliance with requirements, software quality

Release and maintenance (RM)


40%-80% of the total cost
Either the requirements are not known or not correctly understood.

The operating conditions are changing ...

Software Life Cycle


The software life cycle is the set of activities and actions to undertake for
to create a software project
Each phase of the waterfall model (software waterfall life-cycle) produces a specific output.
which represents the input for the next phase
Waterfall model
Analisi -> Requisiti
to identify theapplication requirements to be implemented
Design -> Architecture
It is defined as thearchitetturadel software suddividendolo in componenti
Implementazione (development) -> Codice sorgente
It is developed and tested thecode of the individual components

Verifica (testing) -> Codice testato


Integration of components andcontrol over requirements
Maintenance -> Updated code versions
Correction ofafter the release of the application or integration of new features

Agile methodologies and spiral model

The waterfall model in which each phase is executed at the end of the previous one is rigid.
Agile methodologies provide for incremental development in which the software is created in
successive versions

Software quality
The qualities on which the evaluation of a software system is based can be:
oInternal, they concern the characteristics related to the development process and are not directly
visible to users
oExternal, they concern the functionalities provided by the software product and are directly visible to the
users
the categories are linked:Product quality is process quality

Software quality
International standards (ISO/IEC 9126-1:2001 - ISO/IEC 25010:2011) define the quality of
software in terms of:
oFunctionality: Presence of functionalities that meet established requirements
oReliability: Maintenance of performance under defined conditions and/or for a period of
set time
oUsability: Level of engagement required for use by various types of users

oEfficiency: Relationship between the level of performance and the hardware/software resources used in
defined conditions
oMaintainability: Level of effort required to modify the code
o Portability: Ease of execution on different platforms

You might also like