An analysis class diagram is a system modelling tool that aids in the modelling of the static structure of a given system (Buede and Miller, 2016). Class diagrams play a critical role in system analysis and design, as they help in decomposing a design problem into understandable units; by representing classes that makes up a system, operations of the classes, attributes , objects and there inter-relationships (Buede and Miller, 2016). Analysis Class Diagrams helps a system analyst in exploring the domain concepts and analyze requirements of a system.
Analysis Class Diagram
Summary of the decisions made whilst drawing the diagram
While drawing the analysis class diagram, the biggest handle was whether to include the SystemUI class, which models the boundary between the users and the system. The decision to include SystemUI was arrived after considering the importance of having a boundary object. The obvious entities from the given use case description were; Tour, Driver and Tour Leader. As such I had to make a decision on what control object to include. The inclusion of the System class was therefore necessitated by the need to have a control object. The decision to include a relationship between a Tour and a Driver was motivated by the fact that one Tour could have more than one driver assigned to it. As such, the relationship needed some attributes. We assume that a Tour Leader has an attribute name, although only code is mentioned.
A communication diagram models the interaction between parts or objects of a given system. The interaction is represented by use of sequenced messages that follows no particular order of flow (Dennis and Wixom, 2015). Communication diagrams helps model implied relationships between classes of the system being designed (Dennis and Wixom, 2015).
Decisions made whilst drawing the communication diagram
To come up with the communication diagram, I had to decide on how to translate the flow of the use case description into interaction between the various entities of the system. The decision to include the five objects in the communication diagram was motivated by the fact that the five objects are the main constituents of this system. The communication between the objects was modeled according to the steps identified that facilitates the accomplishment of the functions of the system.
A secure diagram models a sequenced and ordered interaction between objects. It is almost similar to a communication diagram, except that a sequence diagram arranges the communication with a time sequence of the interaction (Abrahao,Gravino,Insfran,Scanniello and Tortora, 2013). The diagram represents the interaction in a time sequenced order. It includes classes and objects involves in the interaction and the sequence of message exchanges between them.
Decisions made whilst drawing the diagram
The main decision whilst drawing the sequence diagram was which objects are to interact, and the sequence of the interaction. The modeled interaction steps were included in consideration for the interaction between the objects, and the sequence of the interaction.
A use CASE tool such as Enterprise Architect plays a vital role in any system analysis case, and the World Wide Tours scenario in particular. In the analysis of the case at hand, the CASE tool makes it possible for an analyst to process various analysis and design diagrams (Arman, 2013). The CASE tools offer a wide range of tools that enables an analyst to edit and update many design options. Use of CASE tools makes the analysis and design process very easy as the feature reach tools facilitates quick editing of the diagrams. The tools also help in checking design errors, testing case generation and improvement of designs (Osman and Chaudron, 2014).
The role of an analyst and designer is supported by a CASE tool in that the tool provides a platform and means of putting across analysis and design diagrams. The alternative to use of CASE tool would be manual drawing –pencil and paper- which is not only cumbersome, but inflexible and time taking. With a CASE tool, most of the work of an analyst is automated, such as error checking (Valacich,George and Hoffer,2015). A designer can therefore concentrate on the core task of analyzing requirements, translating the requirements into a design and refining the designs to optimize the system. The tool provides a form of automated assistance to the designer, with the aim of reducing the analysis and design time, translating to a reduction in cost and quality enhancement of the systems developed (Osman and Chaudron, 2014). As such, CASE tools increases the productivity of designers, enhances maintenance of the developed systems and improves quality, making the work of analysis and designers to be both easier and enjoyable (Osman and Chaudron, 2014).
The use of CASE tools results in the production of UML diagrams. UML diagrams are blueprints of the system being designed; they assist the work of an analyst and designer by enabling effective communication between developers and system users (Larman, 2015). Use of UML helps the designers communicate the design of the system to the IT and business teams, helping them visualize the requirements of a system and processes that makes up the entire system. The work of an analyst is therefore made easier as UML gives them a 360 degree visualization of the system, thus easing the process of identifying major issues in the design and development process (Rosenblatt, 2013).
Arman, N., 2013. Towards e-case tools for software engineering.
Abrahao, S., Gravino, C., Insfran, E., Scanniello, G. and Tortora, G., 2013. Assessing the effectiveness of sequence diagrams in the comprehension of functional requirements: Results from a family of five experiments. IEEE Transactions on Software Engineering, 39(3), pp.327-342.
Buede, D.M. and Miller, W.D., 2016. The engineering design of systems: models and methods. John Wiley & Sons.
Dennis, A., Wixom, B.H. and Tegarden, D., 2015. Systems analysis and design: An object-oriented approach with UML. John Wiley & Sons.
Larman, C., 2015. Applying UML and Patterns: An Introduction to object-oriented Analysis and Design and iterative development”, Pearson Education, 2005.
Osman, H. and Chaudron, M.R., 2014. Correctness and Completeness of CASE Tools in Reverse Engineering Source Code into UML Model. GSTF Journal on Computing (JoC), 2(1).
Rosenblatt, H.J., 2013. Systems analysis and design. Cengage Learning.
Valacich, J.S., George, J.F. and Hoffer, J.A., 2015. Essentials of systems analysis and design. Pearson Education.