550 likes | 709 Views
Aplicaciones de Ingeniería de Software. Proceso Racional Unificado (RUP). MoProSoft vs RUP (Procesos). Qué?. Cómo?. Operación. Realización de la Fase de Inicio. Realización de la Fase de Requerimientos. Realización de la Fase de Análisis y Diseño. Desarrollo y Manto. SW.
E N D
Aplicaciones de Ingeniería de Software Proceso Racional Unificado (RUP)
MoProSoft vs RUP (Procesos) Qué? Cómo? Operación Realización de la Fase de Inicio Realización de la Fase de Requerimientos Realización de la Fase de Análisis y Diseño Desarrollo y Manto. SW Realización de la Fase de Construcción Realización de la Fase de Integración y Pruebas Realización de la Fase de Cierre Admón de Proy. Específicos
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
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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
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.
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.
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
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.
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.
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)
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
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)
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
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.
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
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.
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.
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.
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.
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.
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.