0% found this document useful (0 votes)
52 views

Module 02: Software Engineering

The document defines software engineering and discusses its key processes, methods, and tools. It describes several software engineering paradigms including the waterfall model, prototyping, and the spiral model. The waterfall model involves sequential phases from requirements to maintenance. Prototyping can undermine quality for haste. The spiral model incorporates risk analysis, customer communication, and evaluation into iterative cycles. Fourth generation techniques generate code from specifications and impart significant functionality through natural language or notations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Module 02: Software Engineering

The document defines software engineering and discusses its key processes, methods, and tools. It describes several software engineering paradigms including the waterfall model, prototyping, and the spiral model. The waterfall model involves sequential phases from requirements to maintenance. Prototyping can undermine quality for haste. The spiral model incorporates risk analysis, customer communication, and evaluation into iterative cycles. Fourth generation techniques generate code from specifications and impart significant functionality through natural language or notations.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Cavite State University ITEC 80 – System Integration and Architecture I

MODULE 02: SOFTWARE ENGINEERING

After the completion of the unit, students will be able to:


1. Define software engineering.
2. Identify the processes, methods, and tools in software engineering.
3. Discuss the different software engineering paradigm.

SOFTWARE ENGINEERING

• According to Fritz Bauer, software engineering is the establishment and use of sound
engineering principles in order to obtain economically software that is reliable and
works efficiently on real machines.
• According to IEEE, software engineering is the application of a systematic, disciplined,
quantifiable approach to the development, operation, and maintenance of software
– that is, the application of engineering to software.

SOFTWARE ENGINEERING LAYERS

• process — the glue that holds the technology layers together and enables
rational and timely development of computer software
• methods — provide the technical “how to’s” for building software
• tools — provide automated or semi-automated support for the process and the
methods

SOFTWARE ENGINEERING PARADIGMS

Software *Department of Information Technology


Page 1 of 5
Cavite State University ITEC 80 – System Integration and Architecture I

Illustrates the linear sequential model for software engineering, which commonly
referred to as the “classic life” or the “waterfall model”. This model suggests a
systematic, sequential approach to software development that begins at the system
level and processes through analysis, design, coding, testing, and maintenance. It
includes the following activities:

System/ Information engineering and modeling – works begins by establishing


requirements for all system elements and then allocating some subset of these
requirements to software. System engineering and analysis includes requirements
gathering at the system level with a small amount of top-level analysis and design.

Software requirements analysis – to understand the nature of the programs to be built,


the software engineer must understand the information domain for the software, as well
as required functions, behavior, performance, and interfacing.

Design – this activity focuses on the four distinct attributes of a program: data structure,
software architecture, interface representations, and procedural details. The design
process translates requirements into a representation of the software that can be
assessed for quality before coding begins.

Code generation – this activity translates the design into a machine-readable form.
Testing – this process focuses on the logical internals of the software, assuring that all
statements have been tested, and on the functional externals – conducting tests to
discover errors and ensure that defined input will produce actual results that agree with
required results.

Maintenance – changes will occur because errors have been encountered, because the
software must be adapted to accommodate changes in its external environment or
because the customer requires functional or performance enhancements.

Software *Department of Information Technology


Page 2 of 5
Cavite State University ITEC 80 – System Integration and Architecture I

Prototyping can be problematic for the following reasons:


• The customer sees what appears to be a working version of the software, unaware that
in the rush to get it working we haven’t considered overall software quality or long-
term maintainability.
• The developer often makes implementation compromises in order to get a prototype
working quickly.

Spiral Model
SIX TASK REGIONS
• customer communication — tasks required to establish effective communication
between developer and customer
• planning — tasks required to define resources, timelines, and other project related
information
• risk analysis — tasks required to assess both technical and management risks •
engineering — tasks required to build one or more representations of the
application

Software *Department of Information Technology


Page 3 of 5
Cavite State University ITEC 80 – System Integration and Architecture I

• construction & release — tasks required to construct, test, install and provide user
support (e.g., documentation and training)
• customer evaluation — tasks required to obtain customer feedback based
on evaluation of the software representations created during the engineering
stage and implemented during the installation stage

Fourth Generation Techniques


• automatically generates source code based on the developer’s specification
• focus on the ability to specify software to a machine at a level that is close to
natural language or using a notation that imparts significant function
• include some or all of the following tools: nonprocedural languages for
database query, report generation, data manipulation, screen interaction and
definition, and code generation

Summary of the current state of 4GT approaches:


• The use of 4GT has broadened considerably over the past decade and is now a
viable approach for many different application areas.
• Data collected from companies who are using 4GT indicates that the time required
to produce software is greatly reduced for small and intermediate applications and
that the amount of design and analysis for small applications is also reduced.
• The use of 4GT for large software development efforts demands as much or more
analysis, design, and testing to obtain the substantial time saving that can be
achieved through the elimination of coding.

Software *Department of Information Technology


Page 4 of 5

You might also like