Software Engineer


Published on

Software Engineer by Mark Johnson SEC

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Software Engineer

  1. 1. 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.
  2. 2. 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
  3. 3. Requirements Analysis Specification Software engineering process Architecture Programming/ Development (Software lifecycle) Test Documentation Maintenance
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. • 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
  9. 9. 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
  10. 10. 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
  11. 11. 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