System Development: Use Cases and Business Events
24 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which of the following statements best describes the relationship between use cases and business events?

  • A use case occurs in response to a business event, triggered at a specific time and place, driving system processing. (correct)
  • A business event is an optional component of a use case, enhancing its functionality but not essential for its execution.
  • Business events and use cases are unrelated concepts in system development.
  • A use case is an activity that occurs independently of business events, focusing solely on system-initiated processes.

In system development, what is the primary role of an external agent (or actor)?

  • To manage the internal database structure of the system.
  • To define the system's security protocols independently of user interaction.
  • To initiate internal system processes without external input.
  • To supply data to the system or receive data from the system. (correct)

How does identifying external agents contribute to defining system requirements?

  • It helps in determining the hardware specifications needed for the system.
  • It clarifies the roles and responsibilities of the development team.
  • It outlines the legal compliance standards the system must adhere to.
  • It identifies potential users who might request services from the system, informing the development of use cases. (correct)

What are domain classes or data entities primarily used for in system development?

<p>To model the objects and concepts end users deal with in their work, such as products or customers. (C)</p> Signup and view all the answers

What is the 'problem domain' in the context of system development?

<p>The specific area of the user’s business that the new system addresses. (B)</p> Signup and view all the answers

What role do 'things' play in defining system requirements within the problem domain?

<p>They are the data entities and domain classes the system needs to work with and remember, like customers or products. (C)</p> Signup and view all the answers

Which of the following statements accurately describes the difference between a domain model class diagram and a design class diagram in UML?

<p>Domain model class diagrams represent things in the users' problem domain; design class diagrams are used for designing software classes. (B)</p> Signup and view all the answers

Which diagram is commonly used to visually represent classes of objects within a system?

<p>UML Class Diagram (A)</p> Signup and view all the answers

In UML class diagrams, what do rectangles represent, and what do lines connecting the rectangles signify?

<p>Rectangles represent classes, and lines show associations among classes. (C)</p> Signup and view all the answers

Why is it important for analysts to identify essential information about customers and products during system development?

<p>To ensure the system stores and manages all necessary data for effective operation. (B)</p> Signup and view all the answers

What is camelback notation (camelCase) and how is it applied to class names and attribute names in class diagrams?

<p>Camelback notation runs words together without spaces; class names begin with a capital letter, and attribute names begin with a lowercase letter. (D)</p> Signup and view all the answers

Which of the following is NOT a type of relationship commonly represented in UML class diagrams?

<p>Implementation relationships (C)</p> Signup and view all the answers

What is the core concept behind generalization/specialization relationships in class diagrams?

<p>Structuring classes based on similarities and differences. (D)</p> Signup and view all the answers

In the context of generalization/specialization, what is a superclass and a subclass?

<p>A superclass is a more general class, while a subclass is a more specialized class. (D)</p> Signup and view all the answers

Which concept allows subclasses to share characteristics of their superclass in a generalization/specialization relationship?

<p>Inheritance (D)</p> Signup and view all the answers

Consider a scenario where you have a class Vehicle. Which of the following is the most accurate representation of generalization/specialization, with Vehicle as the superclass?

<p><code>Vehicle</code> (superclass) -&gt; <code>Car</code> (subclass) -&gt; <code>Sedan</code> (subclass) (B)</p> Signup and view all the answers

Which of the following statements accurately differentiates between aggregation and composition in whole-part relationships?

<p>In aggregation, the component parts can exist independently of the whole, while in composition, the parts cannot exist independently. (A)</p> Signup and view all the answers

Considering object-oriented design principles, how does an abstract class influence the design of its subclasses?

<p>It enforces a specific structure and behavior that subclasses must inherit and potentially extend. (B)</p> Signup and view all the answers

In the context of object-oriented programming, what is the primary difference between a concrete class and an abstract class?

<p>A concrete class can be directly instantiated to create objects, while an abstract class cannot. (B)</p> Signup and view all the answers

If a class diagram shows a 'Composition' relationship between Class A (Whole) and Class B (Part), what happens to an instance of Class B when the corresponding instance of Class A is deleted?

<p>The instance of Class B is also deleted. (B)</p> Signup and view all the answers

What does attribute visibility control in object-oriented design?

<p>Whether other objects can directly access the attribute. (A)</p> Signup and view all the answers

Which of the following scenarios best illustrates an 'Aggregation' relationship?

<p>A university department 'has a' professor; if the department closes, the professor can still work at the university. (D)</p> Signup and view all the answers

In a class diagram, how is the 'Aggregation' relationship visually represented?

<p>A solid line with an open diamond at the whole class. (B)</p> Signup and view all the answers

Which of the following is true regarding an abstract superclass?

<p>It only serves as a template for subclasses and cannot be instantiated directly. (C)</p> Signup and view all the answers

Flashcards

Use Case

An activity a system performs, often in response to a user request.

Event

An occurrence at a specific time and place that the system must remember.

External Event

An event initiated by an external agent or actor outside the system.

External Agent (Actor)

A person or organizational unit interacting with the system by providing or receiving data.

Signup and view all the flashcards

Domain Classes/Data Entities

The 'things' end users deal with in their work that the system needs to remember.

Signup and view all the flashcards

Problem Domain

The specific area of the user’s business that is included within the scope of the new system.

Signup and view all the flashcards

UML Class Diagram

A visual tool to show classes of objects for a system.

Signup and view all the flashcards

Relationships

Relationships between different entities or classes in a system.

Signup and view all the flashcards

Domain Model Class Diagram

A UML diagram showing elements in the user's problem domain.

Signup and view all the flashcards

Design Class Diagram

A UML diagram used when designing software classes, detailing the system's structure.

Signup and view all the flashcards

Camelback Notation

A notation style where words combine without spaces, with capitalized first letters for classes and lowercase for attributes.

Signup and view all the flashcards

Generalization/Specialization

A relationship where classes are organized from general to specific.

Signup and view all the flashcards

Generalization

A judgment that groups similar types of things; a broader category.

Signup and view all the flashcards

Specialization

A judgment that groups different types of things that share similarities; a narrower category.

Signup and view all the flashcards

Superclass

A class in a hierarchy that is more general than its subclasses.

Signup and view all the flashcards

Subclass

A class in a hierarchy that is more specialized than its superclass.

Signup and view all the flashcards

Generalization/Inheritance

Subclasses inherit characteristics from a more general class.

Signup and view all the flashcards

Abstract Class

A class that only exists for subclasses to inherit from; no direct objects are created.

Signup and view all the flashcards

Concrete Class

A class from which actual objects can be created.

Signup and view all the flashcards

Whole-Part Relationship

Shows an association where one class consists of parts.

Signup and view all the flashcards

Aggregation

A 'has a' relationship; parts can exist independently.

Signup and view all the flashcards

Composition

A strong whole-part relationship where parts cannot exist independently.

Signup and view all the flashcards

Attribute Visibility

Determines if other objects can directly access an attribute.

Signup and view all the flashcards

Public Attribute

An attribute is accessible from outside the class.

Signup and view all the flashcards

Study Notes

  • Many new system development approaches start with requirements modelling using use cases
  • A use case is an activity performed by the system in response to a user's request
  • The term "use case" began with the object-oriented approach
  • It is now also used for modelling functional requirements in the traditional approach
  • In the traditional approach, a use case is the same as an activity or process

Business Events and Use Cases

  • Each use case happens as a response to a business event
  • An event occurs at a specific time and place
  • Events can be described and should be remembered by the system
  • Events drive or trigger all processing that a system does
  • Listing and analysing events is useful when defining system requirements by identifying use cases

External Events

  • External events occur outside the system, usually started by an external agent or actor
  • An external agent (or actor) is a person or organizational unit supplying or receiving data from the system
  • To identify external events, analysts identify external agents that might interact with the system
  • A customer is a classic example of an external agent
  • A customer may want to place an order for one or more products

Domain Classes

  • System development includes identifying and modelling domain classes or data entities to define functional requirements
  • Domain classes or data entities are what end users deal with
  • Examples domain classes include products, sales, shippers, shipments, and customers
  • These are referred to as "things" in the context of a system's problem domain
  • The problem domain is the specific area of the user's business within the scope of the new system
  • The new system involves working with and remembering "things"
  • Some information systems store information about entities like customers and products
  • It is important to identify essential information about these entities
  • "Things" relate to people who interact with the system or other stakeholders
  • For example, the system needs to store data about the thing "customer", and how they interact with other entities in the domain

UML Class Diagrams

  • The UML class diagram is used to show classes of objects for a system
  • A domain model class diagram shows the things in the users' problem domain
  • A design class diagram is another type of UML class diagram
  • A design class diagram is used when designing software classes
  • On a class diagram, rectangles represent classes
  • Lines connecting the rectangles show the associations among classes
  • A domain class symbol is a rectangle with two sections
  • The top section contains the name of the class
  • The bottom section lists the attributes of the class
  • The design class symbol includes a third section at the bottom for listing methods of the class, methods do not apply to problem domain classes
  • Class names and attribute names use camelback (camelcase) notation, where words run together without a space or underscore
  • Class names start with a capital letter
  • Attribute names start with a lowercase letter
  • Class diagrams use classes and associations among them
  • Association relationship, generalization/specialization relationships, and whole-part relationships are relationship types found in class diagrams

Generalization/Specialization Relationships

  • Generalization/specialization relationships classify things in terms of similarities and differences
  • Generalizations group similar types of things
  • Motor vehicles are a general class including cars, trucks, and tractors
  • Specializations group different types of things
  • Cars include sports cars, sedans, SUVs
  • A sports car is a special type of car
  • A generalization/specialization relationship structures things from the more general to the more special
  • Each class might have a more general class above it, known as a superclass
  • A class can have a specialized class below it, called a subclass
  • Inheritance allows subclasses to share characteristics of their superclass
  • Specialization classes inherit characteristics of the generalization class
  • An abstract class only exists so subclasses can inherit from it
  • A concrete class has actual objects
  • A superclass can be abstract or concrete

Whole-Part Relationships

  • People structure information by defining things in terms of their parts
  • For example: a computer consists of parts; processor, main memory, keyboard, disk storage, and monitor
  • A keyboard is not a special type of computer; it is part of a computer and also something separate
  • Whole-part relationships show an association between one class and other classes that are parts of that class
  • The whole acts as a container for the parts
  • These relationships are shown on a class diagram by a line with a diamond on one end
  • Aggregation is a whole-part relationship where the component parts also exist as individual objects apart from the aggregate
  • Aggregation is often described as a “has a” relationship
  • Composition is a whole-part relationship where the component parts cannot exist as individual objects apart from the total composition
  • A whole/part relationship in which the whole has a responsibility for the part is a stronger relationship, and is usually shown with a filled-in diamond
  • If the whole is deleted, all parts are deleted

Attribute Visibility

  • Visibility denotes whether other objects can directly access the attribute
  • A + sign indicates a visible, or public, attribute
  • A – sign means that it is not visible, or private

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Explore system development approaches centered around use cases, activities performed in response to user requests. Learn how business events trigger system processing. Understand the role of external events and agents in initiating system actions.

More Like This

Use Quizgecko on...
Browser
Browser