Subscribe by Email


Showing posts with label Refinement. Show all posts
Showing posts with label Refinement. Show all posts

Thursday, July 12, 2012

What are the characteristics of the unified process?


- Unified process is one of the most popular software development frame works based on the iterative and incremental approach.
- Unified process is a frame work that is extensible according to the needs of the software development project or according to the needs of the specific organizations. 
- The unified process signifies the generic processes that include elements that have been declared common for most of the refinements. 
- The unified process was first discussed in detail in a book called “the unified software development process” in the year of 1999. 
- Every process has got some characteristics and so does the unified process.

Characteristics of Unified Process



1. Iterative and Incremental Process: 
- There is no doubt believing that the unified process is an iterative and incremental one. 
- This is evident from the fact that the all the below mentioned 4 phases of the whole process are divided in to a set of time boxed iterations:
(a)  Inception
(b)  Elaboration
(c)  Construction and
(d)  Transition
- Depending up on the complexity and the size of the project, the inception phase may also be further divided in to a large number of small iterations to keep the over all development process as simple as possible. 
- The increments are the result of the individual iterations that are performed during the whole development process.
- These increments can be defined as a system containing improved and added functionalities that extend over those that were present in the previous version of the same software system or application.
- Mostly the iterations take care of the following aspects of the software:
       (a)  Requirements
       (b)  Testing
       (c)  Design implementation and so on.

2. Use case driven: 
- The unified process is rightly called the use case driven software development methodology since it is driven by the use cases that are quite effective in capturing the contents of the iterations and the functional requirements.
- Each iteration involves a number of use cases as well as scenarios for the proper identification of the requirements, their implementation, testing and deployment.

3. Risk Focused: 
- The unified process requires that the most critical risks in the whole development cycle are focused up on in the early stages of the life cycle of the process. 
- For addressing the factors with the highest risk rating, the deliverable of all the iterations especially in the second phase of the life cycle i.e., the elaboration phase are selected in a pre-defined order.

4. Architecture Centric: 
- It is obvious that the success of any software development process is greatly dependent on what kind of architecture is being used in it. 
- Architecture seems to work the very best at the heart of any software development process. - With the right architecture in the process, the efforts of the teams can shape the software system or application the way they want. 
- One problem is encountered here which is that only one model never suffices in providing coverage in a unified process, several models have to be conjoined and used. 
- It is one of the attractive features of the unified process that it supports multiple architectural views and models. 
- The elaboration phase witnesses the creation of an executable architecture baseline which can be called as an important deliverable. 


Wednesday, May 30, 2012

What is a Unified Process? What are key practices and guidelines for unified process?

What is Unified Process?
- Unified process is actually the short name for the USDP or the unified software development process.
- This software development process has recently emerged as a very popular incremental and iterative software development process frame work. 
- There are some methodologies defined under the category of the unified process and the one that is most commonly implemented and extensively documented in the rational unified process known as RUP in the abbreviated form. 
- The concept of the unified process is very vast and it cannot be merely called as only a process! Rather it can be thought of as an extensible frame work which is customizable according to the needs of the software project or the specific organizations. 
- Concluding from this, the rational unified process can also be called a customizable frame work. 


However the name “unified process” in quite opposing to the rational unified process generally marks the generic processes that include the elements that hold common for most of the refinements. 
In addition to this this name also avoids the potential issues of the trade mark infringement that arise since the RUP and the rational unified process are the trademarks of the IBM. 
The unified process was first mentioned and described in detail in a book by Ivar Jacobson, James Rumbaugh and Grady Booch called “the unified software development process” in the year of 1999.



Six Practices of Unified Process



The unified process deploys the following 6 key practices of software development:
  1. Development of the software in iterations: Increases understanding of the problem through successive refinements. An effective solution is achieved over several increments.
  2. Management of requirements: Involves elicitation, organization and documentation of the required constraints and functionalities, trade offs and so on.
  3. Implementation of component based architectures: A robust executable architecture is subjected to baselining first and then resources are deployed for full scale development. Promotes resiliency of the architecture.
  4. Visual modelling of the software: This practice helps capture the behaviour of the architectural components of the software system.
  5. Verification of the software quality: Poor reliability and poor performance are the factors that weigh down the quality of the software system or application. This practice reviews the software quality.  
  6. Controlling changes that are to be made in the software: This practice ensures that the changes to be incorporated are acceptable and won’t hamper the performance. 
Developers often want the answer for the question, "how do I know if I’m implementing the unified process properly?" There is no certain answer for this question but there are certain guidelines which if followed properly can keep the process on track:
  1. Figure out the major risks early and regularly or they will hamper the performance of your software system.
  2. Ensure the value that you are going to deliver to your customer.


Wednesday, May 23, 2012

What is meant by Rational Unified Process?


RUP or rational unified process - refinement of the unified process has been categorized among the most popular and commonly used iterative software development process frame works. The rational unified process has been a trade mark of the IBM Corporation since the year of 2003 when it was developed by the rational software corporation. 
The rational software corporation has long been recognized as a division of the IBM. 

What is a Rational Unified Process?


- Rational unified process as it sounds is an adaptable process frame work rather than being a single and concrete prescriptive process. 
- The rational unified process serves as a frame work that can be tailored according to the needs and objectives of the software development organizations and the project development teams who are responsible for the selection of the elements of the development process that fit their needs. 
You can call the rational unified process as a specific implementation of the unified process since it is absolutely right. 
Rational unified process is a kind of software process product which was acquired by the IBM from the rational software corporation. 
- The rational unified process forms a part of the IBM RMC (rational method composer) using which the whole development process can be customized. 

Based on the experience of the implementation of the RMC for various projects, the below mentioned 6 practices were declared as best practices for modern software engineering:
     1. Iterative development using risk as the primary iteration driver.
     2. Management of the requirements.
     3. Employment of an architecture based on components.
     4. Visual modelling of the software system or application.
     5. Continuous verification of the quality.
     6. Keeping the changes under the control.

Rational unified process contributes greatly in making improvements in the quality of the software system or application and in predicting the software development efforts.

Aspects of Rational Unified Process


The rational unified process is characterized by its following three aspects:
     1. It can be tailored according to the needs that will guide the development process.
     2. It is a tool that can be used for the automation of the whole development process.
     3. It is a service that serves for the accelerated adoption of all the processes and the tools involved.

Rational unified process was actually developed in the year of 1996. The year of 1997 saw the addition of the requirements and the test discipline to the rational unified process. In the year of 1998 again two new aspects were added to the process namely the business modelling and change. Apart from these, some techniques were also added that included:
     1. Performance testing
     2. UI design
     3. Data engineering

With all these techniques the rational unified process was updated to the UML 1.3. the rational unified process constitutes of some set of building blocks that describe the functionality which is to be produced. 
Below mentioned are the main building blocks:
     1. Roles
     2. Work products
     3.  Tasks

Nine disciplines governing the tasks have been defined:
     1. Deployment
     2. Implementation
     3. Requirements
     4. Business modelling
     5. Analysis and design
     6. Test
    In addition to these nine disciplines there are 3 additional disciplines:
    1. Environment
    2. Configuration management
    3. Project management
    
   Like the normal unified process, the rational unified process also consists of the 4 phases namely:
     1. Inception
     2. Elaboration
     3. Construction
     4. Transition

The RMC product has proved to be quite an effective tool for configuring, authoring, publishing and viewing processes with rational unified process incorporated in to it. The above mentioned 6 practices are now recognized as a paradigm in the field of software engineering for designing any software and increasing productivity. The development cycle is said to finish when the product release milestone is reached. 


Monday, May 21, 2012

What is a Unified Process? What are key characteristics and guidelines for unified process?


If you might have heard even a little about the unified process, you must be having a clue that it has something to do with the development of software system or methodologies. Yes! Certainly it has to do not a little but all with the software development, after all it is one of the most sought after software development frame work.
Well! This article is all about the unified process. Unified process is actually the short name for the USDP or the unified software development process.

What is a Unified Process?


- This software development process has recently emerged as a very popular incremental and iterative software development process frame work. 
- There are some methodologies defined under the category of the unified process and the one that is most commonly implemented and extensively documented is the rational unified process known as RUP in the abbreviated form.
- The concept of the unified process is so very vast that it cannot be merely called as only a process! Rather it can be thought of as an extensible frame work which is customizable according to the needs of the software project or the specific organizations. 
- Concluding from this, the rational unified process can also be called a customizable frame work.  
However, the name “unified process” is quite opposing to the rational unified process which generally marks the generic processes that include the elements that hold common for most of the refinements. 
- In addition, this name also avoids the potential issues of the trade mark infringement that arise since the unified process and the rational unified process are the trademarks of the IBM. 
- The unified process was first mentioned and described in detail in a book by Ivar Jacobson, James Rumbaugh and Grady Booch called “the unified software development process” in the year of 1999. 

Characteristics of Unified Process


This process is marked by some special characteristics that we have discussed below:
1. Iterative and incremental process: All the 4 phases of the unified process namely:
(a)    Inception
(b)   Elaboration
(c)   Construction and
(d)   Transition have been divided in to a frames or sets of time boxed iterations.
The inception phase is quite large and may be further divided into small iterations for large projects. Increments are the results of the iterations which in turn are responsible for improving the functionality of the software system or application as compared to what it had in the previous release. The emphasis and the effort of the iterations changes in due course during the development process though most of the process disciplines are focused like those mentioned below are focused on requirements, design, implementation and testing.

   2. Use case driven: The whole process is driven by the use cases whose work is to capture functional requirements and the definitions of the content of all the iterations.
    3. Architecture Centric: Architecture lies at the heart of the whole unified process and shapes the development of the whole system. Till now no such model has been developed that will cover all the aspects of the system and so multiple architectural models are implemented.
    4. Risk Focused: The unified process does not leave out any critical risks and they are discovered early in the development cycle. 


Tuesday, April 12, 2011

What is Design Engineering? What are different design concepts?

Design engineering focuses on the creation of a representation or model that are concentrated on architecture of the software, data structures, interfaces and components that are necessary to implement the software.

The design process is an iterative process of refinement, i.e.from a higher level of abstraction to lower levels of abstraction. The design should implement both explicit and implicit requirements. It should be readable and understandable. It provides an over-all illustration of the software from the perspective of the data, function and behavior.

Design concepts provides the software engineer a foundation from which design methods can be applied. These concepts include:
- Abstractions: Software engineers different levels of abstractions as we design the blueprint of the software. Two types of abstraction called data and procedural abstractions are defined.
- Modularity: It leads to information hiding and encourages functional independence.
- Coupling: It is the degree of interconnectedness between design objects. Two types of coupling are used: Interaction and Inheritance Coupling.
- Cohesion: It is the measure to which an element contributes to a single purpose.
- Refinement: Abstraction complements refinement as they enable a software engineer to specify the behavior and data of a class or module yet suppressing low levels of detail.
- Refactoring: It simplifies the design of the component without changing its function and behavior.

The work product of the design engineering phase is the design model which consists of the architectural design, data design, interface design and component-level design and deployment level design.


Facebook activity