Software Engineering Midterm Flashcards

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 UML diagram shows the actions involved in a process or in data processing?

activity diagram

Which UML diagram shows how a system's state changes due to internal and external events?

state diagram

Which diagram shows the interactions between a system and its environment?

use case diagram

Which diagram shows the interactions between actors and the system and between internal system components such as objects?

<p>sequence diagram</p> Signup and view all the answers

Which of the following diagrams would be best for modeling business processes?

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

Which of the following diagrams would be best for modeling real-time systems such as controls on a microwave?

<p>State Diagram (C)</p> Signup and view all the answers

Which show the object classes in the system and the associations between these classes?

<p>class diagram</p> Signup and view all the answers

The following example is a violation of which SOLID principle: In the first version of the Zombie game, the Model has a reference to Zombie instead of Sprite?

<p>Dependency inversion principle</p> Signup and view all the answers

In a sequence diagram, which of the following fragment types could best represent a logical branch (such as an 'if...else' statement)?

<p>alt</p> Signup and view all the answers

In a sequence diagram, this fragment type is used to describe an option sequence.

<p>opt</p> Signup and view all the answers

In a sequence diagram, this fragment type is used to indicate a fragment that executes multiple times.

<p>loop</p> Signup and view all the answers

In a sequence diagram, this fragment type is used to refer to an interaction defined on another diagram.

<p>ref</p> Signup and view all the answers

Which of the following UML diagrams models the behavior of a software system instead of structure?

<p>Use Case Diagram (C)</p> Signup and view all the answers

What are the 4 + 1 view models of software architecture?

<p>logical view, process view, development view, physical view</p> Signup and view all the answers

Which architecture pattern is used with GUI applications to separate presentation and interaction from system data?

<p>model-view-controller</p> Signup and view all the answers

Which architecture pattern relies on a central store of data as an efficient data-sharing mechanism?

<p>repository architecture</p> Signup and view all the answers

Which architecture pattern is common in UNIX-based systems where the output of one program can be used as input to another program?

<p>pipe and filter</p> Signup and view all the answers

The Eclipse IDE is composed of a core system and plug-ins. Which architecture pattern is Eclipse using?

<p>microkernel architecture</p> Signup and view all the answers

Which architecture pattern involves breaking an application into service components of separately deployable units?

<p>microservice</p> Signup and view all the answers

Which architecture pattern uses web services to expose the functionality of components of an application?

<p>microservice</p> Signup and view all the answers

Which architecture pattern is commonly used in data processing applications?

<p>pipe and filter</p> Signup and view all the answers

Which architecture pattern is used when you have a system in which large volumes of information are being generated that has to be stored for a long time?

<p>repository architecture</p> Signup and view all the answers

A software architecture that localizes critical operations and minimizes communications could help with which of the following?

<p>performance</p> Signup and view all the answers

A software architecture that includes redundant components and mechanisms for fault tolerance could help with which of the following?

<p>availability</p> Signup and view all the answers

A software architecture that uses fine-grain, replaceable components could help with which of the following?

<p>maintainability</p> Signup and view all the answers

In the MVC architecture pattern, which component manages user interaction (e.g., key presses, mouse clicks, etc.)?

<p>controller component</p> Signup and view all the answers

In the MVC architecture pattern, which component defines and manages how the data is presented to the user?

<p>view component</p> Signup and view all the answers

In the MVC architecture pattern, which component manages the system data and associated operations on that data?

<p>model component</p> Signup and view all the answers

A client-server architecture can be implemented on a single computer.

<p>True (A)</p> Signup and view all the answers

An operating system follows a microkernel architecture pattern.

<p>True (A)</p> Signup and view all the answers

Flashcards are hidden until you start studying

Study Notes

UML Diagrams

  • Activity Diagram: Illustrates actions involved in processes or data processing; ideal for modeling business processes.
  • State Diagram: Depicts changes in a system's state due to internal and external events; suitable for real-time systems like microwave controls.
  • Use Case Diagram: Shows interactions between a system and its environment; models behavior, not structure.
  • Sequence Diagram: Displays interactions among actors, system components, and represents logical branches (e.g., "if...else" using alt fragment).
  • Class Diagram: Describes object classes within the system and their associations.

SOLID Principles

  • Dependency Inversion Principle: Violation occurs when high-level modules depend on low-level modules instead of abstractions, as seen in Zombie game referencing Zombie instead of Sprite.

Sequence Diagram Fragments

  • alt: Represents logical branches, such as conditional statements.
  • opt: Indicates an option sequence in interactions.
  • loop: Marks fragments that execute multiple times.
  • ref: Refers to interactions defined in another diagram.

Software Architecture Models

  • 4 + 1 View Models: Consist of logical view, process view, development view, and physical view.

Architecture Patterns

  • Model-View-Controller (MVC): Separates user interaction from system data within GUI applications; has three components:
    • Controller: Manages user interaction (e.g., input actions).
    • View: Defines how data is presented to users.
    • Model: Handles system data and associated operations.
  • Repository Architecture: Centralizes data storage for efficient sharing; suitable for systems with large, long-term data storage needs.
  • Pipe and Filter Architecture: Common in UNIX systems; allows output from one program to serve as input for another, also used in data processing.
  • Microkernel Architecture: Used by Eclipse IDE, which consists of a core and plug-ins.
  • Microservice Architecture: Breaks applications into separately deployable service components and uses web services to expose application functionalities.

Performance and Availability

  • Performance: Improved by architectures that localize critical operations, minimizing communication.
  • Availability: Enhanced by including redundant components and fault tolerance mechanisms.
  • Maintainability: Achieved through fine-grain, replaceable components.

Client-Server Architecture

  • Can be implemented on a single computer.

Operating Systems

  • Typically follows a microkernel architecture pattern.

Studying That Suits You

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

Quiz Team

More Like This

Use Quizgecko on...
Browser
Browser