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
   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
Requirements
                  Analysis


                 Specification


 Software
                 Architecture
engineering
  process       Programming/
                Development


                     Test
  (Software
   lifecycle)
                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, prioritization
                 and specification of software requirements.

 Specification

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




Menu                                                                   Next
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
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
• 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



                  • 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
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
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)

Software engineering

  • 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 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 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, 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 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 • 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 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 Models and software development philosophies Menu Next
  • 12.
    Software engineering hasseveral 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)