





Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
This comprehensive study guide provides solutions to key concepts and questions related to software architecture, design patterns, and testing. It covers topics such as architectural design decisions, common architecture patterns, uml diagrams, design metrics, secure design principles, and various testing methodologies. The guide includes detailed explanations, examples, and diagrams to enhance understanding and facilitate effective preparation for the midterm exam.
Typology: Exams
1 / 9
This page cannot be seen from the preview
Don't miss anything!






What is the purpose of GitHub? - Version Control and Communication/Collaboration What is the purpose of Jenkins? - It is a contiguous integration tool used to build (compile, test) code and deploy it to production What is the purpose of REST APIs? - It stands for Representational State Transfer - Application Programming Interface. They are a subtype of APIs that are geared towards internet-facing systems. Their goal is to provide painless communication and interoperability between these Internet-facing applications and systems What is the purpose of Spring? - It is a framework for dependency-injection that helps build decoupled systems and comes with many methods and functionalities straight out the box. What is the purpose of Hibernate? - It is a open-source framework that is used to simplify the way we implement databases persistence for Java applications What is software architecture? - Set of principal design decisions about the system and a blueprint for a software system's construction and evolution. What is the purpose of AngularJS? - It is a JavaScript framework to simplify the development of dynamic web application. We are using it on client side along with vanilla JS but can also be used service side with Node.js What do you need to consider for architectural design decisions? - Stakeholder communication Large-scale reuse System analysis
What is Gherkin? - Gherkin is a Business Readable, Domain Specific Language created especially for behavior descriptions. Gherkin serves two purposes: serving as your project's documentation and automated tests. The Gherkin file describes the feature, scenarios, and scenario steps for the test. What system requirements affect architecture? - Performance - minimize communication between components reduce resource contention and maximize concurrency Security - reduce access paths to critical resources Safety - localize safety critical operation in a single module Availability - provide redundant access paths Maintainability - reduce dependencies, make components self-contained Often in conflict with ease of development What is the purpose of Selenium? - It is an open source automated testing framework that enables users to test web applications across a wide range of browsers and operating systems are once. What do architecture patterns consist of? - A set of component types that perform some function at runtime A topological layout of components showing their runtime relationships A set of connectors (e.g. data streams, sockets) that mediate communication among components What is the purpose of Cucumber? - It is a framework that glues Gherkin specifications to executable code that verifies whether a program is behaving as it should. What are the four main architecture patterns? (What are the strengths and weaknesses of each pattern? What are specific examples of the architectural patterns? When would it be good to use each type of architectural pattern?) - Data Centered, Call and Return, Data Flow, and Event Systems
What are the parts of a state diagram? - Draw a state diagram from this scenario .... - What are design metrics? - How are design metrics used? - What are the principles of secure design? - How can the principles of secure design be incorporated into design? - What are vulnerabilities that should be investigated? - What is the purpose of the strategy pattern? - When do you apply the strategy pattern? - Draw a class diagram for the strategy pattern - How are strategy and state different? - What is the purpose of the observer pattern? -
When should you apply the observer pattern? - What is the class diagram for the observer pattern? - What is the purpose of the composite pattern? - When should you apply the composite pattern? - What does the class diagram for the composite pattern look like? - What is the purpose of the Model-View-Controller? - How does Strategy, Observer, and Composite patterns fit into the Moder-View-Controller Scheme? - What are behavioral patterns? - What are structural patterns? - What are creational patterns? - How do you identify necessary classes from requirements statements? - What are typical stakeholders for a system? - What are functional and nonfunctional requirements? -
What are elapsed time/days (estimation)? - What are things to consider when writing a bug report? - What are the purposes of presentations? - What do you want to keep in mind as you plan a presentation? - What is validation? - What is verification? - What are the different types of testing? - Unit, Integration, Functional/System, Regression, Acceptance, and Beta Testing What is the difference between a fault and a failure? - What underlies a fault? - What are the four things required for all test cases? - What are the parts of a black box test case template? - What strategies do you need to consider when devising a thorough set of black box test cases? - What strategies do you need to consider when devising a thorough set of white box test cases? -
What is equivalence class partitioning? - What is boundary value analysis? - What is cyclomatic complexity? - What is a stub? - What is a driver? - What is a basis set? - What is an oracle? - Draw a control flow diagram and calculate the cyclomatic complexity. - What is method coverage? - What is statement coverage? - What is decision/branch coverage? - What is condition coverage? -