Escolar Documentos
Profissional Documentos
Cultura Documentos
Masallo 07-03-2017
SOFTWEN CS501M
Software engineering
The process of analyzing user needs and designing, constructing, and testing end user
applications that will satisfy these needs through the use of software programming languages. It
programming, software engineering is used for larger and more complex software systems,
product using well-defined scientific principles, methods and procedures. The outcome of
A software engineer takes the software needs of end users into account and
may involve the process of analyzing existing software and modifying it to meet current
application needs.
systems. Large software systems may be more complex than the hardware used to run
them, so there is great demand for best practices and engineering processes that can
Rafael N. Masallo 07-03-2017
SOFTWEN CS501M
hardware and processing power, but the user experience will vary greatly depending on
totally a layered technology. That means, to develop software one will have
to go from one layer to another. The layers are related and each layer
demands the fulfillment of the previous layer. Figure below is the upward
01. A Quality Focus: Software engineering must rest on an organizational commitment to quality. Total
quality management and similar philosophies foster a continuous process improvement culture, and this
culture ultimately leads to the development of increasingly more mature approaches to software
02. Process: The foundation for software engineering is the process layer. Process defines a framework
for a set of Key Process Areas (KPAs) that must be established for effective delivery of software
engineering technology. This establishes the context in which technical methods are applied, work
products such as models, documents, data, reports, forms, etc. are produced, milestones are established,
03. Methods: Software engineering methods provide the technical how-to's for building software.
Methods will include requirements analysis, design, program construction, testing, and support. This
relies on a set of basic principles that govern each area of the technology and include modeling activities
04. Tools: Software engineering tools provide automated or semi-automated support for the process and
the methods. When tools are integrated so that information created by one tool can be used by another,
a system for the support of software development, called computer-aided software engineering, is
established.
Rafael N. Masallo 07-03-2017
SOFTWEN CS501M
where all the engineering concepts pertaining to the development of software are applied. It includes
various researches and requirement gathering which helps the software product to build. It consists of
1. Requirement gathering
2. Software design
3. Programming
1. Design
2. Maintenance
3. Programming
1. Coding
2. Testing
3. Integration