WorksheetsReviewer para kay ano
Total questions: 48
Worksheet time: 25mins
a collection of programs written to service other programs. Some
system software (e.g., compilers, editors, and file management
utilities) process complex, but determinate, information structures.
Other systems applications (e.g., operating system components,
drivers, telecommunications processors) process largely
indeterminate data.
System Software
Application software
Engineering/Scientific software
Web applications
stand-alone programs that solve a specific business need.
Applications in this area process business or technical data in a way
that facilitates business operations or management/technical
decision making.
System Software
Application software
Engineering/Scientific software
Web applications
Engineering and scientific software have been characterized by "number
crunching" algorithms. Applications range from astronomy to volcanology,
from automotive stress analysis to space shuttle orbital dynamics, and from
molecular biology to automated manufacturing.
System Software
Application software
Engineering/Scientific software
Web applications
resides within a product or system and is used to implement and
control features and functions for the end user and for the system itself.
System Software
Application software
Engineering/Scientific software
Embedded software
designed to provide a specific capability for use by many different customers.
System Software
Application software
Product-line software
Embedded software
called “WebApps,” this network-centric software category spans a
wide array of applications. In their simplest form, WebApps can be
little more than a set of linked hypertext files that present
information using text and limited graphics.
System Software
Website
Web Applications
Web Software
makes use of nonnumerical algorithms to solve complex problems that
are not amenable to computation or straightforward analysis. Applications
within this area include robotics, expert systems, pattern recognition
(image and voice), artificial neural networks, theorem proving, and game
playing.
Artificial Intelligence software
Web Application
Chatgpt
Deepseek
is developed or engineered; it is not manufactured in the
classical sense.
Software
Software Engineering
Software application
All of the above
is an engineering approach on a software
development of systematic application. It is a 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.
Software
Software Engineering
Software application
All of the above
A Layered Technology:
Tools
Methods
Process
A quality focus
Models
A generic process framework for software
engineering encompasses five activities:
Communication
Planning
Modeling
Construction
Deployment
Managers with software responsibility, like managers in most disciplines, are often under pressure to maintain budgets, keep schedules from slipping, and improve quality.
Management myths
Customer myths
Practitioner's myths
Construction Myths
A customer who requests computer software may be a
person at the next desk, a technical group down the hall,
the marketing/sales department, or an outside company
that has requested software under contract.
Management myths
Customer myths
Practitioner's myths
Construction Myths
Myths that are still believed by software practitioners have
been fostered by 50 years of programming culture.
During the early days of software, programming was
viewed as an art form.
Management myths
Customer myths
Practitioner's myths
Construction Myths
defined as a collection of work activities, actions, and
tasks that are performed when some work product is to be created.
Each of these activities, actions, and tasks reside within a framework
or model that defines their relationship with the process and with
one another. Referring to the figure, each framework
activity is populated by a set of software engineering
actions.
Software Process
Process Flow
Process patterns
Waterfall Model
What process flow is this?
Linear process flow
Iterative process flow
Evolutionary process flow
Parallel process flow
What process flow is this?
Linear process flow
Iterative process flow
Evolutionary process flow
Parallel process flow
What process flow is this?
Linear process flow
Iterative process flow
Evolutionary process flow
Parallel process flow
What process flow is this?
Linear process flow
Iterative process flow
Evolutionary process flow
Parallel process flow
provide an effective mechanism for addressing problems
associated with any software process.
Process Patterns
Ambler
Forces
Type.
has proposed a template for describing a process pattern:
Process Patterns
Ambler
Forces
Type.
The pattern is given a meaningful name describing it within
the context of the software process (e.g., Technical Reviews).
Pattern Name
Ambler
Forces
Type.
The environment in which the pattern is encountered and the
issues that make the problem visible and may affect its solution.
Pattern Name
Ambler
Forces
Type.
The pattern type is specified.
Pattern Name
Ambler
Forces
Type.
defines a problem associated with a framework activity
for the process. Since a framework activity encompasses multiple actions
and work tasks, a stage pattern incorporates multiple task patterns (see
the following) that are relevant to the stage (framework activity).
Stage Pattern
Task Pattern
Phase Pattern
Initial context
defines a problem associated with a software
engineering action or work task and relevant to successful software
engineering practice (e.g., Requirements Gathering is a task pattern).
Stage Pattern
Task Pattern
Phase Pattern
Initial context
define the sequence of framework activities that occurs
within the process, even when the overall flow of activities is iterative in
nature. An example of a phase pattern might be Spiral Model or
Prototyping.
Stage Pattern
Task Pattern
Phase Pattern
Initial context
Describes the conditions under which the pattern applies.
Stage Pattern
Task Pattern
Phase Pattern
Initial context
Describes the conditions that will result once the
pattern has been successfully implemented.
Stage Pattern
Related Patterns
Resulting Context
Initial context
Provide a list of all process patterns that are directly
related to this one. This may be represented as a hierarchy or in some
other diagrammatic form.
Stage Pattern
Related Patterns
Resulting Context
Initial context
provides a five-step process assessment model that
incorporates five phases: initiating, diagnosing, establishing, acting, and
learning.
Standard CMMI Assessment Method for Process Improvement
(SCAMPI)
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
SPICE (ISO/IEC15504)
ISO 9001:2000 for Software
provides a diagnostic technique for assessing the relative maturity of a
software organization; uses the SEI CMM as the basis for the assessment
[Dun01].
Standard CMMI Assessment Method for Process Improvement
(SCAMPI)
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
SPICE (ISO/IEC15504)
ISO 9001:2000 for Software
a standard that defines a set of requirements for
software process assessment. The intent of the standard is to assist
organizations in developing an objective evaluation of the efficacy of any
defined software process.
Standard CMMI Assessment Method for Process Improvement
(SCAMPI)
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
SPICE (ISO/IEC15504)
ISO 9001:2000 for Software
a generic standard that applies to any
organization that wants to improve the overall quality of the products,
systems, or services that it provides. Therefore, the standard is directly
applicable to software organizations and companies.
Standard CMMI Assessment Method for Process Improvement
(SCAMPI)
CMM-Based Appraisal for Internal Process Improvement (CBA IPI)
SPICE (ISO/IEC15504)
ISO 9001:2000 for Software
sometimes called the classic life cycle, suggests a
systematic, sequential approach to software development that begins
with customer specification of requirements and progresses through
planning, modeling, construction, and deployment, culminating in ongoing
support of the completed software
Waterfall Model
V-Model
Incremental Process Model
Evolutionary Process Model
depicts the relationship of quality assurance
actions to the actions associated with communication, modeling, and early
construction activities. As a software team moves down the left side of
the ___, basic problem requirements are refined into progressively more
detailed and technical representations of the problem and its solution.
Waterfall Model
V-Model
Incremental Process Model
Evolutionary Process Model
combines elements of linear and parallel process
flows. applies linear sequences in a staggered fashion as
calendar time progresses.
Waterfall Model
V-Model
Incremental Process Model
Evolutionary Process Model
They are characterized in a manner that
enables you to develop increasingly more complete versions of the
software. Often, a customer defines a set of general objectives for
software, but does not identify detailed requirements for functions and
features. In other cases, the developer may be unsure of the efficiency of
an algorithm, the adaptability of an operating system, or the form that
human-machine interaction should take.
Waterfall Model
V-Model
Incremental Process Model
Evolutionary Process Model (Prototyping)
Originally proposed by Barry Boehm [Boe88], the spiral model is an
evolutionary software process model that couples the iterative nature of
prototyping with the controlled and systematic aspects of the waterfall
model.
Waterfall Model
V-Model
Spiral Model
Evolutionary Process Model (Prototyping)
sometimes called concurrent
engineering, allows a software team to represent iterative and concurrent
elements of any of the process models described in this chapter. For
example, the modeling activity defined for the spiral model is
accomplished by invoking one or more of the following software
engineering actions: prototyping, analysis, and design.
Waterfall Model
Specialized Process Models
Spiral Model
Concurrent Model
leads to software reuse, and
reusability provides software engineers with a number of measurable
benefits. Your software engineering team can achieve a reduction in
development cycle time as well as a reduction in project cost if
component reuse becomes part of your culture
Waterfall Model
component-based development model
Spiral Model
Concurrent Model
take on many of the characteristics of one or
more of the traditional models presented in the preceding sections.
However, these models tend to be applied when a specialized or narrowly
defined software engineering approach is chosen.
SPECIALIZED PROCESS MODELS
INCREMENTAL PROCESS MODEL
Spiral Model
Concurrent Model
is an attempt to draw on the best features and
characteristics of traditional software process models, but characterize
them in a way that implements many of the best principles of agile
software development.
SPECIALIZED PROCESS MODELS
INCREMENTAL PROCESS MODEL
THE UNIFIED PROCESS
Concurrent Model
of the UP encompasses both customer
communication and planning activities. By collaborating with
stakeholders, business requirements for the software are identified; a
rough architecture for the system is proposed; and a plan for the iterative,
incremental nature of the ensuing project is developed.
Inception phase
Elaboration phase
construction phase
transition phase
encompasses the communication and modeling
activities of the generic process model. refines and expands the preliminary use cases that were
developed as part of the inception phase and expands the architectural
representation to include five different views of the software—the use
case model, the requirements model, the design model, the
implementation model, and the deployment model
Inception phase
Elaboration phase
construction phase
transition phase
of the UP is identical to the construction activity
defined for the generic software process. Using the architectural model as
input, the construction phase develops or acquires the software
components that will make each use case operational for end users. To
accomplish this, requirements and design models that were started during
the elaboration phase are completed to reflect the final version of the
software increment. All necessary and required features and functions for
the software increment (i.e., the release) are then implemented in source
code
Inception phase
Elaboration phase
construction phase
transition phase
the UP encompasses the latter stages of the
generic construction activity and the first part of the generic deployment
(delivery and feedback) activity. Software is given to end users for beta
testing and user feedback reports both defects and necessary changes
Inception phase
Elaboration phase
construction phase
transition phase
of the UP coincides with the deployment activity of
the generic process. During this phase, the ongoing use of the software is
monitored, support for the operating environment (infrastructure) is
provided, and defect reports and requests for changes are submitted and
evaluated.
Inception phase
Production phase
construction phase
transition phase
