Object-oriented analysis and design can offer an approach that facilitates logical, rapid, and thorough methods for creating new systems responsive to a changing business landscape. Object-oriented techniques work well in situations in which complicated information systems are undergoing continuous maintenance, adaptation, and redesign. In this chapter, we introduce the unified modeling language (UML), the industry… [Continue Reading]
Object-Oriented Systems Analysis and Design Using UML
Object-Oriented Concepts – Objects/Classes/Inheritance
Object-oriented programming differs from traditional procedural programming by examining the objects that are part of a system. Each object is a computer representation of some actual thing or event. General descriptions of the key object-oriented concepts of objects, classes, and inheritance are presented in this section, with further details on other UML concepts introduced later… [Continue Reading]
CRC Cards and Object Think
Now that we have covered the fundamental concepts of object-oriented systems analysis and design, we need to examine ways to create classes and objects from the business problems and systems we are facing. One way to begin enacting the object-oriented approach is to start thinking and talking in this new way. One handy approach is… [Continue Reading]
The Unified Modeling Language (UML) Concepts and Diagrams
The UML approach is well worth investigating and understanding, due to its wide acceptance and usage. UML provides a standardized set of tools to document the analysis and design of a software system. The UML toolset includes diagrams that allow people to visualize the construction of an object-oriented system, similar to the way a set… [Continue Reading]
Use Case Modeling
UML is fundamentally based on an object-oriented analysis technique known as use case modeling, which was introduced in Chapter “Understanding and Modeling Organizational Systems“. A use case model shows a view of the system from the user perspective, thus describing what a system does without describing how the system does it. UML can be used… [Continue Reading]
Activity Diagrams – Introduction
Activity diagrams show the sequence of activities in a process, including sequential and parallel activities, and decisions that are made. An activity diagram is usually created for one use case and may show the different possible scenarios. The symbols on an activity diagram are illustrated in the figure below. A rectangle with rounded ends represents… [Continue Reading]
Creating Activity Diagrams
Activity diagrams are created by asking what happens first, what happens second, and so on. You must determine whether activities are done in sequence or in parallel. If physical data flow diagrams (as described in Chapter “Using Data Flow Diagrams“) have been created, they may be examined to determine the sequence of activities. Look for… [Continue Reading]
Sequence and Communication Diagrams
An interaction diagram is either a sequence diagram or a communication diagram, both of which show essentially the same information. These diagrams, along with class diagrams, are used in a use case realization, which is a way to achieve or accomplish a use case. Sequence Diagrams Sequence diagrams can illustrate a succession of interactions between… [Continue Reading]
Class Diagrams – Method Overloading, Types of Classes
Object-oriented methodologies work to discover classes, attributes, methods, and relationships between classes. Because programming occurs at the class level, defining classes is one of the most important object-oriented analysis tasks. Class diagrams show the static features of the system and do not represent any particular processing. A class diagram also shows the nature of the… [Continue Reading]
Enhancing Sequence Diagrams
Once the class diagram is drawn, it may be desirable to go back to the sequence diagram and include special symbols for each of the different types of classes introduced in the last section. Sequence diagrams in particular can be overbearing if an analyst doesn’t have a systematic approach to drawing them. The following steps… [Continue Reading]
Enhancing Class Diagrams
The class symbols also may be used on class and communication diagrams. Figure 1 below illustrates the class diagram for a student viewing personal and course information on Web pages. Each class has attributes and methods (which are not shown on diagrams using this notation). If the class is a user interface type of class,… [Continue Reading]
Generalization/Specialization (Gen/Spec) Diagrams
A generalization/specialization (gen/spec) diagram may be considered to be an enhanced class diagram. Sometimes it is necessary to separate out the generalizations from the specific instances. As we mentioned at the beginning of this chapter, a koala bear is part of a class of marsupials, which is part of a class of animals. Sometimes we… [Continue Reading]
Statechart Diagrams
The statechart, or state transition, diagram is another way to determine class methods. It is used to examine the different states that an object may have. A statechart diagram is created for a single class. Typically objects are created, go through changes, and are deleted or removed. Objects exist in these various states, which are… [Continue Reading]
Packages and Other UML Artifacts
Packages are containers for other UML things, such as use cases or classes. Packages can show system partitioning, indicating which classes or use cases are grouped into a subsystem, called logical packages. They may also be component packages, which contain physical system components, or use case packages, containing a group of use cases. Packages use… [Continue Reading]
Putting UML to Work
UML provides a useful toolset for systems analysis and design. As with any product created with the help of tools, the value of UML deliverables in a project depends on the expertise with which the systems analyst wields the tools. The analyst will initially use the UML toolset to break down the system requirements into… [Continue Reading]
The Importance of Using UML for Modeling
UML is a powerful tool that can greatly improve the quality of your systems analysis and design, and it is hoped that the improved practices will translate into higher-quality systems. By using UML iteratively in analysis and design, you can achieve a greater understanding between the business team and the IT team regarding the system… [Continue Reading]