Systems Design and Measurable Objectives
41 Questions
4 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 characteristic of a system refers to its ability to perform functions using minimal time and resources?

  • Efficient (correct)
  • Maintainable
  • Functional
  • Usable
  • What aspect of a system addresses the safeguards against unauthorized access and attacks?

  • Reliable
  • Economical
  • Secure (correct)
  • Flexible
  • Which term describes the ability of a system to be configured to meet different user needs over time?

  • Buildable
  • Elegant-Beautiful
  • Flexible (correct)
  • Reusable
  • In system design, which principle emphasizes the importance of minimizing effort and costs for ongoing maintenance?

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

    What defines the fundamental organization of a system and its components?

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

    Which characteristic ensures that a system remains usable and provides a positive user experience?

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

    What is a key concept that involves using existing classes or components to improve efficiency in system design?

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

    What does the activation bar on a lifeline indicate in a sequence diagram?

    <p>The time period when an object is executing based on the message</p> Signup and view all the answers

    Which of the following best describes usability in user experience (UX) design?

    <p>The ease with which users can learn to use a product or service</p> Signup and view all the answers

    What principle does KISS in UI design highlight?

    <p>Keeping design elements simple and clear</p> Signup and view all the answers

    Which metaphor organizes the screen to resemble a physical desktop?

    <p>Desktop Metaphor</p> Signup and view all the answers

    What does visual language in UI design encompass?

    <p>The overall visual style including colors, typography, and layout</p> Signup and view all the answers

    Which form of relationship allows the 'part' to exist independently from the 'whole'?

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

    What defines a class that cannot be instantiated?

    <p>Abstract Class</p> Signup and view all the answers

    What type of class allows objects to continue existing even after the system shuts down?

    <p>Persistent Class</p> Signup and view all the answers

    Which of the following indicates whether an attribute can be accessed directly by other objects?

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

    In a generalization/specialization relationship, which option correctly represents the hierarchy?

    <p>Motor vehicles → Cars → Motorcycles</p> Signup and view all the answers

    Which term refers to a class that acts as an intermediary between the user interface and entity classes?

    <p>Controller Class</p> Signup and view all the answers

    Which method naming convention uses lower case with a verb-noun format?

    <p>Method Signature</p> Signup and view all the answers

    What defines the type of data an attribute can hold?

    <p>Type Expression</p> Signup and view all the answers

    Which of the following methods is most likely to be private?

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

    What is the primary goal of low coupling in a system design?

    <p>To minimize dependencies and associations between classes</p> Signup and view all the answers

    How is high cohesion achieved in a module?

    <p>By assigning responsibilities related to the same functionality</p> Signup and view all the answers

    In polymorphism, to whom should responsibility be assigned for behavior that varies slightly?

    <p>To the subtype</p> Signup and view all the answers

    What is the purpose of pure fabrication in software design?

    <p>To create an artificial class for managing low cohesion and high coupling</p> Signup and view all the answers

    What does the principle of indirection primarily aim to achieve?

    <p>To mediate interactions between components for low coupling</p> Signup and view all the answers

    Which of the following best describes the protection from variations principle?

    <p>To keep stable interfaces separate from those likely to change</p> Signup and view all the answers

    Which step is NOT part of achieving low coupling?

    <p>Promoting the use of global variables across classes</p> Signup and view all the answers

    Which characteristic is indicated by high cohesion within a class?

    <p>All methods share a common purpose</p> Signup and view all the answers

    What is the first step in achieving high cohesion?

    <p>Examine classes with many responsibilities</p> Signup and view all the answers

    What is a potential result of improper use of polymorphism?

    <p>Increased system rigidity</p> Signup and view all the answers

    What is the primary purpose of a System Sequence Diagram (SSD)?

    <p>To display the messages exchanged between an actor and the system</p> Signup and view all the answers

    Which of the following statements accurately describes output messages in an SSD?

    <p>They denote the results of an operation and are often dashed lines</p> Signup and view all the answers

    What does the asterisk (*) signify in the message notation of an SSD?

    <p>Repeating or looping of the message</p> Signup and view all the answers

    In the context of SSDs, what does an 'optional frame' indicate?

    <p>Messages may or may not be sent based on a condition</p> Signup and view all the answers

    What is a key benefit of separating user interface forms from application logic?

    <p>It protects the application from changes in the user interface</p> Signup and view all the answers

    Which type of frame allows for alternative message flows in a sequence diagram?

    <p>Alternate Frame</p> Signup and view all the answers

    Why is it advised to use classes for database connections that are likely to change?

    <p>To minimize the impact of changes in database logic on application logic</p> Signup and view all the answers

    What do the input messages in an SSD initiate?

    <p>The internal processing of the system</p> Signup and view all the answers

    When deciding between two design alternatives, which option should be preferred?

    <p>The one with protection from variations</p> Signup and view all the answers

    How are parameters shown in the message notation of SSDs?

    <p>In parentheses on initiating messages only</p> Signup and view all the answers

    Study Notes

    Systems Design

    • Systems design aims to define, organize, and structure the components of the final solution, serving as a blueprint for development.
    • Systems analysis is the initial stage, providing input for systems design.
    • Systems design focuses on the system's high-level architecture. This includes the hardware and network infrastructure, how sub-systems interact, and standards (e.g., screens, reports).
    • Detailed design delves deeper into specifications. It encompasses class design (defining attributes and methods), user interface implementation, business logic, sequence design (guiding software methods), UI and report design, database design, and security/control design.

    Measurable Objectives in Design

    • Objectives should be quantifiable and testable, aligning with SMART criteria: Specific, Measurable, Actionable, Realistic, and Time-Based.
    • Specific objectives are clear and unambiguous. For instance, instead of "more visitors," aim for a specific numerical target or percentage increase.
    • Measurable objectives are quantifiable for tracking progress and determining success. For example, "decrease user sick leave by 20%".
    • Actionable objectives are achievable through concrete solutions, like increasing user engagement using design elements such as upvote buttons, feedback forms, or comments.
    • Realistic objectives are attainable within constraints; for example, aiming for every visitor to signup can be overly ambitious and needs adjustment.
    • Time-based objectives have clear timelines; for example, acquiring 1,000 users monthly over six months.

    Qualities of Design

    • Functional: The system should perform all stated functions.
    • Efficient: Minimizes time and resources (like disk space) while performing functions efficiently.
    • Economical: Consideration of both initial setup and ongoing costs (Total Cost of Ownership).
    • Reliable: Resistant to hardware and software failures, ensuring data integrity.
    • Secure: Safeguards against unauthorized access and malicious attacks (like passwords and firewalls).
    • Flexible: Adaptable to evolving needs and user settings.
    • Buildable: Design should be clear and manageable for programmers.
    • Manageable: System should be easy for managers to estimate workload and sub-system completion.
    • Maintainable: Effort for system maintenance is minimized.
    • Usable: Provides a productive user experience.
    • Reusable: Incorporates reusable components and design patterns for flexibility and extension..
    • Elegant-Beautiful: A visually appealing design helps encourage user engagement.

    What is a System?

    • A System is a collection of connected components that accomplish a specific function, like the respiratory or digestive systems. It serves as a blueprint for the design, building, and deployment of related systems..

    What is Architecture?

    • Architecture refers to how the components of a system are organized and how they interact with each other and their environment.

    Cloud Services Architecture

    • Cloud services are on-demand services accessible over the internet by cloud computing providers.
    • Infrastructure as a service (IaaS): Users receive fundamental computing resources (virtual machines, storage, networking) to build their own platforms and applications.
    • Platform as a service (PaaS): Provides a pre-configured platform for developing, deploying, and managing applications, allowing users to focus on app development without managing the underlying infrastructure.
    • Software as a service (SaaS): Delivers ready-to-use software and applications on cloud infrastructure.
    • Backend as a service (BaaS): Provides cloud-based backend services (data storage, user authentication).
    • Function as a service (FaaS): Allows developers to deploy and run individual functions or code pieces in the cloud.

    Client/Server Architecture

    • Divides an application into client (user interface) and server (powerful computer) components.
    • The client sends requests; the server processes them, manages storage, and sends responses to the client.

    Three-Layer Architecture

    • Divides an application into view (user interface), logic (business logic), and data (data access) layers.

    Application Programming Interface (API)

    • An API acts as an intermediary between software components or systems.
    • It defines how components interact (e.g., retrieving data, creating objects).
    • Uses standardized data formats (e.g., JSON, XML) to ensure compatibility between different applications.
    • Includes web protocols like HTTP and HTTPS for secure communication between client and server.

    Object-Oriented Design

    • Object-Oriented Design (OOD) is a software development approach.
    • Classes act as blueprints or templates for creating objects.
    • Classes define structure and behavior of objects.
    • Objects represent entities within the system (possessing attributes and methods).
    • Design Class Diagram (DCD): Visual representation of objects, outlining their attributes and methods.

    GRASP

    • GRASP (General Responsibility Assignment Software Patterns) is a set of nine principles that help in assigning responsibilities to objects. These principles work towards making systems more maintainable and understandable.

    Low Coupling

    • Low coupling refers to the minimization of interdependencies between different classes/objects within a system.
    • Minimize the impact of any change in a class on other classes within the system. Reusability is enhanced, and the effect of changes can be localized.

    High Cohesion

    • High cohesion works toward keeping classes focused on a single task or responsibility.
    • Complex systems becomes more manageable and maintainable.

    Polymorphism

    • Polymorphism is a concept in object-oriented programming,allowing multiple methods with the same name but with different parameters (static/method overloading) or based on different object types after inheriting from a common class/base class (dynamic/method overriding or static and dynamic binding) to perform different tasks through single method definition.

    Databases

    • Database management systems (DBMS) are sets of programs that help organize, store, and retrieve data.
    • Layered architecture for databases comprises a presentation layer (showing data to users), application logic layer (handling business logic, and domain layer (holding business logic info and rules).
    • Data providers (ex. Connection), data objects, and data adapters are integral elements that work with a database to get and update data.

    Collections

    • When dealing with groups of items (objects), better approaches than arrays can be used to organize them (collections). Collections provide methods for managing and accessing groups of objects, like search, navigation, and removing items.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    INF2011S Study Material PDF

    Description

    Explore the fundamentals of systems design, focusing on architecture, detailed design, and the importance of quantifiable objectives. This quiz covers the initial stages of systems analysis and the SMART criteria for setting effective objectives. Test your understanding of these concepts and how they impact successful system development.

    More Like This

    Use Quizgecko on...
    Browser
    Browser