| By David Messinger | Article Rating: |
|
| September 15, 2005 09:00 AM EDT | Reads: |
14,773 |
The following example walks through an illustration on how to break down an application into components. The first step is to identify all of the logic in the application by employing use cases. Figure 2 displays all of the user cases for a user of the system.
We will focus on one specific example, the registration use case. After identifying the use case, an activity diagram is used to model the detailed business logic for the use case. You can view the activity diagram in the following graphic.
The last step is to use sequence diagrams to display the logical flow data for the activity diagram. These diagrams are used for validating and documenting analysis and design. The sequence diagram depicts the behavior of messages in chronological order by fine-grained functional area. In this sequence diagram we can see the functional responsibility layout.
As we saw in the previous example, the Registration data validation and e-mail confirmation logic can be further broken out into individual components since they may be used in several applications.
It is now the architect's responsibility to check to see if the component exists. If it does not, the architect must design the reusable component. Taking the case of the e-mail confirmation component, the architect will again lay out use cases and sequence diagrams. Dissecting an application should be no different than designing a small component. In this case, designing the e-mail confirmation component requires numerous sequence diagrams and it also contains several other components. Even in the sequence diagram for this smaller component, two other components immediately jump out - a generic data access component and the e-mail address validation logic. Each of these functional areas would be built as components as well. For more documentation and other information please view the component here (http://software.topcoder.com/catalog/ c_component.jsp?comp=10616127).
In conclusion, building components and properly architecting component-based solutions is not an easy task. Properly engineering a system for component reuse takes a significant amount of work in addition to building the components themselves. The best approach is to look to a third-party vendor for generic reusable components and internal developers to create the proprietary mission-critical services. This approach takes advantage of reduced component construction cost while at the same time allowing a company to benefit from the economy of scale that components provide.
Published September 15, 2005 Reads 14,773
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By David Messinger
David Messinger is director of Software Architecture and product manager of the TopCoder Component Catalog, and he oversees the software application and component process developed by TopCoder. David brings more than seven years of experience in software development and management to this position, including working at several Fortune 500 companies. David joined the TopCoder team in 2002.
- Kindle 2 vs Nook
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Infrastructure-as-a-Service Will Mature in 2010: Microsoft's David Chou
- Windows 7 – Microsoft’s First Step to the Cloud
- Cloud Expo and the End of Tech Recession
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Reality Check at the Cloud Computing Expo
- Visual Studio 2010 Is Cloud Friendly
- Fired SCO CEO Fires Back
- Kindle 2 vs Nook
- The Difference Between Web Hosting and Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- Wave on Ulitzer: Confessions of a Google Wave Fanboy
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Cloud Computing Best Practices
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Infrastructure-as-a-Service Will Mature in 2010: Microsoft's David Chou
- Eval JavaScript in a Global Context
- Windows 7 – Microsoft’s First Step to the Cloud
- Google Maps and ASP.NET
- Crystal Reports XI & How It Has Changed
- Converting VB6 to VB.NET, Part I
- Creating Controls for.NET Compact Framework in Visual Studio 2005
- Where Are RIA Technologies Headed in 2008?
- How to Write High-Performance C# Code
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Implementing Tab Navigation with ASP.NET 2.0
- i-Technology Photo Exclusive: Bill Gates & Steve Jobs In "Nerds"
- .NET Archives: Getting Reacquainted with the Father of C#
- i-Technology Viewpoint: "SOA Sucks"
- Programmatically Posting Data to ASP .NET Web Applications



























