Design with UML
Package diagrams refer to general constructs commonly applied in grouping units together. Package diagrams eliminate the complexity found in conventional models (Dennis et al., 2015). Package diagrams normally show a number of packages only. Package diagrams have a dependency relationship. The dependency relationship is in such a way that when one package is altered in some way, the dependent package is also affected and thus needs modification. It is important to perform a verification and validation of the package diagrams. The package diagrams above were primarily based on the information provided regarding Advanced Business Systems (ABS).
An important step in the verification and validation process entails ensuring that the package diagrams reflect the problem domain highlighted in the case (Dennis et al., 2015). The appointment system depicted in the package diagram clearly fulfills this requirement. The packages used are client, contract manager, staffing database, ABS Placing Department, and the Confirmation Department. Another step in the verification and validation process involves ensuring a clear indication of the dependency relationships in the package diagram. Performing this step requires ensuring that there are clear associations depicted in the package diagram. For instance, the message-sending relationships should outline information flow.
|Class Name: Staffing||ID||TYPE: Concrete|
|Description: Employees who should provide services to an ABS client|
Receive staffing request
Hiring practices: Contract review
|Enter the request into contract database|
|Forward the request to the placing department||
|Review the terms and conditions of the contact
|Check job requirements and candidates’ qualifications||Placement|
|Notify the qualified candidate|
|Notify the recruiting department for outside Candidate|
|Aggregation: Employment history|
|Other Associations: Appointment|
CRC cards are important in providing information required to create a logical structure model of the particular problem under review. From the above example, each of the CRC card shows the essential elements contained in the class. CRC cards are important especially in highlighting the core properties in relation to a particular class. CRC cards are also necessary in role-playing (Bennett, McRobb, & Farmer, 2010). Over the years, analysts have used CRC cards for role-playing which helps in identification of important properties that may have been left out. Role-playing ensures that different scenarios are executed, which ensures that all missing elements are established. Role-playing is also significant in assessing the thoroughness of the presentation of the particular system.
There are a number of classes in the structure model. The structural model brings to light the static features of a particular system. The basic features entail package diagrams, deployment diagrams, classes diagrams, objects diagrams, component diagram, and the composite structure diagram. Structural models are important in that they represent the basic framework for all other components.
Method specification enables an analyst to describe in detail the particular classes and applicable methods. As such, method specification enables one to detail clearly the methods on the contracts, class diagram, and the CRC cards (Bennett, McRobb, & Farmer, 2010). Method specification often comprise of written documents that contain detailed information on how individuals should implement various methods (Dennis et al., 2015). For method specification to be successful, each of the team members must contribute in writing the specification. Method specification may take multiple formats, which depends on the type of organization. Generally, method specification entails the use of four components that highlight the information required. The four general components include message passing, algorithm specification, events, and general information.
|Method Name: EmployeeSelection||Class Name: SelectionDetails||ID: 1|
|Contract ID: 10|
Client places an order
|Order||New order placed by clients|
|Type of messages and arguments sent||Data type:||Notes|
|NewOrder||Order from client|
Review the validity of the request from client.
IF the request is not valid, send the staffing request back to the client=explain the reasons and request starting a new order.
IF the request is valid, contract manager puts the request into the staffing database.
THEN send the staffing request to ABS placement department.
THEN check the job requirements and the candidates’ qualifications.
IF there is a qualified candidate, candidate is notified and a note put in the database.
ELSE, notify contract managers and recruiting department.
Algorithm specifications are best written using Structured English. This makes it easy to describe the entire steps in a particular process (Dennis et al., 2015). Structured English describe the in a clear manner the type of work to be performed. Organizations may use different types of Structured English.
Bennett, S., McRobb, S., & Farmer, R. (2010). Object-oriented systems analysis and design: Using UML. Maidenhead, Berkshire: McGraw-Hill Higher Education.
Dennis, A., Wixom, B. H., Tegarden, D. P., & Seeman, E. (2015). System analysis & design: An object-oriented approach with UML. Hoboken, NJ: Wiley.