Software Architecture and UML Concepts
13 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 quality attributes ensures that the software can be modified easily?

  • Correct
  • Modifiable (correct)
  • Traceable
  • Understandable by non-computer specialists
  • What does a use case primarily define?

  • A sequence of interactions between one or more actors in the system (correct)
  • The deployment strategy of the software
  • The entire system architecture
  • The quality attributes of the software
  • What is represented by ovals in use case modeling?

  • Actors
  • Systems
  • Use cases (correct)
  • Activity diagrams
  • Which term describes a communication between an actor and a use case?

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

    In requirement modeling, what is the primary focus of use case modeling?

    <p>Describing user expectations and system interactions</p> Signup and view all the answers

    What does the Unified Modeling Language (UML) primarily provide?

    <p>A graphical language for describing models</p> Signup and view all the answers

    Which of the following is NOT a type of view in software architecture?

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

    What does the high-level software architecture primarily describe?

    <p>The decomposition into subsystems</p> Signup and view all the answers

    Which of the following accurately describes 'programming-in-the-small'?

    <p>Detailed design of individual components</p> Signup and view all the answers

    What major issue does software engineering seek to address?

    <p>Reliable and timely software development</p> Signup and view all the answers

    Which of the following is considered an example of application software?

    <p>Custom software</p> Signup and view all the answers

    What is the purpose of requirement gathering in software projects?

    <p>To obtain all the ideas and needs from stakeholders</p> Signup and view all the answers

    In the context of software architecture, what does the structural component view focus on?

    <p>The interconnections among components</p> Signup and view all the answers

    Study Notes

    Modeling

    • Models abstract a system at various levels of detail and precision
    • Object-oriented methods address software modifiability, adaptation, and evolution

    Unified Modeling Language (UML)

    • A graphical language for describing models

    Software Architectural Design

    • Separates overall system structure and interconnections

    Programming-in-the-Small

    • Detailed design of individual components

    Programming-in-the-Large

    • Emphasizes component interconnections

    Levels of Software Architecture

    • High level: Decomposes the system into subsystems
    • Low level: Decomposes subsystems into components

    Multiple Views of Software Architecture

    • Use case view: Input for developing new features
    • Static view: Relationships and associations
    • Dynamic state machine view: Internal control and sequencing
    • Structural component view: Interconnected parts
    • Dynamic concurrent view: Distributed modes communicating by messages
    • Deployment view: Component assignment to hardware tools

    Software

    • A set of machine-readable instructions for specific functions

    Software Types

    • System software: e.g., Operating System
    • Programming Tools & Language Translators
    • Application Software:
      • Custom software
      • Generic software
      • Embedded software

    Software Engineering

    • Analytical approach to design, development, use, and maintenance

    Ad hoc programming style

    • Build & fix, code and fix

    Software Crisis

    • Projects failing to be reliable, on time, or within budget

    Architecture

    • Design of application software, protocols, and expansion means

    System

    • Collection of components, items, or equipment for a specific function

    Architectural Design

    • Used for defining complex systems for processors

    Common Activities in Software Projects

    • Requirement and Specification
      • Domain Analysis: Understanding the background
      • Defining the problem: Determining the precise problem to solve
      • Requirement Gathering: Obtaining all ideas
      • Requirement Analysis: Organizing the gathered information
      • Requirement Specification: Defining what and how the software should function
    • Design
    • Modeling
      • Use case modeling: Representing the sequence of actions performed
      • Structural modeling: Representing things as classes and objects
      • Dynamic & Behavioral Modeling: Modeling the activities that can be performed
    • Programming: Translating design into programming language
    • Quality Assurance: Reviews, inspections, and testing
    • Deployment: Distributing and installing the software

    Requirement Modeling

    • Actors and use cases: Describing what the user expects from the system

    Quality Attributes

    • Correct
    • Complete
    • Unambiguous
    • Consistent
    • Verifiable
    • Understandable by non-computer specialists
    • Modifiable
    • Traceable

    Use Case Modeling

    • Defines the functional requirements of the system in terms of actors and use cases

    Use Case

    • Defines the sequence of interactions between actors and the system
    • Represented by ovals

    Main Sequence

    • Most common sequence of interactions between the actor and the system

    Alternative Sequence

    • Frequent interactions between the actor and the system

    Scenario

    • Each sequence through the use case

    Association

    • Communication between an actor and a use case
    • Represented by lines

    Actors

    • An external user
    • A role played in the application domain
    • Represented by stick figures
    • Primary actors: Initiate a use case
    • Secondary actors: Participate in the sequence

    System Boundary

    • The scope or limits of the system

    Software Requirement Specification

    • A traceable document

    Relationships

    • Dependencies between use cases
    • Include: Occurs when there is a common sequence
    • Extend: Models alternative paths a use case might take

    Activity Diagram

    • Shows the flow of control and sequencing among activities
    • Represents the sequence of activities, decisions, nodes, loops

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Explore the fundamentals of software architecture, including various modeling levels and the use of Unified Modeling Language (UML). This quiz covers both small and large programming practices, as well as multiple views of software architecture. Test your knowledge on how systems are structured and interconnected.

    More Like This

    Use Quizgecko on...
    Browser
    Browser