Thursday, December 24, 2009

Final Exercise

1. What is the purpose of packages? Show an example of package diagrams.

Packages as defined in the book these are containers for other UML things. With this definition, we could barely absorb that the purpose of these packages are for grouping together those UML things to show how the system is being organized into different divisions (or partitions) and the dependencies among the partitions.
An example of a Package Diagram:

2. How is a component diagram different from a class diagram? Show an example of a component diagram.

A component diagram differs from a class diagram in a way that it illustrates/characterizes the components that compose an application, system or enterprise to form a larger component. Unlike class diagrams, components diagrams does not include in it's illustration the attributes that are within the system architecture. Component diagrams also shows how the different components of that system work together to perform it's job successfully and it is more on the view of the system as a whole.
An example of a component diagram:

3. What is illustrated in a deployment diagram? Show an example of deployment diagram.

A deployment diagram shows all about the implementation of the system. With in this, it includes the hardwares and softwares that are being used in the delivery of the product. It may also illustrate about shared resources within the system built such as server, printers, disks and other sharable devices.
Example:

4. Steps in putting UML to workThere are six steps in putting UML to work .

(1)Define the use case model.
The first step is about determining who are the actors and the major events that are initiated by these actors within the area of the problem. A use case diagram can be developed basing on how the actors go/relate to the use cases. This step is necessary because it defines the scope of the system. Use case scenarios are also built in this step to provide additional details. After creating the use case scenario, it is highly needed to be reviewed to verify processes and interactions for further modification of the work.
(2)Continue UML diagramming to model the system.
Through the use of the use case diagram in step 1, an activity diagram can be derived and from the use case scenarios, sequence and collaboration diagrams can be developed. Sequence diagrams should be reviewed to verify the processes and interactions and to be able to make modifications. This could contribute a lot with the refinement of the process in a more detailed manner for a complete and accurate one that experts agree with.
(3)Develop class diagrams.
In this step, you must determine the objects, classes and their relationship based on the use case made in the previous step. Nouns in the use cases are potential objects and once objects are finalized, the next thing to do is to determine the similarities and differences with its behavior/attributes so that you can create classes. Examine the relationships among classes especially the “has a” and “is a” relationship.
(4)Draw a statechart diagram
To understand complex processes that sequence diagrams cannot fully illustrate, statechart diagram are drawn.
By examining statechart diagram you can come up with state (data) class attributes from use cases and class methods (whether public or private). Statechart diagram are useful to modify class diagrams.
(5)Begin system design by refining UML diagrams.
Diagrams built in the previous steps should be reviewed to be able to come up with each class specification. Reviewing the sequence diagrams are also ideal to identify other class methods.
After each of the diagrams have been reviewed (some if necessary are modified), you can now develop a deployment diagram for the real work environment.
(6)Step six is more on the documentation of the system design. It is very important to complete the necessary information in detail for faster development of the system that has been well-organized through the use of Unified Modeling Language.

5. How important is UML in modeling?

Unified Modeling Language is very important in the systems analysis phase in developing a system because it helps to visualize, illustrate, and specify the diagrams that are essential for constructing the system architecture. UML is used iteratively in analysis and design phase to refine processes and requirements for a well-developed system.
Through the use of UML diagrams, the interactions and processes in the system are being relayed to the business team / customer for them to understand it and create new ideas that could satisfy their needs. It is also helpful for the IT team because the diagrams are of big help for the implementation of the project. The diagrams also show the scope and boundaries of the system.

References of the diagrams:
http://www.agilemodeling.com/images/models/packageDiagramUseCases.jpg(package diagram)

http://www.agilemodeling.com/images/style/componentDiagram.gif(component diagram)

http://www.agilemodeling.com/images/models/deploymentDiagramConcise.jpg(deployment diagram)

No comments:

Post a Comment