click below
click below
Normal Size Small Size show me how
CS 3365 Exam 2
| Question | Answer |
|---|---|
| UML diagram type: Activity diagrams | which show the activities involved in a process or in data processing |
| UML diagram type: Use case diagrams | which show the interactions between a system and its environment |
| UML diagram type: Sequence diagrams | which show interactions between actors and the system and between system components |
| UML diagram type: Class diagrams | which show the object classes in the system and the associations between these classes (systems objects, attributes, associations, and operations) |
| UML diagram type: State diagrams | which show how the system reacts to internal and external events |
| UML diagram type: State machine diagram | show system states as nodes and events as arcs between these nodes. When an event occurs, the system moves from one state to another |
| symbols used in diagrams: Square | External Entity - An element that inputs data into a system and/or retrieves data from the system. |
| symbols used in diagrams: Circle/Oval | Process - The circle represents a process. In the context diagram, there is only 1 process that represents the entire system |
| symbols used in diagrams: Line with arrow --> | Flow line - Shows the movement of data from one entity/process to another. |
| Context Diagram | Uses a Process (Circle), External Entity (Square), Flow Line (-->) |
| Interaction Model (Two - approaches) | Use case modeling & Sequence diagrams (presents interaction at different levels of details) |
| Interaction Model | provides the underlying structure or blueprint for how a product or system behaves based on known user behavior |
| Interaction Model (Use case) | developed originally to support requirements elicitation and are now incorporated into the UML. Each use case represents a discrete task that involves external interaction with a system. |
| Unified Modeling Language (UML) | Visual and modeling notation for an object-oriented software system Standardized notation for object-oriented development (oop) Needs to be used with an analysis and design method |
| Structural model | consists of the objects in the system and the static relationships that exist between them, display the organization of a system in terms of the components that make up that system and their relationships. |
| Structural models (static model) | show the structure of the system |
| Structural models (dynamic model) | which show the organization of the system when it is executing |
| Structural model (Class Diagram: Inheritance) | Indicate a “child-parent” relationship between classes. The child class is a specialized, sub-class of the parent. (---Triangle) |
| Structural model (Class Diagram: Association) | represented by a straight line connecting two classes. It demonstrates that the classes are aware of their relationship with each other. (----) |
| Structural model (Class Diagram: Aggregation) | denotes one object is composed of other objects). (---Diamond) |
| Behavioral model | They show what happens or what is supposed to happen when a system responds to a stimulus from its environment. |
| Behavioral model (Data-driven) | Some data arrives that has to be processed by the system. The availability of the data triggers the processing. |
| Behavioral model (Event-driven) | Some event happens that triggers system processing. Events may have associated data, although this is not always the case. |
| Data-driven modeling | show the sequence of actions involved in processing input data and generating an associated output. (Data-flow diagrams can be represented in the UML using the activity diagram type) |
| Behavioral model (UML) | processing steps, represented as activities (rounded rectangles), data flowing between these steps, represented as objects (rectangles -- shows input/outputs from objects). |
| model-driven architecture | focuses on the design and implementation stages of software development |
| model-driven engineering | concerned with all aspects of the software engineering process (approach to software development where models rather than programs are the principal outputs of the development process. ) |
| Types of models in Model-driven architecture (computation-independent model "CIM") | These model the important domain abstractions used in a system. Are sometimes called domain models. |
| Types of models in Model-driven architecture (platform-independent model "PIM") | These model the operation of the system without reference to its implementation. Usually described using UML models that show the static system structure and how it responds to external and internal events. |
| Types of models in Model-driven architecture (Platform-specific models "PSM") | These are transformations of the platform-independent model with a separate ... each application platform. In principle, there may be layers of this model, with each layer adding some platform-specific detail. |
| Domain | problem space you are working in |
| Disadvantages of model-driven architecture | limited tool availability which may require tool adaptation and customization to their environment Companies do not want to develop or maintain their own tools or to rely on small software companies |
| Disadvantages of model-driven architecture | Without these specialist tools, model-based development requires additional manual coding which reduces the cost-effectiveness |
| Disadvantages of model-driven architecture | The widespread adoption of agile methods over the same period Specialized translator tool may have to be created to convert models from one level to another |
| System Modeling | the process of developing abstract models of a system, with each model presenting a different view or perspective of that system. This helps the analysts (us) understand the functionality of the system and models. |
| What kind of characteristics are shown in a context model? | How external entities interact with an internal software system |
| Which of the following diagrams can be used to represent an "interaction model"? | Use case diagrams & Sequence diagrams |
| Which one of the following statement is true about use cases: | Use cases are used to represent functional requirements. |
| symbol used to indicate a use case | Oval/Circle |
| Select all the relationships associated with use cases | Association, Generalization(Inheritance), Extend, Include |
| What does an "alternative frame" symbolize in a sequence diagram? | if else logic |
| UML Diagram Notations | Public: +, Private: -, Protected: # |
| class A { public: int a; int h; void BMI_cal(float); void setGPA(); private: float BMI; float GPA; }; | Class A ----------------------------- + age: int + height : float # BMI_cal(float): void #setGPA(): void ----------------------------- - BMI: float - GPA: float |
| Mulitplicity: 0..1 | Zero or one |
| Mulitplicity: 1 | Only 1 |
| Mulitplicity: 0..* | 0 or more |
| Mulitplicity: 1..* OR * | 1 or more |
| Mulitplicity: n | Only n (where n > 1) |
| Mulitplicity: 0..n | Zero to n (where n > 1) |
| Mulitplicity: 1..n | One to n (Where n > 1) |
| Behavioral models are models of the dynamic behavior of a system as it is executing. They show what happens when a system responds to a stimulus from its environment. Which one of the following stimuli can trigger a system? | Data Events |
| Which one of the following diagrams can be used to describe how a system behaves in responds to events? | State Diagram |
| Which ones of the following statements are true about "model-driven architecture"? | Model-driven architecture focuses on the design and implementation stages of software development |
| Which ones of the following statements are true about "model-driven architecture"? | Model-driven architecture will try to generate executable codes by sending a platform-specific model through a translator tool |
| Why is architectural design important? | It helps software engineers analyze their systems in whether it is able to meet non-functional requirements. |
| How does architectural design help stakeholders? | Help improve communication |
| (True/False) An architectural diagram of a system shows the detailed relationships between components. | False |
| (Ture/False) An architectural pattern is a description of a system organization. | True |
| What are the four architectural views learned in this chapter 6? | Process View Logical View Physical View Development View |
| Architectural patterns/styles give us a clue as to at which situations we should use a certain architectural pattern. List all of them: | Client Server Layered Pipe and filter Repository Model-view-Controller (MVC) |
| System functionality is organized into separate layers, and each layer only relies on the facilities and services offered by the layer immediately beneath it. | Layered Style |
| What is an example of a transaction processing application? | Online Shopping |
| (True/False) It is not possible to combine several architectural patterns together when developing an application. | False |
| Model - View - Controller (MVC) | Separates presentations and interactions from the system data System structured into three logical components (Model) (View) (Controller) |
| Layered Architecture | Organizes the system into layers with related functionality associated with each layer. Layer provides services to the layer above as the lowest-level are core services |
| Repository Architecture | All data in a system is managed in a central repository, which is accessible to all system components (they do not interact directly only through repository) |
| Client - Server Architecture | Functionality of the system is organized into services Each service delivered from a separate server Clients are users of these services and can access them |
| Pipe and Filter Architecture | Processing of the data in a system that is organized so that each processing component (filter) is discrete and carries out one type of data transformation Data flows from one component to another for processing |
| Main Advantages of using a system Architecture | Scalability, Performance, Modifiability, Security, Cost Reduction |
| Advantages of Explicit Architecture | Stakeholder Communication System Analysis Large-Scale Reuse |
| Architecture and System Characteristics (Performance) | should be designed to localize operations and minimize communications. You can also use large rather than fine-grain components to minimize communication delays. |
| Architecture and System Characteristics (Security) | Use a layered architecture with critical assets protected in the innermost layers. (means being free of risks associated with people who have a deliberate intention to do harm) |
| Architecture and System Characteristics (Safety) | Localize safety-critical features in a small number of sub-systems. Prevent middleware attacks. (the protection against risks caused by non-deliberate external factors) |
| Architecture and System Characteristics (Availability) | Include redundant components and mechanisms for fault tolerance. (Fault-tolerant architecture) |
| Architecture and System Characteristics (Maintainability) | Use fine-grain, self-contained components that may readily be changed. |
| Four architectural views: Logical view | shows the key abstractions in the system as objects or object classes. Shows functionality in these objects. |
| Four architectural views: Physical view | shows the system hardware and how software components are distributed across the processors in the system. |
| Four architectural views: Development view | shows how the software is decomposed for development; that is, it shows the breakdown of the software into components. |
| Four architectural views: Process view | shows how, at run-time, the system is composed of interacting processes. This view is useful for making judgments about non-functional system characteristics such as performance and availability. |
| application types: Data Processing | Data-driven applications that process data in batches without explicit user intervention during the processing. |
| application types: Transaction Processing | Data-centred applications that process user requests and update information in a system database. |
| application types: Event Processing | Applications where system actions depend on interpreting events from the system’s environment |
| application types: Language Processing | Applications where the users’ intentions are specified in a formal language that is processed and interpreted by the system |
| application types: Data Processing EX | billing system |
| application types: Transaction Processing EX | Online shopping, banking, hotel reservation systems |
| application types: Event Processing EX | video games, vending machines |
| application types: Language Processing EX | compiler, google assistant, web search engines |
| Examples of application architectures | batch data-processing systems, resource allocation systems, event-based editing systems. |
| System architecture diagrams use symbols ... | Diamonds (Represent a System) Semi-Diamonds (System Tools - Design Assests) Circles (Products) Connectors (Lines) Squares (component/Brand Identities) |
| Which of the following diagrams can be used to represent an "Context model"? | Context Diagram |
| Which of the following diagrams can be used to represent an "Structural model"? | Class Diagram |
| Which of the following diagrams can be used to represent an "Behavioral model"? | Data Driven --> Activity Diagram Even Driven --> State Machine |