Is the application of a systematic,
disciplined, quantifiable approach to
the design, development, operation,
and maintenance of software, and the
study of these approaches. Software
Engineering is the branch of
engineering that applies the principles
of computer science and mathematics
to achieving cost-effective solutions to
the problems of software
development.
Economically

Socioeconomic
implications

• Around the world, the software
contributes to economic growth.

Socially
• Software engineering, change the
culture of the world, due to the
widespread use of computers. E-mail,
the Web and instant messaging,
allowing people to interact in new
ways. The software lowers the cost
and improves the quality of health
services, government agencies and
other social services.
Software engineering
process
Requirements
Analysis

Specification

Software
engineering
process

Architecture

Programming/

Development

(Software
lifecycle)

Test

Documentation

Maintenance
Requirements Analysis
Extract the requirements of a software product is the first
stage to create it. It requires skills and experience in
software engineering.
The result of the analysis of customer requirements is
reflected in the ERS document, System Requirements
Specification, the structure can be defined by various
standards, such as CMMI.
It also defines a diagram Entity / Relationship, which
embodies the main entities involved in software
development.

The capture, analysis and requirements specification, is a
crucial part, of this stage depends largely on achieving the
ultimate goals.

Menu

Next
The requirements specification describes the
expected behavior in the software once
developed. Much of the success of a software
project will lie in identifying business needs and
the functional user interaction for the
collection, classification, identification, prioritizati
on and specification of software requirements.

Specification
Among the techniques used for the specification
of requirements include:
Use Case.
User Stories.

Menu

Next
The software
architecture is the
design of an application
component, usually
using architecture
patterns. An
architectural design
generally describes how
to build a software
application.

The integration of
infrastructure, application
development, and
database management
tools, capacity and
leadership required to be
conceptualized and
projected future, solving
the problems of today

Architecture

Menu

This is documented
using diagrams, for
example:
Class
diagrams, Diagrams
database, Deploymen
t diagram, Sequence
Diagram

Next
Programming
Reducing a design to code
may be the most obvious part
of the software engineering
job, but not necessarily the
most demanding work and
even the most complicated.
The complexity and length of
this stage is closely related to
programming
languages ​used, and premade design.

Menu

Next
• Involves checking that the
software performed correctly
the tasks outlined in the
specification of the problem. A
testing technique is tested
separately each software
module, and then test it
comprehensively in order to
reach the goal.

Test
Menu

Next
Documentation
Menu

• All documentation regarding the actual
development of software and project
management, through modeling (UML) use
case diagrams, testing, user manuals,
technical manuals, etc., all for the purpose
of corrections, usability, future
maintenance and upgrades to the system.

Next
Phase dedicated to maintaining and improving
the software to correct errors discovered and
incorporate new requirements. This may take
longer than even the initial software
development. About 2/3 of the cycle time of a
project4 life is devoted to maintenance. A small
part of this job is to remove errors (bugs), being
that most lies in extending the system to
incorporate new features and addressing its
evolution.

Maintenance
Menu

Models and software
development philosophies

Next
Software engineering has several models, development paradigms and
philosophies, which is based on the construction of the software:

RUP
(Rational
Unified
Process)

Unified
Process

Waterfall model
or Classic
(traditional
model)
Prototype
Model

Models and
software
development
philosophies

Concurrent
Development

Spiral Model

Phased
development

RAD (Rapid
Application
Development)

Iterative and
Incremental

Software Engineer

  • 2.
    Is the applicationof a systematic, disciplined, quantifiable approach to the design, development, operation, and maintenance of software, and the study of these approaches. Software Engineering is the branch of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to the problems of software development.
  • 3.
    Economically Socioeconomic implications • Around theworld, the software contributes to economic growth. Socially • Software engineering, change the culture of the world, due to the widespread use of computers. E-mail, the Web and instant messaging, allowing people to interact in new ways. The software lowers the cost and improves the quality of health services, government agencies and other social services. Software engineering process
  • 4.
  • 5.
    Requirements Analysis Extract therequirements of a software product is the first stage to create it. It requires skills and experience in software engineering. The result of the analysis of customer requirements is reflected in the ERS document, System Requirements Specification, the structure can be defined by various standards, such as CMMI. It also defines a diagram Entity / Relationship, which embodies the main entities involved in software development. The capture, analysis and requirements specification, is a crucial part, of this stage depends largely on achieving the ultimate goals. Menu Next
  • 6.
    The requirements specificationdescribes the expected behavior in the software once developed. Much of the success of a software project will lie in identifying business needs and the functional user interaction for the collection, classification, identification, prioritizati on and specification of software requirements. Specification Among the techniques used for the specification of requirements include: Use Case. User Stories. Menu Next
  • 7.
    The software architecture isthe design of an application component, usually using architecture patterns. An architectural design generally describes how to build a software application. The integration of infrastructure, application development, and database management tools, capacity and leadership required to be conceptualized and projected future, solving the problems of today Architecture Menu This is documented using diagrams, for example: Class diagrams, Diagrams database, Deploymen t diagram, Sequence Diagram Next
  • 8.
    Programming Reducing a designto code may be the most obvious part of the software engineering job, but not necessarily the most demanding work and even the most complicated. The complexity and length of this stage is closely related to programming languages ​used, and premade design. Menu Next
  • 9.
    • Involves checkingthat the software performed correctly the tasks outlined in the specification of the problem. A testing technique is tested separately each software module, and then test it comprehensively in order to reach the goal. Test Menu Next
  • 10.
    Documentation Menu • All documentationregarding the actual development of software and project management, through modeling (UML) use case diagrams, testing, user manuals, technical manuals, etc., all for the purpose of corrections, usability, future maintenance and upgrades to the system. Next
  • 11.
    Phase dedicated tomaintaining and improving the software to correct errors discovered and incorporate new requirements. This may take longer than even the initial software development. About 2/3 of the cycle time of a project4 life is devoted to maintenance. A small part of this job is to remove errors (bugs), being that most lies in extending the system to incorporate new features and addressing its evolution. Maintenance Menu Models and software development philosophies Next
  • 12.
    Software engineering hasseveral models, development paradigms and philosophies, which is based on the construction of the software: RUP (Rational Unified Process) Unified Process Waterfall model or Classic (traditional model) Prototype Model Models and software development philosophies Concurrent Development Spiral Model Phased development RAD (Rapid Application Development) Iterative and Incremental