2. 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.
3. Economically
Socio- • Around the world, the software
economic contributes to economic growth.
implications
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. Requirements
Analysis
Specification
Software
Architecture
engineering
process Programming/
Development
Test
(Software
lifecycle)
Documentation
Maintenance
5. 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
6. 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, prioritization
and specification of software requirements.
Specification
Among the techniques used for the specification of
requirements include:
Use Case.
User Stories.
Menu Next
7. The integration of
The software infrastructure, application
architecture is the development, and
design of an application database management
component, usually tools, capacity and
using architecture leadership required to be
patterns. An conceptualized and
architectural design projected future, solving
generally describes how the problems of today
to build a software
application. This is documented
using diagrams, for
example:
Class diagrams,
Diagrams database,
Architecture Deployment diagram,
Sequence Diagram
Menu Next
8. 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 pre-
made design.
Menu Next
9. • 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
10. Documentation
• 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.
Menu Next
11. 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 Models and software
development philosophies
Menu Next
12. Software engineering has several models, development paradigms and
philosophies, which is based on the construction of the software:
Waterfall model
or Classic
(traditional
RUP model)
(Rational Prototype
Unified Model
Process)
Unified
Process
Models and Spiral Model
software
development
philosophies
Concurrent Phased
Development development
RAD (Rapid
Iterative and
Application
Incremental
Development)