|
|
|
|
|
Rational Unified ProcessThe Rational Unified Process is an iterative software design method created by the Rational Software Corporation, now a division of IBM. It describes how to deploy software effectively using commercially proven techniques. It is not a process but a process framework or meta-model. It encompasses a large number of different activities, and is designed to be tailored, in the sense of selecting only the needed features suited for a particular software project, considering its size and type. It is recognized to be particularly applicable to larger software development teams working on large projects. The writers or developers of this Software engineering Process focused on diagnosing the characteristics of different software projects that failed; by doing this they tried to recognize what the common aspects were that made these software projects to fail. They also looked at the existing software engineering Processes and their solutions for these symptoms that caused the failure of these projects. The symptoms are: - Ad hoc requirements management
- Ambiguous and imprecise communication
- Brittle architecture
- Overwhelming complexity
- Undetected inconsistencies in requirements, designs, and implementations
- Insufficient testing
- Subjective assessment of project status
- Failure to attack risks
- Uncontrolled change propagation
- Insufficient automation
What seems to be the case is that project failure is caused by combination of several of these symptoms even though each project fails in a unique way. Thus, the outcome was a Software best practice that attacks the basic causes of software failure. The paragraphs below describe these six best practices. Knowing the problems that cause software project failures does not guarantee a software engineer to develop a successful software product. The software engineer knows the problem but he/she does not know the solution to overcome this problem. To give the software engineers and software project managers the solutions to these problems The Rational Unified Process Product have been developed. (Please note: this article has been abstracted from RUP as defined by the Rational Corporation, which is responsible for its development. It also attempts to be concise, outlining the reasoning behind the RUP as opposed to the specific methodologies used) Alternate approaches within the field of software engineering include: Develop software iteratively Given the time it takes to develop large sophisticated software systems it is not possible to define the problem and build the solution in a single step. Requirements will often change throughout a project's development, due to architectural constraints, customer's needs or a greater understanding of the original problem. Iteration allows greater understanding of a project through successive refinements and addresses a project's highest risk items as the highest priority task - at every stage of iteration. Ideally each iteration ends up with an executable release – this helps reduce a project's risk profile, allows greater customer feedback and helps developers stay focused. RUP should be used for large and complex software Manage requirements A documentation framework is essential for any large project; hence RUP describes how to document functionality, constraints, design decisions and business requirements. Use Cases and Scenarios are examples of artifacts prescribed by the process and have been found to be very effective at both capturing functional requirements and providing coherent threads throughout the development and deployment of the system. Use component based architecture Component Based Architecture creates a system that is easily extensible, promotes software reuse and intuitively understandable. A component often relates to an object in Object-oriented programming. The RUP provides a systematic way to build this kind of system, focusing on producing an early executable architecture before committing full scale resources on a project. These components are often assembled within existing infrastructures such as CORBA and COM, or J2EE. Visually model software Abstracting your programming from its code and representing it using graphical building blocks is an effective way to get an overall picture of a solution. This makes it easier for technical staff on a project to figure out how best to implement a given set of inter-related logics, and also builds an intermediary between the business process and actual code making it happen through information technology. Unified Modelling Language (UML) is the industry standard way of representing projects and is hence usually used by the Rational Unified Process. Verify software quality Quality Assessment is the most common failing point of all software projects, often an afterthought in such projects and even handled by a different team. The RUP assists in planning quality control and assessment built into the entire process involving all members of a team. Control changes to software In all software projects change is inevitable, the RUP defines methods to control, track and monitor changes. As a seemingly small change can affect applications in entirely unpredictable ways this is essential for a successful project. The RUP also defines secure workspaces allowing a programmer to be guaranteed that changes in another system will not affect his system. This ties in heavily with Component based architectures. So far these guidelines are general, to be adhered to throughout a project's lifecycle. To capture the time dimension of a project the RUP divides a project into four distinct phases: - Inception
- Elaboration
- Construction
- Transition
See also External links
|
 |
|
| Copyright 2005-2009 OnPedia.com. All Rights Reserved |
|
|