Information System Analysis & Design Chapter 10
Statechart diagrams are created when:
1. A class has a complex life cycle. 2. An instance of a class may update its attributes in a number of ways throughout the life cycle. 3. A class has an operational life cycle. 4. Two classes depend on each other. 5. The object's current behavior depends on what happened previously
Use an activity diagram when:
1. It helps to understand the activities of a use case 2. The flow of control is complex. 3. There is a need to model workflow. 4. All scenarios need to be shown.
List the diagrams included in a structural diagram.
A. Class diagrams, used to model the static structural design of a system. B. Object diagrams, which portray the state of class instances and their relationships at a point in time. C. Component diagrams, which show an overview of the system architecture. D. A deployment diagram, which illustrates the physical implementation of the system, including the hardware.
What three things must a use case always describe?
The three things that a use case must describe are the actor that initiates the event, the event that triggers the use case, and the use case that performs the actions triggered by the event.
UML
Unified Modeling Language
A statechart diagram is created for:
a single class
method
an action that can be requested from any object in the class
Annotational things
can add notes to the diagrams
What does "reusable" mean in O-O programming?
it means we can be more efficient because we do not have to start at the beginning to describe an object every time it's needed for software development
Sequence diagrams
shows the sequence of activities and class relationships; each use case may create one or more sequence diagrams, emphasizes timing
Describe the difference between a class and an object
the class defines shared attributes and behaviors of objects; an object is an instance or occurrence of a class.
control class
used to control the flow of activities, and they act as a coordinator when implementing classes. To create reusable classes, a class diagram may include many small control classes. Control classes are often derived during system design.
Class diagrams
whos the classes and relationships, used along with CRC cards to determine classes
layers of sequence diagrams
1. presentation layer 2. business layer 3. persistence, or data access, layer
Would you describe a use case model as a logical or physical model of the system?
A use case model is a logical model because it describes what the system does, rather than how the system works.
What are the three major elements of UML?
A.Things, the objects B.Relationships, the glue that holds things together C.Diagrams, categorized as either structure or behavioral
What can be shown on a class diagram?
Class diagrams show classes, attributes, methods (or operations), and the relationships between classes.
List the four categories into which classes fall
Classes are entity, boundary (or interface), control, or abstract
Why is defining classes such an important object-oriented analysis task?
Defining classes is an important object-oriented analysis task because programming occurs at the class level.
In addition to direct costs, systems developers must identify and document indirect expenses that contribute to the ____.
TCO
method overloading
The ability to define two or more different methods with the same name but different method signatures.
Classes
groups of similar items
UML Relationships
holds the things together
two broad categories of interface classes
human and system
activity diagram
illustrates the overall flow of the activities; each use case may create one activity diagram
In a(n) ____ structure, which usually is based on interpersonal relationships, some people have more influence or knowledge than appears on an organization chart.
informal
reflexive association
object in a class that has relationship to other objects in the same class
parts of a communication diagram
objects (also called participants), communication links, and messages that can be passed along those links;
Unified Modeling Language (UML)
the industry standard for modeling object-oriented systems
A ____ is a UML technique that visually represents the interaction between users and an information system.
use case diagram
group things in UML
used to define boundaries
Polymorphism or method overriding
"many forms"; when a specialized class (or subclass) changes or overrides a method inherited from the general class (or superclass).
use case scenario
(although technically it is not a diagram). This scenario is a verbal articulation of exceptions to the main behavior described by the primary use case.
Types of classes; four class categories
- Entity classes - Interface classes - Abstract classes - Control classes
Swimlanes
- Useful to show how the data must be transmitted or converted - Help to divide up the tasks in a team - Makes the activity diagram one that people want to use to communicate with others -Columns in an activity diagram
Sequence Diagram
can illustrate a succession of interactions between classes or object instances over time; often used to illustrate the processing described in use case scenarios; are derived from use case analysis and are used in systems design to derive the interactions, relationships, and methods of the objects in the system; used to show the overall pattern of the activities or interactions in a use case.
Structural things in UML
classes, interfaces, use cases, and other elements that provide a way to create models; allows the users to describe relationships
Four basic types of behavioral relationships
communicates, includes, extends, and generalizes
what is the difference between communications and sequence diagrams?
communications diagram emphasizes the organization of objects, whereas a sequence diagram emphasizes the time ordering of messages; a communications diagram will show a path to indicate how one object is linked to another
collection in whole/part relationship
consists of a whole and it's members
business layer
contains the unique rules for the application; contains the control classes
____ is a typical example of a system requirement for the performance category. a. The purchasing system must provide suppliers with up-to-date specifications b. Each input form must include date, time, product code, customer number, and quantity c. The manager of the sales department must approve orders that exceed a customer's credit limit d. The student records system must produce class lists within five hours after the end of registration
d.The student records system must produce class lists within five hours after the end of registration
generalization
describes a relationship between a general kind of thing and a more specific kind of thing. This type of relationship is often described as an "is a" relationship
persistance, or data access, layer
describes obtaining and storing data; contains the entity classes
attribute
describes some property that is possessed by all objects in the class; when specifying an attribute the first letter is usually lowercase
use case diagram
describing how a system is used. Analysts start with a use case diagram
Describe what Object Think adds to the CRC card.
information written in plain English about the properties of an object and helps to clarify thinking about the object.
Boundary Class
interface class - a class that exists on a system's automation boundary, su as an input window
System Interface
involves sending data or receiving data from other systems
What is UML?
is the result of a collaboration of individual object-oriented methods that have been adopted as a standard for modeling object-oriented systems.
generalization/specialization (gen/spec) diagrams
may be considered an enhanced class diagram; sometimes it is necessary to separate the generalizations from the specific instances
deferred event
one that is held until an object changes to a state that can handle the event.
Class Diagram
shows the static features of the system and do not represent any particular processing; also, shows the nature of the relationships between classes
stereotypes
special symbols used to represent entity, boundary (or interface), and control classes
What are the two main types of diagrams in UML?
structural diagrams and behavioral diagrams
What is the idea behind classes?
to have a reference point and describe a specific object in terms of its similarities to or from members of its own class
Behavioral diagrams
used to describe the interaction between people, also called actors in UML, and the things we refer to as use case, or how the actors use the system; include case, sequence, communication, statechart, and activity diagrams
Structural diagrams
used to describe the relation between classes; include class diagrams, object diagrams, component diagrams, and deployment diagrams
CRC cards
used to represent the responsibilities of classes and the interactions between the classes
List the diagrams included in a behavioral diagram.
A. Use case diagrams, showing the actors and the use cases. B. Sequence diagrams that depict a succession of interactions between object instances over time and they show the processing described in use case scenarios. C. Communication diagrams illustrate a sequence of object interactions showing the organization of the objects during the interactions. D. Statechart diagrams show the states of an object and the events and conditions that trigger a transition from one state to another. E. Activity diagrams show the flow of activities within a process.
Define what an actor is in a use case diagram.
An actor is a role of a user that is external to the system. An actor may be a person, another system, or a device such as a keyboard.
Abstract Classes
Classes that cannot be instantiated; they have to be inherited from to be used; usually denoted in italics; general classes and are used when gen/spec is included in the design. The general class becomes the abstract class. The abstract class has no direct objects or class instances and is only used in conjunction with specialized classes. Abstract classes usually have attributes and may have a few methods.
What are gen/spec diagrams used for?
Gen/spec diagrams are used to show general classes and the specialized classes that inherit the attributes and methods from the general class.
Explain the concept of inheritance in object-oriented systems
Inheritance is when a child or derived class is created from a parent or base class. The child class inherits all the attributes and behaviors of the parent class
What does a UML activity diagram do?
It models the workflow(also called the activity) of a portion of a software system.
What is another term for polymorphism?
Polymorphism, or method overriding, is when the specialized classes have a version of the same method contained in the general class. The subclass may add to or modify the method.
____ is a typical example of a system requirement for the input category.
Student grades must be entered on machine-scannable forms prepared by the instructor
Write a paragraph that describes the use of swimlanes on activity diagrams.
Swimlanes on an activity diagram are used to show partitioning, such as which activities are done on which platform, or by which user group.
List what the concept of behavioral things includes.
The concept of behavioral things includes interactions, the messages sent between a set of objects, and state machine, a series of states that an object goes through in response to actions within the system.
____ is a typical example of a system requirement for the output category.
The contact management system must generate a daily reminder list for all sales reps
____ is a typical example of a system requirement for the process category.
The equipment rental system must not execute new rental transactions for customers who have overdue tapes
____ is a typical example of a system requirement for the control category.
The system must maintain separate levels of security for users and the system administrator
What are the two categories of relationships between classes?
The two categories of relationships between classes are associations and whole/part relationships.
derived class
a class that was created from a parent or base class; it may have additional attributes and behaviors
inheritance
a key concept of O-O programming; classes can have children, meaning one class can be created out of another class, in UML the original class is the parent referred to as the base class, reduces programming labor by making it easy to use common objects
asynchronous message
a message that is not read, heard, or seen at the same time you send the message; there is a time delay between when you send and receive a message
Component Diagram
a type of implementation diagram that shows the overall system architecture and the logical components within it
In a use case diagram, the user becomes a(n) ____, with a specific role that describes how he or she interacts with a system.
actor
communication diagram
alternative to a sequence diagrams, contains the same information but emphasized communication instead of timing; describes the interactions of two or more things in the system that perform a behavior that is more than any one of the things can do alone
Methods
are the processes that a class knows to carry out, also called operations; when specifying methods the first letter is usually lowercase
What are the steps for creating a sequence diagram
A. Include the actor from the use case diagram. B. Define one or more interface classes for each actor. C. Each use case should have one control class. D. Examine the use case to see what entity classes are required and include these on the diagram. E. The sequence diagram may be modified when doing detailed design. F. To obtain a greater degree of reuse, methods may be moved from a control class to an entity class and so on.
CRC
class, responsibilities, and collaborators
What does an activity diagram depict?
An activity diagram depicts a sequence of activities, including sequential and parallel activities, and decisions that are made.
Method overloading is helpful in which of the following situations? A) When two methods have different return types B) When a method has the same name as its enclosing class. C) When two methods perform a similar task on different types of data. D) When two classes have the same name E) When two methods perform a different task on the same types of data.
C. When two methods perform a similar task on different types of data.
O-O
Object-Oriented
Why is using UML for modeling important
Using UML for modeling is important because it helps to achieve a greater understanding between the business team and the IT team regarding the requirements and processes of a system. It provides a detailed set of specifications for the classes, scenarios, activities, and sequencing in the system. It helps to implement changes earlier in the project, when it is easier and less costly to make changes.
Behavioral things in UML
describe how things work
aggregation in whole/part relationship
described as "has a" relationship; provides a means for showing that the whole object is composed of the sum of its parts (other objects)
When is O-O preferred?
in situations in which complicated information systems are undergoing continuous maintenance, adaptation, and redesign
Objects
person, place, or things that are relevant to the system being analyzed (entities); may also be GUI displays or text areas on the display
Boundary or Interface classes
provide a means for users to work with the system.
What does UML do?
provides a standard set of tools to document the analysis and design of a software system; documentation created with UML provides effective means of communication between the dev team and the business on a project
What does a use case model describe?
reflects the view of the system from the perspective of the user outside the system. It describes what the system does, rather than how the system works.
Entity classes
represent real-world items, such as people, things, and so on. Entity classes are the entities represented on an entity-relationship (E-R) diagram.
presentation layer
represents what the users sees; contains the interface or boundary classes
Which of the following is a general category of system requirements? a. daily reports c. response time b. inputs d. login security
response time
The term ____ refers to a system's ability to handle increased business volume and transactions in the future.
scalability
A(n) ____ diagram shows the timing of interactions between objects as they occur.
sequence diagram
Statechart diagrams
shows state transition; each class may create a statechart diagram which is useful for determining class methods
Two main types of diagrams in UML
structural and behavioral
composition in whole/part relationship
the whole has a responsibility for the part, is a stronger relationship and is usually shown with a filled-in diamond. Keywords for composition are one class "always contains" another class. If the whole is deleted, all parts are deleted. An example would be an insurance policy with riders. If the policy is canceled, the insurance rid-ers are also canceled. In a database, the referential integrity would be set to delete cascading child records. In a university there is a composition relationship between a course and an assignment as well as between a course and an exam. If the course is deleted, assignments and exams are deleted as well
What does UML consist of?
things, relationships, and diagrams
what are objects called in UML?
things; structural things are most common
annotational things
used to add notes to a diagram
Define method overloading.
using the same method or operation several times within a class. The parameters that are sent indicate which of the overloaded methods to use.
Six most commonly used UML diagrams
1. A use case diagram, describing how a system is used. Analysts start with a use case diagram. 2. A use case scenario (although technically it is not a diagram); a verbal articulation of exceptions to the main behavior described by the primary use case. 3. An activity diagram, illustrating the overall flow of activities. Each use case may create one activity diagram. 4. Sequence diagrams, showing the sequence of activities and class relationships. Each use case may create one or more sequence diagrams. An alternative to a sequence diagram is a a communication diagram, which contains the same information but emphasizes communication instead of timing. 5. Class diagrams, showing the classes and relationships. Sequence diagrams are used (along with CRC cards) to determine classes. An offshoot of a class diagram is a gen/spec diagram (which stands for generalization/specialization). 6. Statechart diagrams, showing the state transitions. Each class may create a statechart diagram, which is useful for determining class methods
Steps to enhancing a sequence diagram
1. Include the actor from the use case diagram in the enhanced sequence diagram. 2. Define one or more interface classes for each actor. Each actor should have his or her own interface class. 3. Create prototype web pages for all human interfaces. 4. Ensure that each use case has one control class, although more may be created during the detailed design. Look for that control class and include it in the sequence diagram. 5. Examine the use case to see what entity classes are present. Include these on the diagram. 6. Realize that the sequence diagram may be modified again when doing detailed design, such as creating additional web pages or control classes (one for each Web form submitted). 7. To obtain a greater degree of reuse, consider moving methods from a control class to an entity class
three event categories
1. Signals or asynchronous messages, which occur when the calling program does not wait for a returning message, such as a feature run from a menu 2. Synchronous messages, which are calls to functions or subroutines. The calling object stops and waits for control to be returned to it, along with an optional message. 3. Temporal events, which occur at a predetermined time. These usually do not involve an actor or any external event
List two reasons for taking an object-oriented approach to systems development
1. to be able to reuse code 2. to have code that a change in one object has a minimal impact in another object.
deployment diagram
A mapping of the logical or physical arrangement of all nodes in a computer system, typically a network.
What is a package in UML approach?
A package is a container for other UML things, such as use cases or classes. They show partitioning, or which classes are grouped into a subsystem
What can be depicted on a sequence or communication diagram?
A sequence or collaboration diagram shows a series of interactions between classes or object instances over time.
What does a statechart diagram depict?
A statechart diagram depicts the states that an object may have and the events that cause the object to transition to a different state.
List what the concept of structural things includes.
A. Classes, which have properties or attributes and methods or operations. B. Interfaces, the behavior of a class or component of a system that is noticeable from outside the class or component. C. Collaborations, which describe the interactions of two or more things in a system that perform a behavior that is more than any one of the things can do alone. D. Use cases, which describe a series of actions that demonstrate a distinct behavior of the system and its interactions with the actors. E. Control or active classes. A control class can initiate and control an independent flow of activity within the system. F. Components, which are a physical part of a system that represents the services and interfaces implemented by the elements contained within that component, including software code. G. Nodes, which represent a piece of hardware on which your system executes. Components are physically deployed on nodes.