2.
PRESCRIPTIVE PROCESS MODELS
A process first of all defines who does what, when and how it is done, in order to achieve
Objectives. The success of companies or organizations largely depends on the
definition and proper monitoring of your processes. For example, if we really define
What is a process? We can say that it is a company dedicated to software development.
covers very complex specialized processes which is the creation and management of
software system.
A process model must consider a variety of aspects, such as the set of
people, organizational structures, rules, policies, activities, components of
software, methodologies and tools used.
There are many aspects that define a process, from its architecture, activities, methods
and methodologies, strategies, and tools for software management. Each
Aspects to avoid prolonging each definition lead the development team to handle various types.
of these aspects for software development. from its structure which is the beginning for
the creation of software to the tools used fundamental for the cycle of
development.
Now then, we already have a concept of process, which leads us to delve into what it does or
What is a PRESCRIPTIVE MODEL, these models were originally proposed for
to put order in the development of a system or software. What it indicates to us is that in the past
a development team was presenting a lot of chaos when it came to defining their process
development. The prescriptive model ensures that its process goes well, but not for that reason alone
their results will take care of themselves, the prescriptive process must be nurtured,
because, although this model achieves order in its developments for some reason or
circumstances the product generates are on the brink of chaos, its engineering structure
what is useful for the development team and yields effective results, it does not cease to be
perfect.
All software process models can include structural activities.
general, but each one puts a different study into them and defines actions in a different way.
and software engineering tasks.
1. WATERFALL MODEL:
It is known as the basic software cycle, and it is used when the problems presented to it
they are easy to understand, therefore they are easy to solve. Describe the order of the
activities of the model, it is a sequence of activities, in its beginnings this model was
guided this process that was aimed at following the development progress of
software towards well-defined definition points, this is known as a checkpoint.
This original model was characterized by not continuing its process without first finishing each
activity at its partisan point. The model was specified to finish the activity that
it was starting.
Some of the beliefs of the waterfall model are that goals are achieved better when
there are well-established and documented review points (dividing the development
of the software in well-defined sequential activities), the technical documents are
understandable for non-technical users and administrators, every detail of the requirements
It is known in advance before developing the software (These details are stable.
during development) and testing and evaluations are carried out efficiently at the end
of development.
The waterfall model was initially well received, as the activities of the stages
They were reasonable and logical. Unfortunately, the model did not explain how to modify a
result, especially considering how difficult it is to define all the requirements of a
system since the beginning and that they remain stable and unchanged during the
development. Furthermore, it takes too long to obtain results, delaying the
error detection until the end.
That kind of model is used mainly for maintenance and for new development.
that are easy to understand. When the requirements are well understood, this type of
The model focuses on the work from communication to deployment in a linear way.
The waterfall model, also known as the Classic Life Cycle, suggests an approach
what is systematicset of ordered rules and procedures andsequential order
of a series of elements that follow each other.
This waterfall method is represented in 5 stages.
1.1. Communication:
A list is made with the client of the needs that the software must meet.
client needs, they meet, requirements are gathered with the client.
1.2. Planning:
Define and estimate as the main objective the programming and constant monitoring of
software to be proposed. It is defined in three stages:
[Link] estimación:Habla del recurso humano a nivel tecnológico y costos a definir
for software planning.
1.2.2. Programming: It is to create the proper schedule for the development regarding the
programming.
1.2.3. The follow-ups: They are the adjustments that one must make to the application, a
The schedule is made to have an indication that varies over the course of
development where it becomes more noticeable to make these modifications.
1.3. Modeling:
The analysis is carried out with the established parameters and the incremental software design.
1.4. The construction:
At this level, the developer inputs codes and performs
pilot tests of what is being done or simply technical tests are applied
Required, there are 28 types of tests, depending on the software the classes are chosen from.
tests.
1.5. Deployment:
Bring 3 things:
1.5.1. The delivery: It is the software or application that they had made for you.
1.5.2. Assistance: It is the limited support time (The compliance policy).
1.5.3. Feedback: It is the maintenance that one must do to the application.
Disadvantages of the Waterfall Model
This model has some disadvantages, one of which is that it has many restrictions and is
subject to relevant changes, for example: The update change requires making changes to
Software. For various reasons, VAT rises from 16 to 19, many situations have to be changed.
Another disadvantage is that the client does not say what they want, it is not well stated.
problem and for the development team it is difficult to really know what it is like
required software.
A major disadvantage when there are participants in the team who do not contribute, the software
It will not be fulfilled, the analyst or manager must choose their work team wisely.
V Model:
A variant of the waterfall model representation is called the V model.
Where the relationship between quality assurance actions is appreciated and
those associated with communication, modeling, and early construction. With this
model as a variant of the classic waterfall model helps to ensure that the requirements
basics of the problem improve towards increasingly detailed technical representations of the
problem and its solution.
Advantages ensure quality, this model is good, when the list is made of
requirements, it is analyzed at once and tests are conducted, if something is missing, action is taken until
solve it, otherwise, it will not proceed to the next phase.
Code generation, unit tests are done last, it is executable software.
deliverable as such.
2. Incremental process model:
It consists of an initial development of the complete system architecture, followed by
increments and partial versions of this. Each increment has its own life cycle,
typically following the waterfall model. The increments can be built from
serial or parallel manner depending on the nature of the dependency between versions and
resources. Each increment adds additional or improved functionality to the system.
As each stage is completed, the latest version is verified and integrated with the others.
completed versions of the system. During each increment, the system is evaluated with
regarding the development of future versions. The activities are divided into processes and
subprocesses, giving rise to the term software factory (in English, software factory). For
For the development sequence to be successful, it is essential to define stages that do not require.
change the previous results when adding new ones. Therefore, it is important
understanding the complete system requirements at the beginning, something that is usually very
difficult to achieve. Incremental development avoids the 'big bang' theory for development of
software, where a great explosion of development suddenly turns into the
final system.
Advantage: The incremental model applies linear sequences in a stepped manner as it progresses.
As the activity calendar progresses, functional deliveries are made in parts.
to the client or the user who will handle it, those functional tests are not 100% optimal,
subsequent deliveries are made.
3. Evolutionary process models
It extends to the incremental model in which the increments are made in a manner
sequentially or in parts, instead of in parallel. From the client's point of view, the
the system evolves as the increments are delivered. From the point of
from the developer's perspective, the requirements that are clear at the beginning of the project dictate
the initial increase, while the increases for each of the following cycles
of development is clarified through the experience of previous increases. This
model is defined in two internal models that are:
3.1. Prototypes:
The evolutionary model is also known as rapid application development, which is based on
traditionally in the use of prototypes, a software prototype is considered as a means
to specify the requirements and a communication link between the end user and the designer,
helping to reduce the risk of lacking complete and stable initial requirements.
DISADVANTAGE: The software is whimsically created by the developer, every human being
think differently, as a result it is done whimsically, each one develops in their own way.
In the game rules, a prototype must be submitted; when submitting it, the hardware is not considered.
has things that if there are no clear requirements the developer makes a prototype to their
charity.
[Link] Model:
Quick versions are made, the spiral model is based on a strategy to reduce the risk of
project in areas of uncertainty, such as having incomplete and unstable initial requirements.
The model emphasizes work cycles, each of which studies the risk before proceeding to the
next cycle. Each cycle begins with the identification of objectives, alternative solutions and
restrictions associated with each alternative, and finally it proceeds to their evaluation. When one
there is some uncertainty, various techniques are used to reduce the risk of the
different alternatives. Each cycle of the spiral model ends with a review that discusses the achievements
current and plans for the next cycle
ADVANTAGES:
One of the great advantages it has over other models is that here the risk is considered, and
The risk is viewed in terms of failure. Modulation, deployment, communication is proposed.
the same stages work there.
Another big advantage is that it incorporates a prototype usage strategy as part of the management.
of the risk.
This model considers that the development of systems is a process of progressive changes.
through changes in requirement specifications
[Link] Model.
This model fits the life cycle of the process, where it supports the different activities.
where it involves several work teams for the development of software and is known
as a model of a type of network where people act simultaneously and is used for
client-server developments. "the client makes requests for programs and the server provides
response to these requirements
CHARACTERISTICS:
It can be expressed schematically.
The activities involve simultaneous processes.
It is applicable to all types of software development
It is a model applicable for client-server.
It is guided by the needs of the user.
ADVANTAGES:
Excellent for projects where workgroups are formed.
independent.
Provide the exact image of the current state of a product.
If the appropriate or specified conditions are not met, it is not applicable.
If there are no working groups, this method cannot be used.
[Link] process model
This model encompasses all the characteristics of the basic programming models.
it gathers the same functionalities as the previous models, these models tend to
applies when choosing a specialized or defined software engineering approach
very specifically
5.1. Component-Based Development:
The commercial components of general softwaredeveloped by sellers who the
they offer as products, provide a functionality that is pursued with well-designed interfaces
defined that allow the component to integrate into the software that is going to be built.
ADVANTAGES
Software reuse. It leads us to achieve a higher level of reuse of
software.
Simplify the tests. Allow the tests to be executed by testing each one.
of the components before testing the complete set of components
assembled.
Simplifies system maintenance. When there is weak coupling between
components, the developer is free to update and/or add components as
it is necessary, without affecting other parts of the system.
Higher quality. Since a component can be built and then improved.
continuously by an expert or organization, the quality of an application based
in components will improve over time.
The component-based development model incorporates the following stages:
Products are investigated and evaluated, depending on the type of application in question.
available based on components.
The aspects of integration of the components are considered.
A software architecture is designed to receive the components.
The components are integrated into the architecture.
Thorough tests are conducted to ensure proper functionality.
6. Formal methods model
This model relates to the mathematical representations of computation, such as its
the name indicates this model called formal methods is used to refer to
any activity related to mathematical representations of the software,
including the formal specification of systems, analysis and demonstration of the
specification, transformational development, and program verification. All of these
activities depend on a formal specification of the software.
The formal methods model groups activities that lead to specification.
formal mathematics of computer software. Formal methods allow for specification,
develop and verify a computer-based system through the use of a
rigorous mathematical notation.
ADVANTAGES
Communication with the client improves as there is a clear description and
concise user requirements.
The system mathematically ensures that it is correct according to the specifications.
Higher software quality regarding compliance with specifications.
Greater productivity
7. Development of object-oriented software
Define a mechanism that helps solve complementary problems of dispersed code.
or scattered and tangled code, we can define these two codes as
services invoked from the program and access services from the operation
program.
Provide a modular unit called aspect and a composition mechanism that allows
intermix common behavior modular units with other units
basic modules of the system.
Designing an aspect-based system requires understanding what should be included in the language.
base, what should be included within aspect languages and what should be shared between
both languages. The component language must provide the way to implement the
basic functionality and ensure that the programs written in that component language do not
interfere with the aspects.
BIBLIOGRAPHY.
Pressman, R. 2010. Software Engineering: A Practical Approach, 7th ed. Mexico: Mc
Graw.
Serna, E. 2010. Formal Methods and Software Engineering. 'Virtual University Journal'
"Catholic of the North". No. 30.
Yépez, S. 2010. Model of Orientation to Aspects. Online. PDF Format.
Conclusions
Models provide better software integration functionality. Furthermore, we can
to say that this leans more towards the software architecture adapting more to the
components.
What is the model, what stages does it have, where is it implemented, complement with others
authors.
A job with standards to submit, make a brochure
Foldable make a brochure 'What it is: advantages and the phases it has.'
In today's class at 7:00 PM, I will explain about models,
1. Elaborate a work with deeper research on each model from the book.
by Roger Pressman, numbers 2.3 and 2.4 with ICONTEC STANDARDS (in physical format)
2. A brochure must be designed explaining what it is, the phases it has and
advantages only of each model (physically)
3. MAXIMUM DELIVERY: Friday, March 02, 2018 class start time
On that same day, a QUIZ will be held about the models.