Você está na página 1de 4

Rafael N.

Masallo 07-03-2017
SOFTWEN CS501M

Software engineering

Software engineering (SE) - is the application of engineering to the development of

software in a systematic method

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

is the application of engineering principles to software development. In contrast to simple

programming, software engineering is used for larger and more complex software systems,

which are used as critical systems for businesses and organizations.

Software engineering is an engineering branch associated with development of software

product using well-defined scientific principles, methods and procedures. The outcome of

software engineering is an efficient and reliable software product.

Techopedia explains Software Engineering

A software engineer takes the software needs of end users into account and

consequently develops or designs new applications. Furthermore, software engineering

may involve the process of analyzing existing software and modifying it to meet current

application needs.

As computer hardware becomes cheaper, the focus transfers to software

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

be applied to software development. There must be discipline and control during

software engineering, much like any complex engineering endeavor.

In modern consumer electronics, devices in direct competition often have similar

hardware and processing power, but the user experience will vary greatly depending on

the software being used.

Software Development is a Layered Technology: Software development is

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

flowchart of the layers of software development.


Rafael N. Masallo 07-03-2017
SOFTWEN CS501M

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

engineering. The bedrock that supports software engineering is a quality focus.

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,

quality is ensured, and change is properly managed.

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

and other descriptive techniques.

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

Software Development Paradigm This Paradigm is known as software engineering paradigms

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

This paradigm is a part of Software Development and includes:

1. Design

2. Maintenance

3. Programming

Programming Paradigm This paradigm is related closely to

programming aspect of software development.

1. Coding

2. Testing

3. Integration

Você também pode gostar