CPSC 464
Cloud computing is computing in which large groups of remote servers are networked to allow the centralized data s...... , and online access to computer s...... Clouds can be classified as pr _______, pu_________ or h_______
Data storage, computer services or resources, Private, public or hybrid
Platform as a Service (PaaS): The consumer in this case is a d_________ or a s___________ The platform provides a variety of services that the consumer may choose to use. The consumer deploys a_______ onto the cloud infrastructure using programming languages and tools supported by provider The consumer does not m______ or c______ the underlying cloud infrastructure, including network, servers, operating systems, or storage, but has c_______over the deployed applications and possibly application hosting environment configurations. Some levels of quality attributes (e.g., uptime, response time, security, fault correction time) may be specified by s_________________
Developer, system admin, application, manage/control, service-level agreement (SLA)
Software as a Service (SaaS) The consumer in this case is an end-..... The consumer uses a_______that happen to be running on a cloud. The applications can be as varied as email, calendars, video streaming, and real-time collaboration. The consumer does not m_______or c______the underlying cloud infrastructure.
End user, application, manage, control
An organization that utilizes a private cloud except for periods when spikes in load lead to servicing some requests from a public cloud. Such a technique is called "cloud b_________."
Cloud bursting
Micro-services: a. each service only does one thing but does that thing very well b. A micro-service may typically be less than one hundred lines of code c. If change is needed, services can be rewritten from scratch, potentially in a different programming language d. Micro services have a common database.
a, b, c
Orchestration server/engine: a. Is a component of SOA b. Orchestrates the interaction among various services c. Executes scripts upon the occurrence of a specific event d. Is a connector used in SOA.
a, b, c
Private cloud: a. The cloud infrastructure is owned solely by a single organization b. It Is operated solely for applications owned by that organization c. The primary purpose of the organization is not the selling of cloud services d. It is owned by an organization selling cloud services.
a, b, c
Resource pooling: a. The cloud provider's computing resources are pooled. b. Computing resources can efficiently serve multiple consumers. c. The provider can dynamically assign physical and virtual resources to consumers, according to their instantaneous demands. d. Resources usage cannot be monitored.
a, b, c
Service-Oriented Architecture: a. an architecture entirely composed of services b. does not care about implementations c. can be realized with any suitable technology platform d. user services are used as a platform for the support of SOA.
a, b, c
The purpose of change management discipline is: a. To restrict and audit changes to work products b. Includes the organization (change control board) to assess the cost, schedule, and impact of a changes c. Includes that ability to track changes in work products (history and rationale of changes made) d. Concerned with measuring the current performance of the product.
a, b, c
The purpose of the project management is: a. To provide a framework for managing the project b. To provide practical guidelines for planning, staffing, executing, and monitoring the project, c. To provide a framework for managing risk d. To provide technical guidance to the development team.
a, b, c
The role of architect with respect to development: a. Identify components of the system and their interfaces to be designed and implemented b. To identify any development-related standards, guidelines, and reusable assets c. Keep the code and the architecture consistent d. To support performance testing.
a, b, c
Unit testing: a. Refers to tests run on specific pieces of software b. tests the software in standalone fashion c. provides confidence that each of the system's building blocks is exhibiting as much as correctness as is possible on its own d. Tests the interfaces between elements.
a, b, c
Ways to achieve code alignment with the architecture: a. Sync at life-cycle milestone b. sync at crisis c. Sync at check-in d. Sync at check-out.
a, b, c
Web services include technology standards: a. SOAP b.WSDL c. XML,XML Schema d. ADL.
a, b, c
Examples of layer pattern: a. JVM b. Web application systems c. Standard C Library d. Client and server e. Fault tolerance.
a, b, c, d
The essential characteristics of cloud computing (based, in part, on definitions provided by the U.S. National Institute of Standards and Technology, or NIST) are the following: a. On-demand self-service. . b. Ubiquitous (Broad) network access. c. Resource pooling. d. Rapid elasticity. e. Measured service f. Fast deployment.
a, b, c, d, e
Documenting architecture in an agile development project: a. Produce just enough architectural design information b. Don't feel obliged to fill up all sections of the template c. Must produce 4+1 view. d. if information is not needed, don't document it
a, b, d
How architecture plays a role in unit testing? a. A unit corresponds to an architecture element b. A unit may correspond to a class in object-oriented software c. Architecture defines connectors assigned to each unit. d. A unit may correspond to a layer, or part of layer
a, b, d
Many teams building software systems that are much more monolithic in nature, where: a. everything is bundled together b. deployed as a single unit c. extremely complex to build. d. usually takes more effort to adapt in the face of changing requirements
a, b, d
Master-Slave pattern: a. Supports fault tolerance b. The master component distributes the work among identical slave components c. The Master-slave pattern is applied for instance in service-oriented system. d. Is used in parallel computation
a, b, d
SOA Connectors: a. Simple Object Access Protocol (SOAP) b. Representational State Transfer (REST) c. Synchronous messaging. d. SMTP
a, b, d
SOA Tools: a. IBM's WebSphere MQ b. Microsoft's MSMQ c. All features necessary for enterprise-level computing are fully available for SOA at this moment. d. The next generation of development tools and application servers promises to support hosting a cloud platform as a service
a, b, d
SOA components: a. Service providers b. Service consumers c. USB. d. Registry of Services
a, b, d
The role of the Architect with respect to the development environment: a. Define architecture/technology standards (Java EE) and guidelines b. Identify tools (Rhapsody, UML) to support any architecture standards c. Establish the software inspection process. d. Ensure that an appropriate infrastructure is available to implement and test the system
a, b, d
There are four techniques to help keep the code and the architecture consistent. a. Embedding the Design in the Code b. Frameworks c. Design quality measures. d. Need a strong management and process discipline to help prevent erosion
a, b, d
What is the purpose of the test discipline? a. To find and document defects in software quality b. To validate that the system functions as designed and as required c. To provide detailed design of a system. d. To involve in several level of testing: unit testing, integration testing, acceptance testing, black box/ white-box testing, etc.
a, b, d
Pipe and Filter pattern: a. provides a structure for systems that produce a stream of data b. Pipes may be used for buffering or for synchronization c. Data is not passed through pipes. d. Filters do not need to store intermediate results in files e. Having large numbers of independent filters can add computational overhead
a, b, d, e
Event-bus pattern: a. A pattern that deals with events b. Event sources publish messages to particular channels on an event bus c. Listeners are not notified of messages that are published d. Generation and notification of messages is synchronous. e. Event bus may become the bottleneck
a, b, e
P2P pattern: a. Seen as symmetric client-server pattern b. Peers can be added and removed from the P2P network with no significant impact c. There is guarantee about quality of service in P2P d. HTTPS is an example of P2P pattern. e. Multiple peers have overlapping capabilities
a, b, e
Best practices: a. Ensure the architecture is componentized appropriately b. Ensure that the architecture is well documented. c. Establish and govern architecture standards d. Ensure that qualities drive the architecture definition
a, c, d
Layered architecture benefits: a. A lower layer can be reused without changes by different higher layers b. Layers make customization easier. c. Changes can be made within the layer without affecting other layers d. A developer can develop/test particular layers independently of other layers
a, c, d
What is the purpose of the SW development discipline? a. To perform detailed design tasks b. To perform the acceptance testing. c. To unit-test the implementation d. To integrate the work of individual developers e. Ultimately to produce an executable system
a, c, d, e
We have examined various aspects of a software development project and the involvement of the architect with respect to other disciplines and roles on the team Business a...... Dev........ T..... Development env........ Project m...... Conf........... manager Ch.... Manager
analysis development testing environment manager configuration change
When the code and its intended architecture drift apart, it is called _____ _____
architecture erosion
Benefits of Service-Oriented Architecture: a. Portability b. SOA employs web services using open standards c. Service providers and consumers can run on different platforms d. SOA components such as the ESB or the registry allow dynamic reconfiguration
b, c, d
Integration Testing: a. refers to tests running on units. b. tests what happen when separate software units start to work together c. Concentrates on finding problems related to the interfaces between elements in a design d. is a test of all elements of the system, including software and hardware in their intended environment
b, c, d
MVC pattern: a. Model, View, and Command are parts of the MVC pattern. b. View displays the information to the user c. User input can invoke a change in the model via the controller d. Web presentation is an example of MVC pattern e. MVC pattern is not suitable for multiple GUIs.
b, c, d
Client-Server architectural pattern: a. A server provides services to only one client. b. A client component requests services from the server component c. Server is not listening for client(s). d. Clients and Servers may reside on different machine
b, d
The dominant pattern for edge systems is the C.../Per........ pattern.
core/periphery
An edge-dominant system is one that depends crucially on the inputs of users for its success Users participate in information creation aka "cr............." and even its organization ("folksonomy"). These systems, part of the "Web ---.0" movement, are having profound social, political, and economic consequences.
crowdsourcing web 2.0
Today many software teams have aspirations of becoming agile, driven by this declaration. What is ______________?
Agile Manifesto or Manifesto for Agile SW Development
Infrastructure as a Service (IaaS): The consumer in this case is a d __________ or s___________. The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to d_____and r____ arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has c __________ over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls). Again, S_________are often used to specify key quality attributes.
Developer/system admin, deploy/run, control, SLA
Many teams building software systems using this model, where everything is bundled together deployed as a single unit usually takes more effort to adapt in the face of changing requirements What is ______________?
Monolithic model
Issues of SOA: a. Complex to design and implement b. Performance overhead c. Lack of message delivery guarantees d. Difficult to manage user services.
a, b, c
In order to achieve the code alignment with the architecture, this approach happens when a project has found itself in a technical quagmire and needs architectural guidance to get it going again. What is ____________?
Sync at crisis
This is also known as structural testing? What is ____________?
White box testing
Any user of an application in the cloud does not need to know: a. where that application and the data it uses are situated b. that thousands of other users are sharing it c. who provides the SLA. d. how their data was backed up
a, b
Agile refers to an approach to SW architecture and development that: a. Emphasizes rapid and flexible development b. De-emphasize project and process infrastructure c. React to change within its environment d. Stick to the existing plan.
a, b, c
An architecture must be documented: a. To ensure that a single version of truth exists b. To be communicated in a way to let its stakeholder use it properly c. To provide technical baseline for the next product d. For historical basis for test planning.
a, b, c
Architecture documentation serves as: a. a means of education b. a primary vehicle for communication among stakeholders c. a basis for system analysis and construction d. a vehicle for contract negotiation.
a, b, c
Building an architecture that enables agility: a. Agile approaches: moving fast, embracing change, releasing often, getting feedback. b. Agile mindset: team dynamics, customer collaboration c. Reacts to changes d. Does not require team interaction.
a, b, c
Challenges of Complex System : a. Many distinct functions are being developed b. Many people are involved in development c. The system is highly distributed d. The development team is self-managed.
a, b, c
Documenting architecture in Agile project: a. if information is not needed, don't document it b. Produce a view if and only if it addresses the concerns of an explicitly identified stakeholder c. Produce the documentation in prioritized stages to satisfy the needs of the stakeholders who need it now d. Need to complete all the documentation up front.
a, b, c
Formal notations for architecture document: a. Views are described in a notation that has a precise semantics b. Architecture description languages (ADLs) is used for formal notations c. ADLs is useful in supporting automation to provide analysis of the architecture d. Views are described using general-purpose editing tools.
a, b, c
Frameworks: a. reusable sets of libraries or classes for a software system b. are a place where architecture and implementation meet c. can be small and straightforward d. can increase cost in design task.
a, b, c
How architecture plays a role in integration testing? a. The integration testing plan is based on the architecture b. The interfaces specified in the architecture determine the integration tests that are created and run c. Integration testing is where runtime quality attribute requirements can be tested d. Interfaces between elements are the only part of the architecture.
a, b, c
How much agility to do you need? Guidance a. Agile processes were used for small-to-medium-sized projects with short timeframes b. If you are building a large and complex system with relatively stable and well understood requirements, it is probably optimal to do a large amount of architecture up front c. Too much agility can result in chaos d. All up-front architecture planning is wasteful.
a, b, c
Issues of Layered architecture: a. The addition of layers adds up-front cost and complexity to the system b. The lower layers may perform unnecessary work, not required by the higher layer c. Performance overhead due to repeated transformations of data and context switching d. Layers contribute a significant security risk.
a, b, c
This activity is done by the development team usually with the customer to adjudicate disposition of each discovered fault or problem. What is ____________?
defect analysis
Many elements are versioned individually and also assigned to one or more configurations: do.......ts, mo....ls, source ....., Exe......, project p....s, test s.....
documents models code executables plans scripts
A layered architecture is one of the few places where "above" and "below" do not matter. (True/False)
false
Acceptance testing is a kind of system testing that is performed by developers. (True/False.)
false
Architecting highly distributed system will not be benefit from an appropriate separation of concerns. (True/False.)
false
It is essential for the architect to ensure that the qualities (performance, availability, etc.) are captured, described, considered, and verified at the beginning of the project (True/False.)
false
Many large enterprises deploy a huge portion of their applications into the cloud (True/False.)
false
Often architectures and implementations rely on the same set of vocabulary (True/False.)
false
Black-box testing is also known as _______
functional testing
What level do the Clients form?
higher
Two critical areas in system building are i_____ and t__________
implementation and testing
Edge systems bring a new life-cycle model to the fore, in which requirements are not completely k...., software developed in planned increments is replaced by software that is constantly c........, and projects are staffed by members ou..... the purview of the central developing organization.
known changing outside
All successful edge-dominant systems, and the organizations that develop and use these systems, share a common ecosystem structure known as the "M............" structure. This structure shows how cust......., e...-users, d....., and "pro....." are related.
metropolis customers end developers prosumers
Layers are also divided in s ____
segments
Apple iCloud, Dropbox, Netflix, Amazon Cloud Drive, Flickr, Google Drive, Microsoft Office 365, Yahoo Mail -- those are all cloud s__________.
services
The role of the Architect with respect to Test: To ensure that the architecture is ___
testable
Some of the things, an architect can do to facilitate quality testing: a) The architect can design the system so that it is highly t______ b) The architect can work with the test team (and other stakeholders) to come up with a definition of testability requirements using sc_______ c) The architect insures that testers have access to the s____ code, design documents, and the change records d) The architect gives testers the ability to install multiple versions of software product on a single machine. This helps testers compare versions, isolating when a bug was introduced.(True/False)
testable scenarios/usecases source code true
Agility requires good communication. You need to be able to effectively communicate the vision of what it is you're building. (True/False)
true
Almost every enterprise with substantial computation should at least consider the cloud as a deployment platform. (True/False)
true
Architect identifies the impact of making any changes in term of elements affected cost, and risk (True/False)
true
Architecture is intended to serve as the blueprint for implementation (True/False)
true
Community cloud supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations) (True/False)
true
Economic considerations have made almost all startups deploy into the cloud. (True/False)
true
Good architectures, when required to, get involved in the details in terms of detailed design, coding, or testing (True/False)
true
Hybrid cloud is the cloud infrastructure that is a composition of two or more clouds (private, community, or public) that remain unique entities (True/False)
true
ISO/OSI Network model is an example of layer pattern? (True/False)
true
It is possible that a cloud is owned by one party and operated by a different party (True/False)
true
SOA provides agility (True/False)
true
The SOA can itself be considered to be the system (normally at an enterprise-wide or organization-wide level), with each service representing a subsystem within the SOA (True/False)
true
The architect cannot afford to ignore the testing process because if, after delivery, something goes seriously wrong, the architect will be one of the people brought in to diagnose the problem (True/False)
true
The purpose of the CM discipline is to identify and manage elements that should be placed under CM control (True/False)
true
To ensure the integrity of the architecture across the team (which may be large and distributed), it is important to establish the relevant standards that all team members conform to when designing or developing the solution (True/False)
true
Unlike black box testing, white box testing uses specific knowledge of programming code to examine outputs (True/False)
true
Is the Client-Server pattern a form of layered pattern? (Yes/No)
yes