55
Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

  • View
    230

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Aplicaciones de Ingeniería de Software

Proceso Racional Unificado (RUP)

Page 2: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

MoProSoft vs RUP (Procesos)

Realización de la Fase de Inicio

Realización de la Fase de Requerimientos

Realización de la Fase de Cierre

Realización de la Fase de Análisis y Diseño

Realización de la Fase de Construcción

Realización de la Fase de Integración y

Pruebas

Cómo?Qué?

Admón de Proy. Específicos

Operación

Desa

rrollo

y M

an

to.

SW

Page 3: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

MoProSoft vs RUP (Roles)

RAPE Responsable de Administración del Proyecto Específico

Project managerConfiguration managerChange control manager

RDM Responsable de Desarrollo y Mantenimiento de Software

Project manager (Team Leader)

AN Analista Analyst

DU Diseñador de Interfaz de Usuario

User-interface designer

Page 4: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

MoProSoft vs RUP (Roles)

DI Diseñador Database designerSoftware architect

PR Programador Developer (Implementer)Code Reviewer (Leader)

RPU Responsable de Pruebas Tester DesignerTester

Page 5: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Analyst

The Analyst role set organizes those roles primarily involved in eliciting and investigating requirements. System Analyst Business Designer Business-Model Reviewer Business-Process Analyst Requirements Reviewer Requirements Specifier Test Analyst User-Interface Designer

Page 6: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

System Analyst

Page 7: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

System Analyst

The system analyst role leads and coordinates requirements elicitation and use-case modeling by outlining the system's functionality and delimiting the system; for example, establishing what actors and use cases exist, and how they interact.

Page 8: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

System Analyst

A person acting as system analyst is a good facilitator and has above-average communication skills. Knowledge of the business and technology domains is essential to have amongst those acting in this role.

Page 9: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Business-Process Analyst

Page 10: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Business-Process Analyst

The business-process analyst leads and coordinates business use-case modeling by outlining and delimiting the organization being modeled; for example, establishing what business actors and business use cases exist and how they interact.

The business process analyst is responsible for the business architecture.

He/she is shown below as responsible for Artifact: Business Object Model because of this overall architectural responsibility, even though Role: Business Designer creates and maintains it.

Page 11: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Business-Process Analyst

A person acting as business-process analyst must be a good facilitator and have excellent communication skills. Knowledge of the business domain is essential to have for those acting in this role, however, it's not necessary for everyone. A business-process analyst is prepared to: Assess the situation of the target organization where the project's

end-product will be deployed.  Understand customer and user requirements, their strategies,

and their goals.  Facilitate modeling of the target organization.  Discuss and facilitate a business engineering effort, if needed.  Perform a cost/benefit analysis for any suggested changes in the

target organization.  Discuss and support those who market and sell the end-product

of the project. 

Page 12: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

 User-Interface Designer

Page 13: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

User-Interface Designer

The user-interface designer leads and coordinates the prototyping and design of the user interface, by: capturing requirements on the user interface, including

usability requirements building user-interface prototypes involving other stakeholders of the user interface, such as

end-users, in usability reviews and use testing sessions reviewing and providing the appropriate feedback on the

final implementation of the user interface, as created by other developers; that is, designers and implementers.

Page 14: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Requirements Specifier

Page 15: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Requirements Specifier

The requirements specifier role details the specification of a part of the system's functionality by describing the Requirements aspect of one or several use cases and other supporting software requirements.

The requirements specifier may also be responsible for a use-case package, and maintains the integrity of that package.

It is recommended that the requirements specifier responsible for a use-case package is also responsible for its contained use cases and actors.

Page 16: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Developer

The Developer role set organizes those roles primarily involved in designing and developing software. Capsule Designer Code Reviewer Database Designer Implementer Integrator Software Architect Architecture Reviewer Design Reviewer Designer Test Designer

Page 17: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Code Reviewer

Page 18: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Code Reviewer

The code reviewer role ensures the quality of the source code, and plans and conducts source code reviews. The code reviewer is responsible for any review feedback that recommends necessary rework.

Page 19: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Code Reviewer

Skill requirements for this role are similar to those for Role: Implementer; people playing this role are often considered experts in the programming language used for the code being reviewed.

As with any reviewer role, individuals playing the Code Reviewer role also need management skills for planning and conducting the reviews.

In most projects, this role is staffed using senior programmers from the implementation team.

Page 20: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Database Designer

Page 21: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Database Designer

The database designer role defines the tables, indexes, views, constraints, triggers, stored procedures, tablespaces or storage parameters, and other database-specific constructs needed to store, retrieve, and delete persistent objects.

Page 22: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Database Designer

The database designer must have a solid working knowledge of the following: Database and Object-Oriented Analysis and

Design techniques System Architecture, including Database and

System performance tuning, as well as hardware and network workload balancing

Database Administration an understanding of the implementation language and environment

Page 23: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Implementer (Programmer)

Page 24: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Implementer (Programmer)

The implementer role is responsible for developing and testing components, in accordance with the project’s adopted standards, for integration into larger subsystems. When test components, such as drivers or stubs, must be created to support testing, the implementer is also responsible for developing and testing the test components and corresponding subsystems.

Page 25: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Implementer (Programmer) - Skills The appropriate skills and knowledge for the

implementer include: knowledge of the system or application under test familiarity with testing and test automation tools programming skills Recommend that the implementer role that's

responsible for an implementation subsystem is also responsible for its contained components.

Page 26: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Integrator

Page 27: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Integrator

Implementers deliver their tested components into an integration workspace, whereas integrators combine them to produce a build.

An integrator is also responsible for planning the integration, which takes place at the subsystem and system levels, with each having a separate integration workspace.

Tested components are delivered from an implementer's private development workspace into a subsystem integration workspace, whereas integrated implementation subsystems are delivered from the subsystem integration workspace into the system integration workspace

Page 28: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Integrator

It may sometimes be appropriate for an individual acting as an integrator to also act as a:

For example, if the project is small or the Role: Tester integration is at the subsystem level, it may be an effective use of resources to have the integrator and tester be the same team member. Indeed, for subsystem-level integration and test, a single individual might play the role of implementer, integrator, and tester. At the system level, however, we recommend that integration and testing are performed by an independent team.

Page 29: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Software Architect

Page 30: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Software Architect

The software architect role leads and coordinates technical activities and artifacts throughout the project.

T he software architect establishes the overall structure for each architectural view: the decomposition of the view, the grouping of elements, and the interfaces between these major groupings.

Therefore, in contrast to the other roles, the software architect's view is one of breadth as opposed to one of depth.

Page 31: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Software Architect

The software architect must be well-rounded, posses maturity, vision, and a depth of experience that allows for grasping issues quickly and making educated, critical judgment in the absence of complete information. More specifically, the software architect, or members of the architecture team, must combine these skills: Experience Leadership Communication Goal orientation and Pro activity

Page 32: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Designer A person acting as business designer needs to be a

good facilitator and have adequate communication skills. Knowledge of the business domain is helpful, but not necessary for everyone acting in this role. The business designer needs to be familiar with tools used to capture the business models.

A business-process analyst is prepared to: Understand customer and user requirements, their

strategies, and their goals.  Facilitate modeling of the target organization.  Discuss and facilitate a business engineering effort, if

needed.  Take part in defining requirements on the end-product

of the project. 

Page 33: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Test Designer

Page 34: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Test Designer

El Diseñador de pruebas es el responsable de definir los métodos de prueba y asegurarse del éxito de su implementación. Debe identificar las técnicas apropiadas, herramientas y guías para implementar las pruebas requeridas, y brindar dirección en los requisitos correspondientes al esfuerzo de las pruebas.

Page 35: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Test Designer

The appropriate skills and knowledge for the Test Designer role include: experience in a variety of testing efforts diagnostic and problem solving skills broad knowledge of hardware and software installation and

setup experience and success with the use of test automation

tools programming skills (preferable) programming team lead and software design skills (highly

desirable) indepth knowledge of the system or application-under-test

(desirable)

Page 36: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Tester

Page 37: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Tester

The Tester role is responsible for the core activities of the test effort, which involves conducting the necessary tests and logging the outcomes of that testing. This covers: Identifying the most appropriate implementation

approach for a given test Implementing individual tests Setting up and executing the tests Logging outcomes and verifying test execution Analyzing and recovering from execution errors

Page 38: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Tester

The knowledge and skill sets may vary depending on the types of tests being executed and the phases of the project lifecycle, however in general, staff filling the Tester role should have the following skills: knowledge of testing approaches and techniques diagnostic and problem-solving skills knowledge of the system or application being tested

(desirable) knowledge of networking and system architecture

(desirable)

Page 39: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Tester

Where automated testing is required, these skills should be considered in addition to those already noted above: training in the appropriate use of test automation

tools experience using test automation tools programming skills debugging and diagnostic skills

Page 40: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Project Manager

Page 41: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Project Manager

The project manager role allocates resources, shapes priorities, coordinates interactions with customers and users, and generally keeps the project team focused on the right goal. The project manager also establishes a set of practices that ensure the integrity and quality of project artifacts.

Page 42: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Project Manager

The skills and experience needed to fulfill the Project Manager role will depend on the size, and technical and management complexity of the project, but in varying degrees, to play the Project Manager role as defined by the Rational Unified Process, you must: be experienced in the domain of the application, and in

software development have risk analysis and management, estimation,

planning and decision analysis skills have presentation and communication and negotiation

skills show leadership and team building capabilities

Page 43: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Project Manager

have good time management and triage skills, and a history of making sound decisions quickly under stress

have good interpersonal skills and show sound judgment in staff selection

be objective in setting and assessing work, ensuring team buy-in share the architectural vision, but be pragmatic in the scoping and implementation of plans, and scrupulously honest in the assessment of outcomes

be focused on the delivery of customer value, in the form of executing software that meets (or exceeds) the customer's needs.

Page 44: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Change Control Manager

Page 45: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

The change control manager role oversees the change control process. This role is usually played by a Configuration (or Change) Control Board (CCB) and consists of representatives from all interested parties, including customers, developers, and users. In a small project, a single team member, such as the project manager or software architect, may play this role.

The change control manager is also responsible for defining the Change Request Management Process, which is documented in the CM Plan.

Page 46: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

The change control manager should understand configuration management principles.  He/she should be skilled in estimating cost and schedule impacts of change requests.

He/she should be able to communicate effectively in order to negotiate scope changes and in order to determine how each change request should be handled and by whom.

Page 47: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Configuration Manager

Page 48: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Configuration Manager

The configuration manager provides the overall Configuration Management (CM) infrastructure and environment to the product development team.

The CM function supports the product development activity so that developers and integrators have appropriate workspaces to build and test their work, and so that all artifacts are available for inclusion in the deployment unit as required.

Page 49: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Configuration Manager

The configuration manager also has to ensure that the CM environment facilitates product review, and change and defect tracking activities. The configuration manager is also responsible for writing the CM Plan and reporting progress statistics based on change requests.

Page 50: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Configuration Manager

The configuration manager should understand configuration management principles, and preferably have experience or training in the use of Configuration Management tools.  A good configuration manager pays attention to detail.  He/she should be assertive, in order to ensure that developers do not bypass configuration management policies and procedures.

Page 51: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Artifacts Are either final or intermediate work

products that are produced and used during a project. Artifacts are used to capture and convey project information. An artifact can be any of the following: A document, such as Business Case or

Software Architecture Document A model, such as the Use-Case Model or the

Design Model A model element; that is, an element within a

model, such as a class, or a subsystem

Page 52: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Artifacts Sets

Deployment Set

Project Management Set

Configuration & Change Management Set

Environment Set

Business Modeling Set

Requirements Set

Analysis & Design Set

Implementation Set

Test Set

Page 53: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Artifacts

Page 54: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Artifacts

Are either final or intermediate work products that are produced and used during a project. An artifact can be any of the following: A document, such as Business Case or Software

Architecture Document A model, such as the Use-Case Model or the

Design Model A model element; that is, an element within a

model, such as a class, or a subsystem

Page 55: Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)

Referencias

El Proceso Unificado de Desarrollo de Software, Ivar Jacobson, Grady Booch, James Rumbaugh

RUP 2001 UML y Patrones, Craig Larman