quiz image

4.1 Logical Architecture in OOAD

SprightlyVision avatar
SprightlyVision
·
·
Download

Start Quiz

Study Flashcards

9 Questions

What type of message represents a communication where the target lifeline has invoked an operation?

Call Message

Which type of message describes communication within the same lifeline in an interaction?

Self Message

What is represented by a rectangle with the name of the class inside, often written in boldface and capitalized?

Class

Which relationship between classes indicates a connection or dependency between them?

Association

In a class diagram, what symbol is used to depict inheritance between two classes?

-|>

Which notation in a class diagram represents variables or properties of a class that define its state?

What type of relationship in a class diagram indicates that one class contains or is composed of another class?

Aggregation

Which notation is used in a class diagram to represent functions or operations of a class that define its behavior?

:

'The company encompasses a number of employees, and even if one employee resigns, the company still exists.' Which type of relationship between classes does this scenario exemplify?

-|>

Study Notes

Logical Architecture

  • Logical architecture is a type of structural design that provides a detailed description of a system without defining its technology or environment.
  • It includes information related logically and provides a detailed description without using technical terms.
  • It is a diagram used to define the relation between software components.
  • The main purpose of designing logical architecture is to plan for the system and use it for communication before designing and implementing the system.
  • It provides an overview of the system and is defined as the organization of subsystems, software classes, and layers that make up the complete logical system.
  • Components can be deployed in physical computers and operating systems and can be used by the network.
  • Logical architecture is created to define the interaction of operations with the system to be understood properly.
  • It is represented by a block diagram, which displays the system's operations logically.
  • Logical architecture is decomposed into different tiers, including client tier, access tier, presentation tier, business service tier, and data tier.

Layers

  • A layer is a specific type of logical architecture that organizes a software system into a series of layers or tiers based on their functionality and responsibilities.
  • Each layer provides a set of services to the layer above it and uses services provided by the layer below it.
  • This helps to separate concerns, promote modularity, scalability, and maintainability in the system.
  • There are various types of layers, including presentation layer, application layer, domain layer, infrastructure layer, and data access layer.
  • Each layer has its own responsibilities and interacts with the other layers in a specific way to achieve the system's goals and requirements.
  • The use of layering in logical architecture is a common practice in software development and is especially useful for large and complex systems.

Software Architecture

  • Software architecture is the highest-level design of a software system, considering multiple perspectives and practical concerns.
  • It provides a basic design of a complete software system, defining the elements included in the system, their functions, and how they relate to one another.
  • Software architecture considers various factors, including what the system will be used for, who will be using it, and what quality matters to them.
  • It is essential for large software systems, providing a solid basis for developers to follow.
  • A clear architecture helps to achieve quality in the software, making it easier to maintain, reuse, and adapt.
  • Software architecture is useful for various stakeholders, including software developers, project managers, clients, and end-users.
  • It provides a collection of several views, including use case view, design view, implementation view, process view, and development view.

UML Package Diagram

  • UML Package Diagrams are used to illustrate the logical architecture of the system, including layers, subsystems, and packages.
  • Package diagrams are structural diagrams used to show the organization and arrangement of various model elements in the form of packages.
  • A package is a grouping of related UML elements, such as diagrams, documents, classes, or even other packages.
  • Package diagrams are used to provide a visual organization of the layered architecture within any UML classifier, such as a software system.
  • The basic components of a package diagram include packages, dependencies, and packageable elements.

Dependencies

  • Dependencies are a visual representation of how one element (or set of elements) depends on or influences another.
  • Dependencies are divided into two groups: access and import dependencies.
  • There are three types of dependencies: element import, package import, and package merges.
  • Element import is a directed relationship between an importing namespace and an imported packageable element.
  • Package import is a directed relationship between an importing namespace and an imported package.
  • Package merges are directed relationships in which the contents of one package are extended by the contents of another.

Interaction Diagram

  • Interaction diagrams are used to capture the interactive behavior of a system, focusing on describing the flow of messages within a system.
  • They provide context for one or more lifelines within a system and can be used to represent the ordered sequences within a system.
  • Interaction diagrams can be used to model a system as a time-ordered sequence of events, reverse- or forward-engineer a system or process, and organize the structure of various interactive events.
  • There are four main types of interaction diagrams in UML: communication diagram, sequence diagram, timing diagram, and interaction overview diagram.

Communication Diagram

  • Communication diagrams are used to show the relationship between objects in a system, emphasizing the structural aspects of an interaction diagram.
  • They depict the architecture of the objects residing in the system, based on object-oriented programming.
  • A communication diagram is also known as a collaboration diagram.
  • The notations of a communication diagram include objects, actors, links, and messages.

Sequence Diagram

  • Sequence diagrams are a visual representation of interactions between objects or components in a system or program.
  • They are commonly used in software development to describe the flow of messages, actions, or events that occur during a specific use case or scenario.
  • In a sequence diagram, objects or components are represented as vertical lines, called lifelines, which depict their existence over time.
  • Messages or actions between these objects are depicted as horizontal arrows or dotted lines, indicating the order and direction of the interaction.
  • The notations of a sequence diagram include lifelines, actors, activation, and messages.### Message Types
  • Call Message: represents a communication between lifelines of an interaction, where the target lifeline invokes an operation.
  • Return Message: represents the flow of information from the receiver of the corresponding caller message.
  • Self Message: describes a communication between the lifelines of an interaction, where a message is invoked within the same lifeline.

Sequence Diagram

  • A sequence diagram represents a high-level interaction between objects, showing the sequence of events.
  • Example: online bookshop sequence diagram, where an online customer can search for a book, view a description, add a book to their shopping cart, and do checkout.

Class Diagram

  • A class diagram describes a static view of an application, showing the types of objects present in the system and their relationships.
  • It represents classes, attributes, functions, and relationships to provide an overview of the software system.
  • Class diagrams are used to visualize, describe, document, and construct executable software code.
  • They consist of class names, attributes, and functions in separate compartments, aiding software development.

Class Diagram Notations

  • Class: represented by a rectangle with the class name inside, written in boldface and capitalized.
  • Attributes: variables or properties of a class that define its state, listed below the class name and often preceded by a "+" or "-" symbol to indicate public or private visibility.
  • Methods: functions or operations of a class that define its behavior, listed below the attributes and often preceded by a "+" or "-" symbol to indicate visibility.
  • Inheritance: a relationship between two classes where one class inherits the attributes and methods of another, depicted by an arrow pointing from the subclass to the superclass.
  • Association: a relationship between two classes indicating a connection or dependency, depicted by a line connecting the two classes, with optional arrows and multiplicity notations.
  • Aggregation: a relationship between two classes where one class contains or is composed of another, depicted by a diamond shape on the container class, with a line connecting it to the component class.
  • Composition: a stronger form of aggregation where the part or component cannot exist without the whole or container, depicted by a filled diamond shape on the container class, with a line connecting it to the component class.

Class Diagram Example

  • A class diagram can be used to describe a sales order system, showing the classes, attributes, and relationships involved in the system.

Explore the concept of logical architecture and layers in Object-Oriented Analysis and Design (OOAD). Learn how logical architecture provides a detailed structural description of a system without specifying the technology used. Understand the role of logical architecture in defining relationships between software components.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Use Quizgecko on...
Browser
Browser