software engineer
DESCRIPTION
http://www.markjohnsonsec.com/ Software Engineer by Mark Johnson SECTRANSCRIPT
![Page 1: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/1.jpg)
Software Engineering
![Page 2: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/2.jpg)
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.
Software Engineering
![Page 3: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/3.jpg)
Economically• 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.
Socio-economic
implications
Software engineering process
![Page 4: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/4.jpg)
Requirements Analysis
Specification
Architecture
Programming/Development
Test
Documentation
Maintenance
Software engineering
process
(Software lifecycle)
![Page 5: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/5.jpg)
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.
Requirements Analysis
Menu
Next
![Page 6: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/6.jpg)
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.
Among the techniques used for the specification of requirements include:Use Case.User Stories.
Specification
Menu
Next
![Page 7: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/7.jpg)
Menu
Next
Architecture
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
This is documented using diagrams, for
example:
Class diagrams, Diagrams database, Deployment diagram, Sequence Diagram
![Page 8: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/8.jpg)
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.
Programming
Menu
Next
![Page 9: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/9.jpg)
• 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
![Page 10: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/10.jpg)
Doc
umen
tatio
n • 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
![Page 11: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/11.jpg)
Maintenance
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.
Menu
Next
Models and software development philosophies
![Page 12: Software Engineer](https://reader037.vdocuments.us/reader037/viewer/2022102816/55896d58d8b42a964f8b4789/html5/thumbnails/12.jpg)
Software engineering has several models, development paradigms and philosophies, which is based on the construction of the software:
Models and software
development philosophies
Waterfall model or Classic (traditional
model)
Prototype Model
Spiral Model
Phased development
Iterative and Incremental
RAD (Rapid Application
Development)
Concurrent Development
Unified Process
RUP (Rational Unified
Process)