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

Specialized Process Models

Uploaded by

xawef56856
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Specialized Process Models

Uploaded by

xawef56856
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 7

SPECIALIZED PROCESS MODELS

“These models tend to be applied when a specialized or


narrowly defined software engineering approach is chosen”
COMPONENT-BASED DEVELOPMENT

• Commercial off-the-shelf (COTS) software components, developed by vendors


who offer them as products, provide targeted functionality with well-defined
interfaces that enable the component to be integrated into the software that is to
be built.

• The component-based development model incorporates many of the


characteristics of the spiral model. It is evolutionary in nature, demanding an
iterative approach to the creation of software.
Regardless of the technology that is used to create the components, the
component-based development model incorporates the following
steps(implemented using an evolutionary approach):
1. Available component-based products are researched and evaluated for the
application domain in question.
2. Component integration issues are considered.
3. A software architecture is designed to accommodate the components.
4. Components are integrated into the architecture.
5. Comprehensive testing is conducted to ensure proper functionality.

The component-based development 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
THE FORMAL METHODS MODEL
• The formal methods model encompasses a set of activities that leads to formal
mathematical specification of computer software.
• Formal methods enable you to specify, develop, and verify a computer-based
system by applying a rigorous, mathematical notation.
• When formal methods are used during development, they provide a mechanism
for eliminating many of the problems that are difficult to overcome using
other software engineering paradigms.
• Ambiguity, incompleteness, and inconsistency can be discovered and
corrected more easily—not through ad hoc review, but through the application
of mathematical analysis.
• When formal methods are used during design, they serve as a basis for
program verification and therefore enable you to discover and correct errors
that might otherwise go undetected.
Yet, concern about its applicability in a business environment has been
voiced:
• The development of formal models is currently quite time consuming and
expensive.
• Because few software developers have the necessary background to apply
formal methods, extensive training is required.
• It is difficult to use the models as a communication mechanism for
technically unsophisticated customers.
ASPECT-ORIENTED SOFTWARE DEVELOPMENT

• As modern computer-based systems become more sophisticated (and


complex), certain concerns—customer required properties or areas of
technical interest—span the entire architecture.

• Some concerns are high-level properties of a system (e.g., security, fault


tolerance).

• Other concerns affect functions (e.g., the application of business rules),


while others are systemic (e.g., task synchronization or memory
management).
• When concerns cut across multiple system functions, features, and
information, they are often referred to as crosscutting concerns.

• Aspectual requirements define those crosscutting concerns that have an


impact across the software architecture.

• Aspect-oriented software development (AOSD), often referred to as aspect-


oriented programming (AOP), is a relatively new software engineering paradigm
that provides a process and methodological approach for defining, specifying,
designing, and constructing Aspects.

• However, it is likely that such a process will adopt characteristics of both


evolutionary and concurrent process models.

You might also like