ROGER PRESSMAN METHODOLOGY
According to Roger Pressman, the methodological stages to be carried out
for the development of Information Systems, it is established as follows
manner
Stages or Phases:
Analysis
2. Design
3. Encoding
[Link]
5. Maintenance
Below is the description of these activities:
Stage I: Analysis of software requirements:
The requirements gathering process intensifies and focuses especially on
the software. Within the analysis process, it is essential that through a
collection of functional and non-functional requirements, the developer or
software developers fully understand the nature of the
Programs that must be built to develop the application, the function
required, behavior, performance and interconnection. [PRR98]. It is of utmost importance
importance that before starting to code the programs, there is a
complete and full understanding of the software requirements.
Pressman establishes that the task of requirements analysis is a process of
discovery, refinement, modeling, and specification. The detail is refined in the
software domain, and data requirements models are created, flow of
information and control, and operational behavior. Solutions are analyzed.
alternatives are assigned to different elements of the software. The analysis of
requirements allow the developer or developers to specify the function and the
software performance, indicates the software's interface with other elements of
system and establish the restrictions that the software must comply with.
The analysis of software requirements can be divided into five areas of
effort, which are:
1. Recognition of the problem. Recognize the basic elements of
problem as perceived by end users.
[Link] and [Link] all observable data objects
externally, evaluate the flow and content of the information, define and develop
all the functions of the software, understand the behavior of the software in the
context of events affecting the system.
3. Modeling. Create system models in order to better understand the flow
of data and control, the functional treatment and the operational behavior and the
content of the information.
4. Specification. Carry out the formal specification of the software.
5. Review. A final general check of the entire process.
Stage II: Design:
According to Pressman, software design is really a process of many
steps that are classified within oneself. In general, the activity of
design refers to the establishment of data structures, the architecture
software general, interface representations, and algorithms. The process of
design translates requirements into a software representation [PRR98].
The design is the first step in the development phase of any product or
engineering system. According to Pressman, the goal of design is
to produce a model or representation of an entity that is going to be built
subsequently [PRR98].
Design is the first of the three technical activities involved in a process.
of software engineering; these stages are design, coding, and testing.
Generally, the design phase produces a data design, a design
architectural, an interface design, and a procedural design [PRR98].
Data design essentially involves transforming the model of
information domain created during the analysis [PRR98]. In the design
architectural defines the relationships between the main elements
structural of the program [PRR98]. For a software-based tool
in the development and implementation of virtual environments this is an aspect
fundamental since in this design representation it is established the
modular structure of the software being developed.
The interface design describes how the software communicates with itself.
with the systems that operate with it, and with the operators that use it
[PRR98].
Stage III: Code Generation:
This activity consists of translating the design into a format readable by the
machine. Code generation refers to both the code generation part
the virtual environments, like the part in which behavior will be added to
these environments. For example, the programming language VRML 2.0 is a
3D modeling language in which drawing is done by generating code
formatting and markup programming to specify the characteristics of
object or objects that are added to a virtual world or environment. The
the behavior of virtual scenes, that is to say, their functionality, can be
build through some other programming language, like Java classes or
scripts specified in JavaScript. All these activities involve generating
code.
Stage IV: Tests:
Once the code has been generated, software testing begins or
system that has been developed. According to Pressman, the process of
testing focuses on the internal logical processes of the software, ensuring
that all the sentences have been verified, and in the external processes
functional, that is, the execution of tests for error detection
In the case of software, it is necessary to have
testing stages for both the functional part of the software, as well as for the
application part of it.
It is necessary to be able to test the software with real applications that can
evaluate the behavior of the software, in order to provide
feedback to the developers. It is extremely important that during
the development process does not lose contact with the stakeholders or
software development applicants, thus the objectives of
proyecto se mantendrán vigentes y se tendrá una idea clara de los aspectos
that they have to be tested during the testing period.
Stage V: Maintenance.
The software will undoubtedly undergo changes, and some adjustments will need to be made.
modifications to its functionality. It is of utmost importance that the software of
quality can adapt in order to align with changes in its environment
external [PRR98]. Through appropriate and timely documentation of
software can present the ways for maintenance and modifications
the same.
IMPORTANT ELEMENTS
Methodology considers at least four important elements:
1.- Guiding Principle:
Also known as "philosophy of methodology", it is the norm or idea
fundamental that governs thought or behavior, and guides analysis, design
and software development. It is the Principle that orders and structures the
tools that are applicable in the methodology, as well as the
Procedures with which it is applied. Traditionally, each is surnamed to
methodology based on the principle that governs it:
"Structured methodology" is based on the idea that the most important thing
an information system, are the structures that make it up and that,
therefore, the analysis should focus on them, breaking them down into
new substructures until there are elements so simple that they can be
to be solved in a simple way.
"Object-oriented methodology" indicates that the guiding principle is the
object-oriented, that is, the analysis of all components of
system as a set of objects that have properties and that,
through messages, they are interrelated with each other.
2.-Tools:
they are definitions of manual, semi-automatic, or automatic mechanisms
that allow to analyze, design or build the software. The tools remain
closely linked to the guiding principle of the methodology and it is very little
likely that the same tool can be used in more than one methodology
A tool must have a specific objective and a method of application.
In general, it has been shown that graphical tools (that use
images) are easier to use and understand than tools that only
They are based on written texts. Examples of tools include DFD, ERM,
Structured Language, Component Diagrams, Inheritance Diagrams,
etc.
3.-Procedures:
It refers to the way of doing things orderly; that is to say, how to put in
practice the tools. The procedures correspond to the definition that
allows to combine and organize the results of each tool and facilitates the
rational and timely software development. They define the sequence in which it
they apply the tools, the delivery of their results, the controls
that help ensure quality. They also coordinate and control changes and
they provide the guidelines that help administrators assess progress
of the project.
4.-Models:
The model defines the stages to be carried out to reach the solution to the problem.
proposed. The Models refer to the way of organizing the
Procedures to obtain quality results in the least
possible time. Unlike the Tools and the Procedures, the
models are relatively independent of the principle, being able to be applied without
great difficulties, any model to any methodology. Despite the
previously, the model must be clearly defined before starting the
software development. Examples of models are: Waterfall, Prototypes,
Spiral, T4G, RAD:
1. Cascade: Also referred to as "classic". Under this model, the
procedures of the methodology are organized in steps or stages, the
which should be followed under a sequential analysis approach,
design and development. Created from the conventional model of "line"
of production" of classical engineering, this model is the most applied
in software development.
2. Prototypes: Prototypes are models (not necessarily products)
of the software) that allow studying and testing specific aspects of
final product (in this case the software product). Under this model,
the application of different tools is planned, to produce
specific test elements (user interface, maintainers,
processes) that must be presented to the user and confirmed by
this. Alternatively, it has been referred to in this way, to the result of
rapid design of software products that allow understanding of
better way the user requirements. However, for
to prevent confusion, it is suggested that in those cases, the use of
the following denominations, as appropriate.
3. Spiral: The spiral model aims to optimize time and reduce
project uncertainty, thus, the idea is to start by producing a
small part of the system (but completely functional) and once
completed, we proceed to create a second part, attached to the
first, so that in each iteration, a version is obtained
augmented system. The process concludes when it is considered that the
the system has reached a level of maturity that allows for the
work for which it was created, is done without further ado
inconveniences.
4.T4GoRAD(D): T4G is the acronym for "4th Generation Techniques" and
RAD(D) is the acronym for "Rapid Application Development (and Deploy)" or
Rapid application development (and distribution). As a model, it
based on the existence of software tools that are characterized
like 'T4G' and 'RAD(D)', which allow the designer analyst
from a system, carry out a minimum analysis and design, translate it
quickly in application and presented it to the user for their study and
after approval or instructions for modification.
Currently, this is, with a high probability, the most used model by the
software developers; however, and probably at the same rate
of occurrence, it is called 'prototype model'.
EMPIRICAL EXPERIENCE
Experiencethat is acquired through work without using knowledge
theoretical or technical.