Systems Design and Measurable Objectives

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 (D)</p> Signup and view all the answers

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

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

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

<p>Usable (C)</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 (A)</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 (A)</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 (C)</p> Signup and view all the answers

What principle does KISS in UI design highlight?

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

Which metaphor organizes the screen to resemble a physical desktop?

<p>Desktop Metaphor (A)</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 (C)</p> Signup and view all the answers

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

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

What defines a class that cannot be instantiated?

<p>Abstract Class (D)</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 (B)</p> Signup and view all the answers

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

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

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

<p>Motor vehicles → Cars → Motorcycles (C)</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 (C)</p> Signup and view all the answers

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

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

What defines the type of data an attribute can hold?

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

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

<p>setAccountBalance (C)</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 (B)</p> Signup and view all the answers

How is high cohesion achieved in a module?

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

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

<p>To the subtype (C)</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 (A)</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 (A)</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 (C)</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 (D)</p> Signup and view all the answers

Which characteristic is indicated by high cohesion within a class?

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

What is the first step in achieving high cohesion?

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

What is a potential result of improper use of polymorphism?

<p>Increased system rigidity (C)</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 (B)</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 (A)</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 (B)</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 (B)</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 (B)</p> Signup and view all the answers

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

<p>Alternate Frame (A)</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 (C)</p> Signup and view all the answers

What do the input messages in an SSD initiate?

<p>The internal processing of the system (B)</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 (C)</p> Signup and view all the answers

How are parameters shown in the message notation of SSDs?

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

Flashcards

Functional

A system must be able to fulfill its intended functions and meet all the requirements specified in the documentation.

Efficient

A system should operate efficiently, minimizing the use of time, resources, and processing power. This means optimizing performance and resource allocation.

Economical

This refers to the cost of setting up and running a system. It encompasses both initial hardware and software costs, as well as ongoing expenses like maintenance and updates.

Reliable

A system should be robust against hardware and software failures, ensuring data integrity. Thorough testing contributes to achieving this goal.

Signup and view all the flashcards

Secure

A system must implement protection mechanisms to prevent unauthorized access and malicious attacks. These measures can include passwords, firewalls, and encryption.

Signup and view all the flashcards

Flexible

A system should be adaptable to changing needs and user preferences. It should be configurable to handle various situations.

Signup and view all the flashcards

What is Architecture?

The architecture of a system defines its fundamental structure, how its components relate to each other, and how they interact with the environment.

Signup and view all the flashcards

Sequence Diagram

A visual representation of interactions within a system for a specific use case, showing actors, system, internal objects, and their collaborations.

Signup and view all the flashcards

Lifeline

A dashed line under an object in a sequence diagram representing the object's existence throughout the interaction.

Signup and view all the flashcards

Activation Bar

A vertical box on a lifeline in a sequence diagram, marking the time period when an object is actively executing based on a message.

Signup and view all the flashcards

User Interface (UI)

The point of interaction between users and a computer, website, or application, including buttons, icons, menus, and the overall visual design.

Signup and view all the flashcards

KISS (Keep It Simple, Stupid)

A design principle focusing on simplicity and clarity, emphasizing user-friendliness and ease of understanding.

Signup and view all the flashcards

Aggregation

A relationship where the "part" can exist independently of the "whole". For example, a car can exist without a specific owner.

Signup and view all the flashcards

Composition

A stronger form of aggregation where the "part" cannot exist without the "whole". If the "whole" is deleted, the "part" also ceases to exist.

Signup and view all the flashcards

Inheritance

A mechanism where subclasses inherit attributes and methods from their superclasses.

Signup and view all the flashcards

Generalization/Specialization

A type of inheritance relationship where classes are ranked from general to more specific. Subclasses inherit from their superclasses.

Signup and view all the flashcards

Abstract Class

A class that cannot be instantiated (no objects can be created directly from it). It serves as a template for more specific classes.

Signup and view all the flashcards

Concrete Class

A class that can be instantiated, meaning objects can be created from it. It represents actual, tangible entities in the system.

Signup and view all the flashcards

Persistent Class

A class whose objects persist even after the system shuts down. Data is saved and can be retrieved later.

Signup and view all the flashcards

Controller Class

A class that acts as an intermediary between user interface classes and data classes. It receives requests and directs them for processing.

Signup and view all the flashcards

Attributes

The characteristics or properties of an object. They can be private, meaning they can only be accessed within the class itself.

Signup and view all the flashcards

Low Coupling

A design principle aimed at minimizing the impact of changes in a system, achieved by reducing dependencies between classes and modules.

Signup and view all the flashcards

High Cohesion

A design principle that focuses on creating modules (classes, methods) that have a single, well-defined responsibility.

Signup and view all the flashcards

Polymorphism

A design principle that allows for flexibility in handling related but varying elements by assigning responsibility to the specific element type.

Signup and view all the flashcards

Pure Fabrication

A design principle that addresses high cohesion and low coupling by introducing an artificial class to handle complex tasks.

Signup and view all the flashcards

Indirection

A design principle that promotes indirect communication between components to achieve low coupling and reuse.

Signup and view all the flashcards

Protection from Variations

A design principle that aims to protect stable parts of a system from changes in other parts by separating them.

Signup and view all the flashcards

Coupling

An indicator of how strongly a class or module relies on other classes or modules.

Signup and view all the flashcards

Cohesion

An indicator of how focused a class or module is on a single, well-defined responsibility.

Signup and view all the flashcards

Polymorphism

The ability of a class or module to respond differently to different types of input.

Signup and view all the flashcards

Pure Fabrication

An artificial class created to handle tasks related to a specific functionality, often used to improve cohesion and coupling.

Signup and view all the flashcards

System Sequence Diagram (SSD)

A UML diagram showing the inputs and outputs for a particular use case, represented as messages between an actor and the system.

Signup and view all the flashcards

Actor

An external entity interacting with the system, like a user or another system.

Signup and view all the flashcards

System

The system being modeled, with internal processing hidden.

Signup and view all the flashcards

Message

Represents communication between the actor and the system.

Signup and view all the flashcards

Input Message

Sent from the actor to the system, initiating an action or requesting a service.

Signup and view all the flashcards

Output Message

Sent from the system back to the actor, typically a response to an input message.

Signup and view all the flashcards

Frame

Used in SSDs to enclose a group of messages representing specific conditions or alternative flows.

Signup and view all the flashcards

Optional Frame (Opt)

A frame indicating messages might or might not be sent based on a condition.

Signup and view all the flashcards

Alternate Frame (if-else)

A frame representing alternative message flows, where only one path will be executed based on a condition.

Signup and view all the flashcards

Detailed Sequence Diagram

A detailed UML diagram depicting the interactions between objects within a system, showing the sequence of messages exchanged.

Signup and view all the flashcards

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

More Like This

Use Quizgecko on...
Browser
Browser