CSE460 Midterm Study
What are the major steps in the software development process?
1. Requirements 2. Development Process 3. Deployment
In the Arizona Investment Bank (AIB) case study, when the bank has a list of customers and accounts, what type of system objects relationships is this?
Aggregation
When designing objects using Object-Oriented programming, which of these are underlying concepts of design? Select all that apply.
Architecture, Abstraction, Modularity
In the Arizona Investment Bank case study, when the customer maintains his/her accounts, what type of system objects relationships is this?
Association
In which type of structural relationships among objects, does one object need to access the other object in order to process it or use its data or functionality?
Association
When we are documenting objects and object relationships, which of these relationships can be used as structural relationships? Select all that apply.
Association, Composition, Aggregation
When do the three artifacts (1. use cases, 2. use case diagrams and 3. class responsibility collaborator diagrams) effectively become the communication medium among the stakeholders?
At the beginning of the project cycle
In the Arizona Investment Bank (AIB) system example, which of the following objects is categorized in boundary classes?
Bank user interface class
In the Analysis Modeling Approach, which type of model includes sequence diagrams belongs to?
Behavioral Models
In object-oriented analysis modeling, state and sequence diagrams are examples of which category of modeling approaches?
Behavioral models
Which of the following are part of a software designer's role
Being aware of the technology challenges, Evaluating different quality factors, Incorporating changes while maintaining integrity
What are the three portions of a class responsibility collaborator (CRC) diagram?
Class, responsibility, collaborator
In the Analysis Modeling Approach, which of the following is used for Class Models?
Collaboration Diagrams
What is a key characteristic of software architecture that responds well to changing demands
Components that are loosely coupled and highly cohesive
When we are documenting objects and object relationships, which of these structural relationships is considered a "whole-to-part" relationship where A consists of B, and if A is removed, so is B?
Composition
What does cloud computing allow us to utilize the web as a service provider?
Computing and Storage
In the Arizona Investment Bank case study, when the customer performs bank transactions, what type of system objects relationships is this?
Dependency
What is a software requirement
Deployment Requirement, Functionality, UI requirement
In the Arizona Investment Bank (AIB) example scenario, which of the following is a *functionality* of the system?
Deposit
What is the correct order of the steps of software development process
Design, Develop, Test, Implement
As stakeholders, what viewpoints are the customers/end users interested in
Detailed Design and risks analysis
As a stakeholder, which set of viewpoints is the development team interested in
Detailed design, Implementation details, testing
What are the two main sources of development challenges in modern software systems?
Distributed Nature and system size
What is the role of analysis modelling in object-oriented design? Select all that apply.
Eliciting requirements in a manner to be understandable for a team.
In object-oriented analysis modeling, which process is utilized after the object identification process?
Establishing high-level object relationships
What is the role of Class Responsibility Collaborator (CRC) diagrams?
Establishing relationship among identified objects from use cases.
In which type of use case diagram relationship does the *base* case complete by itself and the relationship adds more values, but it is optional?
Extend
T/F? Cloud computing is solely capable of sharing resources from smart devices, such as smart refrigerator, across the Web
False
T/F? Computing as a utility is provided in service-oriented applications
False
T/F? HTTP, REST, and JSON are examples of software structures in modern software systems
False
T/F? Hardware and system configuration are the responsibilities of the software development team
False
T/F? Recoverability is one of the key properties in software usability
False
From software architecture design perspective, which of the following will lead to a better software architecture design initially? Select all that apply.
Focus on the key elements and their relationship of the software system independent from the technology, Functionality?
When we are documenting objects and object relationships, which of these structural relationships is considered as "is-a-kind-of" relationship?
Generalization
In Object-Oriented Design, which of the following does "Information Hiding" *discourage* the use of?
Global Data
How can information hiding be *beneficial* in object-oriented analysis and design? Select all that apply.
It emphasizes communication through controlled interfaces, It limits the global impact of local design decisions.
Which of the following are the features of modern complex software systems
Large code base, Distribute resources, Heterogenous resources
Considering major underlying concepts of object-oriented design, which concept indicates how well objects abstract underlying data and procedure so that each object is as independent as possible?
Modularity
Which of the following pairs of factors are software designers *most* interested in
Modularity and Modifiability
Which notations are used in sequence diagrams designed by unified modeling language (UML)? Select all that apply.
Object Lifeline, Self message, Alternative action scenario
What does "noun extraction" refer to in analysis modeling?
Object identification
In the Arizona Investment Bank (AIB) case study, the potential object "Bank transaction" falls under which category?
Occurrences and events
In the Arizona Investment Bank (AIB) case study, the potential object "Bank" falls under which category?
Organization unit
Which of the following is a potential object to be identified from use cases? Select all that apply.
Organizational units, Things, Ocurrances of Events
Which portion of an index card in the Class Responsibility Collaborator (CRC) diagram lists main functionalities of the class?
Responsibility
In the Arizona Investment Bank (AIB) case study, the potential object "Customer" falls under which category?
Role
In Object-Oriented Analysis, when identifying objects from Use Cases, which of these is a potential object? Select all that apply.
Roles, Structures, External entities
What analysis modeling approach includes use cases and user stories?
Scenario-Based Modeling
In object-oriented analysis modeling, use cases belong to which category of modeling approaches?
Scenario-based models
What is the correct order of developed models in each step of analysis modeling?
Scenario-based, class, flow, behavioral models
In Unified Modeling Language (UML), which of the following are valid transitions states used in a State Diagram? Select all that apply.
Self transitions, Fork, Join
Which type of object-oriented analysis modeling artifacts specifically helps identify missing methods or attributes in the classes and refines the class relationships in the class diagram?
Sequence diagram
Which type of diagram describes the dynamic behavior of the objects and the interactions between objects by depicting time ordering?
Sequence diagrams
Which factors have a direct impact on the stability of the changeable software systems?
Severity of software bugs, Number of software bugs, Satisfying quality factors
What is a collection of structures and connections among structures that depict the layout of the software system
Software Architecture
Which tool is used to develop behavioral models for analysis modeling in object-oriented design?
State diagrams
While analyzing object behavior, which diagram represents a collection of objects with their state, state transitions, actions and state changes due to input?
State diagrams
What do the responsibility portion of index cards for the class responsibility collaborator (CRC) diagram contain?
The list of the main functionalities of the class
Which of the following concepts can a use case diagram represent? Select all that apply.
The main functionalities of the system, The relationships among the system functionalities, The entities (actors) that invoke the system functionalities.
In Object-Oriented Design sequence diagrams, what does *Alt* represent?
The selections and loops
To what can most software failure be tracked back
The software design and architecture
Based on case study of Arizona Investment Bank (AIB), which of these can be selected as use cases? Select all that apply.
Transfer, Deposit, Withdraw
T/F Interfaces are in charge of connecting software structures together
True
T/F? In practical scenarios, software stability generally diminishes due to applied changes on it through time
True
T/F? In software efficiency analysis, resource usage directly depends on the data structures and memory management
True
T/F? Software designs independent from technology are more amenable for changes and the natural growth
True
T/F? The protocols and data exchange/presentation rules in the design of the World Wide Web are independent of the technology
True
In analysis modeling, where does the identification of objects and object relationships start?
Use case scenarios
Software stability cannot be related to
User friendliness
In Object-Oriented Design, which of the following can be a type of boundary class? Select all that apply.
User interface, Device Interface, Other systems interfaces
What is the task of software architecture as a messenger?
What is the task of software architecture as a messenger?
Which statement applies to design patterns in software design? Select all that apply.
A design pattern represents a reusable solution to a commonly occurring problem, Design patterns are proven solutions under certain software requirements, Design patterns can be adopted with required modifications in solving a new problem.
The interface of the module is the communication channel between which two things?
A module and its environment
Which of the following are major underlying concepts of object-oriented design? Select all that apply.
Abstraction, Architecture, Modularity
Which considerations are key considerations in software design? Select all that apply.
Abstraction, Modularity, Interfaces
Which design pattern matches interfaces between classes?
Adapter
Which pattern among structural design patterns matches interfaces between classes?
Adapter design pattern
Which design patterns focus on organizing different classes and objects to form larger structures and provide new functionality? Select all that apply.
Adapter, Facade, Decorator
Floor plan in building a house is analogous to software _______ in software systems?
Architecture
Based on the Arizona Investment Bank (AIB) Case Study, which is a part of Application Logic Server Operations of AIB System Code View Organization?
BankAccount, BankUI
Which pattern among creational design patterns aims to separate a complex object from its representation?
Builder design pattern
In the representation of layered architecture (please see image), with which layers can the *Data Service* layer communicate? Select all that apply.
Business Logic, Other service
Which **one** of the following choices is a layer of layered architecture?
Business logic, Data logic, UI/Interface
Which design passes messages to multiple participating objects in the system?
Chain of Responsibility
Which are key diagnostics of maintainability?
Change the Design, Adopt to technology advancements, Test after changes
What are the key operational expectations of software systems?
Changeability and durability
In the Arizona Investment Bank (AIB) system, services are accessed through a web interface by users, and user and bank account details are stored in a database server. Which of the following architectural patterns is best suited to this system?
Client-Server
Which of the following is a system model that shows how data and processing are distributed across a range of components?
Client-server architecture
Which of the following choices has direct influence on software architecture design? Select all that apply.
Code design, Hardware architecture
Which software architecture view indicates how module view and execution view can be accomplished through the code?
Code view
What word *best* describes how well the data and procedures within the module perform a single major task **and** are tightly related to each other?
Cohesion
What kind of coupling is exhibited when two or more modules all use the *same data item*?
Common
What is a high-level view of important design modules and elements?
Conceptual view
Which type of software architecture view provides a high level view of important design modules or elements?
Conceptual view
What are the two main roles of software architecture in the software development process?
Connecting stakeholders and preserving maintainability
As we go from personal computer systems to web-based computer systems what has increased?
Connectivity and Diversity & System and network heterogenity
What kind of coupling is exhibited when, among two modules, Module A **directly accesses and changes** the Module B data?
Content
Which of the following are types of coupling? Select all that apply.
Content Coupling, Common coupling, Control coupling, Stamp coupling, Data coupling
Which type of class handles the system events and interactions in object-oriented analysis?
Control
While identifying and modeling objects in Object-Oriented analysis, which of the following are potential class categories during early stages? Select all that apply.
Control Class, Boundary Class, Entity Class
In Object-Oriented Modeling, which category of objects are created in the beginning of use case and is destroyed at the end of use case?
Control objects, Boundary objects
Which type of design pattern provides solutions to instantiate an object in the best possible way for specific situations?
Creational
Based on the Arizona Investment Bank (AIB) case study, which of these can be selected as actors? Select all that apply.
Customers, Bank
What kind of coupling is exhibited when, among two modules, Module A **passes a data values method parameter** to Module B?
Data
Which type of coupling has the lowest negative impact on modularity?
Data coupling
What types of abstraction are applied in software design? Select all that apply.
Data, Interface, Control
Which of the following choices are valid software architecture views? Select all that apply.
Decomposition View, Implementation View, Deployment View
If you wanted to make a pizza object with multiple toppings, what kind of structural design pattern would be used?
Decorator
Which of the following choices drive the software architecture design process? Select all that apply.
Deployment Requirements, Project scope, Experience with similar systems
What is the primary focus of software design?
Design each module/unit in the system
Which *one* of the following choices is an example of a commonly used architectural pattern?
Event-Bus Pattern
Which view describes how modules are mapped to runtime platform?
Execution view
Which type of design is a single object representing a complex subsystem?
Facade
Which of the following are *creational* design patterns? Select all that apply.
Factory Design Pattern, Builder Design Pattern, Singleton Design Pattern
Which type of cohesion is the *most desirable* in software design?
Functional Cohesion
Which of the following sets of cohesion types are **most** desirable in software system design?
Functional, Sequential, Informational, and Procedural
Which of the following is a type of cohesion that determines how well each element in a module is related to each other? Select all that apply.
Functional, Sequention and Logical cohesion
Which sequence shows the correct order of Web evolution with respect to increase in functionality and capabilities?
HTML Web, service-oriented computing, cloud computing, and Internet of Things
Which of the following technologies were invented for the web? Select all that apply.
HTML, HTTP, URI
As a stakeholder, which set of viewpoints is the *deployment team* interested in?
Hardware and software configurations
Which of these are the benefits of using design patterns? Select all that apply.
Helps to increase the modularity, Helps to develop reusable components during the software design
From the user perspective, the seamless connection among resources for information sharing in the web means:
Hidden implementation details of the communication link from users view
What makes modifying parts of the system difficult?
High Coupling
When considering a system's modularity, what does a well-defined object exhibit?
High cohesion and low coupling
In a use case diagram, which relationship indicates that the base case requires another functionality to be complete?
Include
How the nature of software systems has changed through their evolution from 1980's to 2006?
Increased connectivity and increased diversity.
Which one of the founding principles of object-oriented programming emphasizes communication through controlled interfaces
Information Hiding
Which founding principle in object-oriented programming, emphasizes communication through controlled interfaces?
Information hiding
Which founding principle in object-oriented programming, limits the global impact of local design decisions that reduces the likelihood of *side effects*?
Information hiding
Which type of cohesion has *modules that perform search, insert, delete and update operations on a dataset represented as a linked list in the system*?
Informational Cohesion
In Unified Modeling Language (UML), which of the following is the correct order of State Diagram notations?
Initial state, State, Composite state, and Final
In software design, what is the communication channel between the module and its environment?
Interface
Which statements are true about interfaces in software design? Select all that apply.
Interfaces define what services the software unit provides to the rest of the system, Interfaces define how other modules can access the software unit services.
In the initial idea of Web, what are the two types of resources on the Web from deployment perspective?
Interfaces/structures
What term describes a situation where conventional devices *and* smart devices share information and computation across the web?
IoT
Which of the following architectural patterns are *most* commonly used? Select all that apply.
Layered pattern, Peer-to-peer pattern, Call and return value
Which of the following is the result of functional decomposition in Arizona Investment Bank (AIB) system? Select all that apply.
Main business operation, User interface, Bank account and user account storage
In an Object-Oriented system, which of the following models the behavior of an object?
Methods
While a software undergo's changes, the objective is to accommodate changes with
Minimum or no effect to stability
What is it called when a software system is decomposed into smaller parts by grouping related functionality and data together?
Modularity
Which quality factors are **most** affected by creational design patterns? Select all that apply.
Modularity of the design, Runtime resource usage, Modifiability of the design
Which of these are *key* design considerations? Select all that apply.
Modularity, Abstraction, Interfaces
Why is a client-server architecture ideal for the Arizona Investment Bank (AIB) system? Select all that apply.
Multiple users can access the system simultaneously, Bank employees can add customers and create accounts through the web interface, UI runs in the client side as a web application client.
Suppose you wish to use a web browser for web crawling. There are requirements in the system so there are a limited number of browsers which can be instantiated at a given time. Which design pattern can provide more control over these limited object resources?
Object pool
Which design patterns identify common communication patterns between objects? Select all that apply.
Observer, Strategy, State
In the class responsibility collaborator (CRC) diagram, what does the **collaborator portion** contain?
Other classes that help a class to complete its responsibilities
The interface specifications should be communicated to whom so that they can use the unit effectively?
Other system developers
Which of the following are necessary for data in a distributed system?
Privacy, Security, Data Integrity
Which of the interface specifications should be communicated to the system developer? Select all that apply.
Protocol, Preconditions, Postconditions
Chess is a board game for two players who move their 16 game pieces according to specific rules. The goal is to "checkmate," or capture the opponent's king game piece. Imagine you are designing a Chess board game. In the initial state, to avoid repetitive object initialization process, which design pattern should you use?
Prototype
Review the Chess Board Image. Suppose you are designing a chess board game. In the initial state, to avoid repetitive object initialization process, which design pattern should you use?
Prototype design pattern
Which pattern is used in developing remote web service access?
Proxy design pattern
Fault tolerance and recoverability are key factors under which of the following software quality factors?
Reliability
While drawing sequence diagrams, which of the following is a valid basic notation? Select all that apply.
Reply Message, Object lifeline, Synchronous message
Customers or end users are directly involved in ____________.
Requirements, risk analysis
In the class responsibility collaborator (CRC) diagram, which portion of the "index card" lists the main functionalities of the class?
Responsibility
Which software quality factor is improved using creational design patterns? Select all that apply.
Runtime resource usage, Modularity of the design, Testability of the system
Which one is the specific protocol for sharing computable programs across the network in Service-Oriented Computing (SOA)?
SOAP and REST
In which type of cohesion is an output from one element an input to another?
Sequential cohesion
Which of the following can be viewed as a functional decomposition of major functionality of a software system?
Software Architecture
Who uses the knowledge of reference architectural style?
Software Designers
What is a collection of structures and connections among these structures that depict the layout of the software system?
Software architecture
In which category of design patterns, are inheritance and composition used to create a large object from small objects?
Structual
Which one of these design patterns provides different ways to create class structures?
Structual
Which is correct about the Factory Design Pattern?
The client maintains the different types of objects requested and can create instances while the factory handles creation.
What is cohesion in software design?
The degree to which data and functionality in a module relate to each other.
Which type of UML notation in state diagram is used to show the state change of the object and the event caused the state change?
Transition
Based on the Arizona Investment Bank (AIB) Case Study, which of the following is a functionality?
User Interface
Based on the case study of Arizona Investment Bank (AIB), which of the following are considered transactions that require customer validation? Select all that apply.
Withdraw Money, Deposit Money, Transfer Money,
What three design patterns are well-known as a Gang of Four (GoF)?
creational, structural, and behavioral
In the Arizona Investment Bank (AIB) system using client-server architecture, where are bank and customer account details stored?
database server