Throughout this chapter, I will use the following partial requirements description of a very small part of the project management system under development as the case study for this book:
A project manager uses the project management system to manage a project. The project manager leads a team to execute the project within the project's start and end dates. Once a project is created in the project management system, a manager may initiate and later terminate the project due to its completion or for some other reason.
As input, a project uses requirements. As output, a project produces a system (or part of a system). The requirements and system are work products: things that are created, used, updated, and elaborated throughout a project. Every work product has a description, is of some percent complete throughout the effort, and may be validated. However, validation is dependent on the type of work product. For example, the requirements are validated with users in workshops, and the system is validated by being tested against the requirements. Furthermore, requirements may be published using various types of media, including on an intranet or on paper, and systems may be deployed onto specific platforms.
The project management system must be able to handle the following scenario. Si, who is a manager, manages three projects, named Eagle, Falcon, and Hawk. All projects involve anonymous or unnamed teams. The Eagle project is producing a project management system, similar to the one being described. The Falcon project is using the Java platform to produce another type of system, which is targeted for the broad market. The Hawk project is using the Microsoft .NET platform to produce a system similar to the Falcon project, but one that has additional organization-specific requirements. Therefore, the Falcon and Hawk projects share some common requirements, while the Hawk project has additional organization-specific requirements.
When creating a project, a project manager uses a user interface to enter his contact information (at minimum, a name and phone number), the project's name, the start and end dates, a description of the requirements and the system, and a description of the team. Once the required information is provided, the system appropriately processes the request by storing the information and confirming completion. Initially, the project is inactive. It becomes active when human resources are assigned to the project, may become inactive again if human resources are unassigned from the project, and is removed from the system once it is completed.
For auditing and security purposes, the project management system has two parts, a user interface and database. The database of the project management system executes on a central server. The user interface of the project management system executes on a desktop client computer, has access to a printer, and uses the database to store project-related information.
This description provides significant detail; however, it does not provide all the detail concerning the project management system. By using the UML throughout this chapter, we should be able to better understand this description, and by using a process, we may be able to inquire about missing information to develop the system.