Software Engineering Midterm Flashcards
30 Questions
101 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 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</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</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</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</p> Signup and view all the answers

An operating system follows a microkernel architecture pattern.

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

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

Description

Prepare for your Software Engineering midterm with these flashcards covering UML diagrams. Each card focuses on a specific type of diagram, such as activity, state, and use case diagrams, helping you grasp their functions and importance. Test your knowledge and ensure you're ready for exam day!

More Like This

Use Quizgecko on...
Browser
Browser