Partitioning

Functional Partitioning Explanations
Use cases Use cases are created during the project initiation phase to describe the functionality that the clients require of the system.
Problem domain classes The resources are defined during the problem analysis phase. These resources describe the things the clients use and manipulate within the problem domain, regardless of whether clients use software to facilitate their use.
Interaction diagrams Interaction diagrams, including sequence and collaboration diagrams, were used during problem domain analysis to understand how the objects in the domain communicate with one another.
Select technologies The object interactions and the use cases determine the interface requirements by describing how the clients interact with the use cases and how the use cases interact with the resources within the system.
Isolate the user expectations The use cases describe each discrete piece of functionality that the clients require from the system
Organize use cases using cohesion and coupling Many of the use cases work together to support the use of a particular resource or set of resources. These related use cases are grouped to represent the features that should be used together in an application or subsystem.
Interact with users The users or clients provide the details of the use cases and the criteria for grouping them.
Transaction management Transactions are simply logic units of work that the clients require from the system or use the system to perform. Defining transactions is a process of evaluating and organizing the functionality of the system regardless of the technology used to implement the transaction management.
Data resources Information needed for allocation

Technological Partitioning Explanations
User interface elements The technology is used to create interfaces that satisfy the interface requirements, such as screens, devices, and printed output.
Communication layers When you divide the solution into application layers, such as the client application and the server application, these layers still need to communicate with one another.
Database selection Databases are required to implement persistence. The choice of database depends on how the clients intend to use the system.
Isolate programming issues Each technology choice may imply the use of different programming tools, languages, and techniques.
Partition software responsibilities Technological partitioning is the process of distributing the behavior of the software application to different components, such as the database, server, and client applications.
Implementation issues Technology decisions may require the assistance of skilled people who specialize in the use of particular technologies.
Interface design The domain functionality determines the interface requirements, but the technology provides options for the design of solutions to support the interface requirements.
Communication technologies The interface layers require communication mechanisms which are typically available in off-the-shelf products or standards.
Data persistence mechanisms Data persistence is an implementation choice regarding how to store information between sessions.

 
Any questions?
If you were unable to complete the exercise or have questions, please notify your tutor.

Discussion
Or check out the Discussion area--you may see a similar question posted there, and someone else may have answered it.
 

Copyright © DigitalThink, Inc. All Rights Reserved