Functional system 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 resources | 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 theobjects in the domain communicate with one another. |
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 groupedto 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. |
Interface requirements | The object interactions and the use cases determine the interface requirements by describing how the clients interact with the use casesand how the use cases interact with the resources within the system. |
Transaction definitions | Transactions are simply logic units of work that the clients require from the system or use the system to perform. Defining transactionsis a process of evaluating and organizing the functionality of the system regardless of the technology used to implement the transactionmanagement. |
Data resources | Information needed for allocation |
Technological system 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 system partitioning is the process of distributing the behavior of the software application to different components, such as the database, server, and client applications. |
Interact with implementation specialists | 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 products | 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. |