Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Improved application development: Part 1, Translating requirements into an application model

Martin C. Brown, a Studio B author, is a former IT Director with experience in cross-platform integration. A keen developer he has produced dynamic sites for blue-chip customers, including HP and Oracle and is the Technical Director of Foodware.net. Now a freelance writer and consultant, MC, as he is better known, works closely with Microsoft as an SME, is the LAMP Technologies Editor for LinuxWorld magazine, a core member of the AnswerSquad.com team and has written a number of books on topics as diverse as Microsoft Certification, iMacs and open source programming. Despite his best attempts, he remains a regular and voracious programmer on many platforms and numerous environments. MC can be contacted at questions@mcslp.com, or through this Web site at http://www.mcslp.com.

Summary:  Developing applications using the Rational Unified Process is a lot easier if you have the right tools to help you throughout the entire process. The Rational Toolset provides a range of tools that can be employed to help produce the application in different phases of the development process. On their own, these tools provide excellent support for each phase of the Rational discipline. But when used together the tools are even more powerful. By sharing the information you can track components in the application from their original requirement specification through to testing and release. In this first part of a five part series you'll learn about the integration between RequisitePro and Rational XDE.

View more content in this series

Date:  16 Aug 2004
Level:  Introductory PDF:  A4 and Letter (1661 KB | 52 pages)Get Adobe® Reader®

Activity:  5451 views
Comments:  

Develop apps using Rational integrated tools

Application development process

Building applications is a long and difficult process, often made even more difficult through the complexities of actually managing the development process itself. Collating requirements, building a suitable model, writing and extending the code and testing the product are stages that all software goes through. Once you've started to test and deploy your application, change requests and defect tracking add to this complexity. You'll start to need more in-depth management systems to track a defect from its origin during testing, to the source of the problem in the model, and maybe even the original requirements.

Ignoring the Rational approach, just for a second, it's possible to model the development process like Figure 1.

Figure 1: A basic development model
basic development model

If you look at this diagram, the inception of a new project starts with the definition of the Requirements. Once the requirements are sorted you can develop a specification of the project, followed by the development of the actual code and application. You can go through a series of testing, repeating the development cycle in event of a bug, before finally releasing the software. Once the software has been released, you need to track any bugs, which should eventually feed back into the requirements for the next release of the same project, at which point the whole process starts all over again.

The Rational Unified Process applies a similar, simple model to the development process. Let's have a look at the Rational model, and then how you apply the Rational tools to the process.


Developing with the Rational Unified Process

Developing applications using the Rational Unified Process centers around the same basic principles outlined in the previously, but applies four main features to the process:

  • Iterative and incremental development -- rather than designing the entire application, then writing the code, then testing, go through a series of iterations within each following the same sequence, but only developing part of the application each time.
  • Object oriented -- makes the code easier to build and reuse, and promotes the creation of small, flexible components that can be bonded together to create larger applications.
  • Manage and control -- create logs and a traceable sequence that enable you to trace features from the original requirement to the component in the application.

The process can work in a completely manual fashion. However, the process also lends itself to being automated. This is the role of the Rational Suite - providing a range of tools and applications to simplify and automate the process. Using these tools also simplifies the process for the teams and individuals working in your development department to develop applications quickly and easily, while following the previous three features.

The result is a development cycle that looks like the one shown in Figure 2.

Figure 2: The Rational Unified Process Model
Rational Unified Process Model

Figure 2 follows the same basic sequence as described previously. Start with the inception of the project, defining the features and requirements, the elaboration that expands the requirements and defines the model, the construction that builds the model and generates code and finally the transition where you start to track defects.

The automation of the process relies on a number of Rational applications. In the next section you'll see where in the process these tools fit into the equation.


Developing with the Rational Toolset

Rational software includes a variety of tools that enable you to develop an application using the principles of the Rational Unified Process (RUP). You can attach specific tools to different parts of the process according to Figure 3.

Figure 3: Attaching Rational Tools to the Rational Unified Process
Attaching Rational Tools

In more detail, the packages mentioned in figure 3 cover the following tasks:

  • RequisitePro -- Requirements Management, using a design such that requirements can be updated either directly or through Microsoft Word. You can change requirements by simply editing the content of a document, and you can update, track and merge requirements through the tool.
  • Rational XDE -- Application modeling, using UML and the model driven architecture. Using Rational XDE, it's possible to, manually, turn the requirements from RequisitePro into a model within XDE, and then build the corresponding classes and code that can be used to build the application.
  • WebSphere Studio Application Developer (WSAD) -- Application development. This integrates directly with the Rational XDE to enable you to customize and extend the functionality of your application, based on the model, and ultimately the requirements, which you developed in the first phase.
  • ClearCase -- Configuration Management of your code base and models. WSAD and XDE can interface with ClearCase to provide management across the whole development process for your entire team.
  • ClearQuest -- Defect Tracking and activity management. The defect tracking allows you to trace and track errors back to their original location. Activity management enables you to track the activity on different components of your development include code, models and other information. ClearQuest integrates with the other applications so that you can track defects and activity across components, requirements and follow the information from component to component.
  • PurifyPlus -- Runtime Analysis of your application to monitor its use of memory. Memory leaks and problems are one of the most common faults in applications -- barring typographical errors and bad programming, which should be eliminated through the testing and methodologies applied when using the Rational toolset. This integrates with WSAD to provide information on the elements of your application that are causing problems.
  • Functional Tester -- Function-based testing of an application to ensure that the application achieves its original goal. This integrates with WSAD and other tools to identify and track problems and their resolution.
  • Team Unifying Platform (TUP) -- is a collection of the core tools (RequisitePro, ClearCase, ClearQuest, TestManager) and a new tool called ProjectConsole. ProjectConsole aggregates status and metrics information from all of the tools, including Rational XDE and others, and provides a central location for the viewing and dissemination of status information within across a development team.

The primary purpose of this series is to look at the integration of these different components when building an application and how the integration can simplify the process of developing applications. We'll also take the opportunity to look at how the tools can be used by teams to develop applications across a department, entire company or enterprise.


The Auction application

The IBM Online Auction sample is used throughout this series as an example application. The Auction system is included as the sample application with WebSphere Studio Application Developer. The best way to get the system is to install a copy of WSAD and then follow the built-in help and instructions to create a WebSphere project based on the Auction code. You can also download a training video for building the system from the IBM Web site. See Prerequisites for more information.

Because the auction application is one you might be familiar with from using WebSphere Studio Application Developer, you can concentrate less on the code for the application and more on the integration of the different tools you'll be using in this tutorial. For that reason, on occasion, you might look at an alternative example to demonstrate a particular piece of functionality, although the overall aim is to document the process of building the Online Auction system.

For those not familiar with the application, the Online Auction is a Web application that employs J2EE technology using Java beans, JDBC, HTML, JavaScript, JSP pages and other components. The result is an auction system that is functionally very similar to Ebay, Yahoo, Amazon and other auction sites and systems. Users can place items for sale and other users can bid for the items and eventually win and pay for them.

2 of 10 | Previous | Next

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=134777
TutorialTitle=Improved application development: Part 1, Translating requirements into an application model
publish-date=08162004
author1-email=questions@mcslp.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.