1. List and briefly explain the Software Architecture Design Guidelines.
2. What are the software architect’s tasks? Briefly explain them.
3. Name and explain four requirements elicitation techniques.
4. What information should be included in a software architecture document (SAD) for small to medium-sized systems? Carefully explain it.
Q1) List and briefly explain the Software Architecture Design Guidelines
Software architecture is described as the organization of a system, where the system represents a set of components that accomplish the defined functions.
Key Design Guidelines are mentioned below:-
Design Exceptions and Exception Handling Mechanism - Defining exceptions in advance, helps the components to manage errors or unwanted situation in an elegant manner. The exception management will be same throughout the system.
Naming Conventions - Naming conventions should be defined in advance. They provide a consistent model that helps the users to understand the system easily. It is easier for team members to validate code written by others, and hence will increase the maintainability.
Q2) What are the software architect’s tasks? Briefly explain them?
The Role of a software architect
The most important responsibility/Task is complete technical support of the project from the moment of inception, through product release, to development of enhancements. The other tasks considered among the main ones are: -
Q3) Name and explain four requirements elicitation techniques.
Requirements elicitation - In requirements engineering, requirements elicitation is the practice of collecting the requirements of a system from users, customers, and other stakeholders. The practice is also sometimes referred to as "requirement gathering".
1. Questionnaires - Questionnaires are much more informal, and they are good tools to gather requirements from stakeholders in remote locations or those who will have only minor input into the overall requirements. Questionnaires can also be used when you have to gather input from dozens, hundreds, or thousands of people.
2. Prototyping - Prototyping is a relatively modern technique for gathering requirements. In this approach, you gather preliminary requirements that you use to build an initial version of the solution — a prototype. You show this to the client, who then gives you additional requirements. You change the application and cycle around with the client again. This repetitive process continues until the product meets the critical mass of business needs or for an agreed number of iterations.
3. Use cases - Use cases are basically stories that describe how discrete processes work. The stories include people (actors) and describe how the solution works from a user perspective. Use cases may be easier for the users to articulate, although the use cases may need to be distilled later into the more specific detailed requirements.
4. Brainstorming - On some projects, the requirements are not "uncovered" as much as they are "discovered." In other words, the solution is brand new and needs to be created as a set of ideas that people can agree to. In this type of project, simple brainstorming may be the starting point. The appropriate subject matter experts get into a room and start creatively brainstorming what the solution might look like. After all the ideas are generated, the participants prioritize the ones they think are the best for this solution. The resulting consensus of best ideas is used for the initial requirements.
Q4) What information should be included in a software architecture document (SAD) for small to medium-sized systems? Carefully explain it.
SAD - The software architecture document provides a comprehensive overview of thearchitecture of the software system. It serves as a communication medium between the software architect and other project team members regarding architecturally significant decisions which have been made on the project.
It contains the mentioned below things:-
It is very important to clear the scope of the document. Without a clear scope not only you will never know that when you are finished, you won’t be able to convince the stakeholder that the architecture is comprehensive enough and addresses all their needs.
A very important item that you want to mention is the architectural principles that you are following. This is even more important when the client organization maintains a set of architectural principles.
Also I like to explain the architectural patterns that I’m going to use. If you are including this section in the Implementation View, explain them enough so that a business person can quite understand what that pattern is for. For instance if you are using Lazy Loading patter, explain that what problem does it solve and why you are using it.
Needless to say that you have to also decide which kind of Architecture style you are suggesting, such as 3-Tier and N-Tier, Client-Server etc. Once you have declared that, explain the components of the system (Layers, Tiers and their relationships) by diagrams.
This part also must include your implementation strategy for addressing the Quality of Service Requirements, such as how will you address scaling out.
Be iterative - It is suggested that the architecture (and in result the Software Architecture Document) be developed through two or more iterations. It’s impossible to build a comprehensive architecture document in one iteration as not only Architecture has an impact on the requirements, but also architecture begins in an early stage and many of the scenarios are likely to change.
Please let me know in case of any clarifications required. Thanks!
1. List and briefly explain the Software Architecture Design Guidelines. 2. What are the software architect’s...
1. Define or briefly explain the following software development terminologies. Your answers should indicate the difference(s) between similar terminologies. Requirements Document Design Document
This course is Software Architecture and Design. Associations are used in use cases. A use case is a type of complete interaction between a product and its environment. Associations lines are used to show relations between different parts of the use case diagram. te. It is due Sunday, 11:55 PM. Late submissions (up to one week late) will be accepted for 80% the grade. Submissions more than one week late will not be graded. NO EXCEPTIONS. Your raded assignment along...
Question 1 Identify the capabilities of at least seven popular accounting software solutions. Included in your list should be software for small, medium and large enterprises, and both on-premises (i.e. traditionally installed) as well as cloud-based solutions. Name the accounting software that you researched. What new understanding have you gained about Accounting Information Systems? With accounting information systems being computerized, how does this affect the accounting professional’s ethical and legal obligations?
Post lab Questions 1) Write briefly about ARM architecture? 2) What is the difference between RISC and CISC? 3) What is the difference between Microprocessor and Microcontroller? 4) What are the different layers involved in software? Explain more about it? 5) What are the different stages involved in software development? Explain more about it? 6) What are the core peripherals of the cortex M4 microprocessor? 7) What are the different components of CPU? Explain briefly about each component?
1. List 2 reasons why Clinical Practice Guidelines (CPGs) are important, in your own words, briefly, describe how each can help with improving the quality of care. 2. Explain the importance of con dentiality, integrity and availability as it pertains to health information privacy and security
Our design problem is to design the architecture of such a system. The designer proposed the 2 following solutions. And then, you will be required to compare the advantages and disadvantages of the proposed designs based on the quality attributes Project Name: The keyword frequency vector (KFV). System Description: The keyword frequency vector (KFV) of a text file is a sequence of pairs of keywords and their frequency of appearance in the text. It is a good representation of the...
2. (a) Name and give a short description of the four design styles for describing a logic function in an architecture? (b) List three concurrent signal assignment statements (c) The following two VHDL codes (architecture part) desanbe the logic diagram shown in Fig 1 (c) using different design styles. Discuss in detail the design style used for each description. begin My-Proc process (DOD 02 architecture architecture 1 of Entity 1 is Signal or out:std logie begin begin (IDO or D1...
Matching: What are 4 fundamental activities in software processes? definition of the software function and operational constraints Answer 1Choose...software developmentsoftware evolutionsoftware specificationsoftware validation software is modified to reflect changing customer / market needs Answer 2Choose...software developmentsoftware evolutionsoftware specificationsoftware validation design and implementation of the software code Answer 3Choose...software developmentsoftware evolutionsoftware specificationsoftware validation process of ensuring the software meets the customer's requirements Answer 4Choose...software developmentsoftware evolutionsoftware specificationsoftware validation Please answer all parts of the question. Question 2 Answer saved Marked out...
1. Explain Problem Analysis 2. Explain Root Cause Analysis 3. Explain Duration Analysis 4. Explain Activity-Based Costing 5. Explain Informal Benchmarking 6. Explain Outcome Analysis 7. Explain Technology Analysis Activity 8. Explain “Elimination Technique” in Requirements gathering 9. Explain Use Cases 10. Elements of a Use Case 11. Use Cases and the Functional Requirements 12. Use Cases and Testing 13. Elements of Data Flow Diagrams 14. Describe the Data Modelling 15. Explain an Entity Relational Diagram (ERD) with example 16....
1. List at least two building energy rating systems and briefly explain from what aspects they evaluate the sustainability of a building 2. What is a net-zero energy building (NZEB)? 3. List at least eight technologies that can be applied to reduce energy consumptions in a NZEB 4. In your opinion, what are some main challenges for NZEB? 5. How do factors such as climates and building occupants affect the energy consumptions in a residential building? 6. Pick two NZEB...