2 - Introduction To RUP - V5 PDF
2 - Introduction To RUP - V5 PDF
Professor:
Eval Bladimir Bacca Cortes Ph.D.
Research group:
Perception and Intelligent Systems
(P.S.I.)
Email:
[email protected]
Contents
1. Motivation
2. Software development
1. Requirement analysis
2. Diagram of concept
3. Real use cases
4. Sequence diagrams
5. Flow chart or class diagrams
6. Functional or integration tests
Rational Unified Process – RUP
Rational Unified Process – RUP
Rational Unified Process – RUP
• Problem:
– Different kind of users use a software process.
– Different teams design and implement the software process, then there are
different modeling languages.
– Most of software process use not defined process.
– Most of software process are not automatic.
Rational Unified Process – RUP
• Solution?
– R.U.P. Rational Unified Process
• RUP properties:
– It includes the best programming
practices in the modern software
development.
– It is an effective guide to use
UML.
– It provides to each development
team all tools needed to develop
software.
– It builds and maintains software
models
Rational Unified Process – RUP
Requirements Management
Change Control
• Requirement Management:
– To list, organize and document the software functionalities and
constraints.
• Iterative Development:
– Loop: Requirements, Design / Implementation, Tests and
Evaluation
Rational Unified Process – RUP
• Iterative Development
– It allows an incremental understanding of the software
process
– Handling short and reachable challenges are suitable for
getting results.
– It mainly saves time, since it allows discover software bugs
of previous phases.
Rational Unified Process – RUP
Requirements Management
Change Control
• Visual Modeling:
– Holding consistency between software design and implementation.
• Quality check:
– It creates test for each situation in order to ensure the
requirements fulfillment.
Rational Unified Process – RUP
Requirements Management
Change Control
• Component Architecture:
– The goal is assuming a software architecture for re-using software
components.
• Change Control:
– Strategies to control, supervise and register changes in the
iterative process of software development.
Rational Unified Process – RUP
• RUP phases:
• Elaboration: Project
planning, characteristics
specification and base
architecture.
• Construction: Iterative
software development.
• Study case:
HISTORIC REVIEW
Rev. Change Description Author Date
001 Document Construction Bladimir Bacca Cortes 2009-09-01
002 Corrections Bladimir Bacca Cortes 2009-11-25
003 Revision Bladimir Bacca Cortes 2010-03-06
1 E
2 E
3 E
4 E
Rational Unified Process – RUP
HISTORIC REVIEW
Rev. Change Description Author Date
001 Document Construction Bladimir Bacca Cortes 2009-09-01
002 Corrections Bladimir Bacca Cortes 2009-11-25
003 Revision Bladimir Bacca Cortes 2010-03-06
1 E
2 E
3 E
Rational Unified Process – Conceptual
Model
• Definition: It represents real world “things”, but it DOES NOT represent software
components. It DOES NOT define software operations.
• It shows: concepts, concepts associations and concepts attributes.
• Examples: physical objects, places, transactions, people roles, PCs, software,
organizations, institutions, events, process, manual, books, catalogues,
• Theory:
– Associations: Relationship between concepts pointing some interesting connection.
– Multiplicity: It defines how many instances of type A can be associated to type B at
some particular time.
Rational Unified Process – RUP
• Study case – Integration The module is able to sense the environment obstacles.
– Integration testing is a If any obstacle is found, it computes a new robot heading and it moves the mobile
robot to it.
quality assurance (QA) Type of Integration
Test
process and a type of Hardware The mobile robot perception and motion system.
black box testing that Needed
• They contain:
– Classes, associations and attributes
– Interfaces with their operations and constants.
– Methods
– Information about the attributes data types.
– Navigability.
– Dependencies.
HISTORIC REVIEW
Rev. Change Description Author Date
001 Document Construction Bladimir Bacca Cortes 2009-09-01
002 Corrections Bladimir Bacca Cortes 2009-11-25
003 Revision Bladimir Bacca Cortes 2010-03-06
1.3 Permitir la configuración del IP del servidor donde se encuentra Matlab instalado E
1.4 Todo comando de texto escrito en la consola debe ejecutarse remotamente en Matlab E
1.5 La respuesta del comando ejecutado debe ser visible por el usuario. E
RUP: Requirements Analysis
2.7 Modificar las características de la gráfica como título de los ejes y de la figura misma E
HISTORIC REVIEW
Rev. Change Description Author Date
001 Document Construction Bladimir Bacca Cortes 2009-09-01
002 Corrections Bladimir Bacca Cortes 2009-11-25
003 Revision Bladimir Bacca Cortes 2010-03-06
Software
3.0 Se utilizara Matlab para el procesamiento de los datos y comandos enviados por JMat E
2.0 Hardware
2.1 Se nenecita tener 89Mbytes como mínimo, en memoria RAM para ejecutar la aplicación E
RUP: Conceptual Model
• Guide for conceptual
models:
– To do a list of concepts. It
Limpia
could be helpful to group Guarda
Configura
Ejecuta
– Draw these concepts in a Envía
Maneja
conceptual model Gestiona Envía
considering how they Edita
interact. Grafica
Programa
– Adding associations Envía
Edita
between concepts
Transfiere Envía
• Relationships:
– Inheritance
– Bidirectional: this
means that both
classes are aware of
each.
– Unidirectional: two
classes are related, but
only one class knows
that the relationship
exists
RUP: Class Diagrams
• Relationships:
– Packages: Organizing
models into namespaces
– Interfaces
– Basic aggregation:
“Whole to its parts”, but
the classes entailed are
independent.
– Composition
aggregation: the child
class's instance lifecycle is
dependent on the parent
class's instance lifecycle
RUP: Functional Tests
Resultado Obtenido Prueba satisfactoria. A continuación se detalla la secuencia de los resultados mostrados en las imágenes:
• Los datos estipulados anteriormente se digitan en la consola de comandos de Matlab, ver figura (a).
• La gráfica de variables enteras es mostrada en la figura (b).
• La gráfica de arreglos de enteros es mostrado en la figura (c).
• La gráfica de arreglos de flotantes es mostrada en la figura (d).
• La gráfica de funciones matriciales en 2D es mostrada en la figura (e).
• La gráfica de imágenes en RGB es mostrada en la figura (f).
• La modificación del título de una gráfica es mostrado en la figura (g).
• La modificación de las etiquetas de los ejes es mostrado en la figura (h).
Comentarios Las pruebas funcionales reportadas aquí no solo verifican el buen funcionamiento de JMat – Cliente, sino de JMat – Servidor,
ya que sin éste último no sería posible obtener alguna respuesta de Matlab en relación a la sintaxis e idoneidad de los
comandos ejecutados.
RUP: Functional Tests
a)
b)
RUP: Functional Tests
d)
c)
RUP: Functional Tests
f)
e)
RUP: Functional Tests
h)
g)
Questions?