
Sdasd S.
asked 02/04/22UNIT 4 CRITICAL THINKING QUESTIONS
Critical Thinking Questions
- Chloe is creating the software requirements specifications (SRS) for a project. The project is a web app that allows students to manage and track all of their college applications and scholarship applications in one place. The student, parent, and school counselor has access to all of the materials, and colleges have access to certain portions that the student has designated. Outline at least two of the requirements that would be in the specs document given to Chloe’s team.
- Imagine that a co-worker said to you, “It’s such a hassle to keep specifications up to date! It takes time away from getting actual work done. Why should we even bother?”
- In this unit, you learned about the software development life cycle. In what situations other than developing software might the process of analysis, design, development, test, deployment, and maintenance be a useful approach to problem solving?
- How do existing libraries and packages facilitate programmer productivity? Provide at least one example of what a library might look like and how it would be useful.
- What are some limitations when it comes to testing and ensuring program quality? List at least two limitations; you may refer to specific kinds of testing in your answer.
More
1 Expert Answer
Rize S. answered 03/23/23
Tutor
New to Wyzant
Senior IT Certified Trainer, IT Developer & DBA Administrator
- Two requirements that could be included in the SRS document for Chloe’s team are:
- Authentication and access control: The web app should allow users to create accounts and login with their credentials. The app should also have different roles (student, parent, school counselor, college) with different levels of access to the data. The app should ensure that only authorized users can access and modify the data.
- Data import/export: The web app should allow users to import and export data in various formats (e.g., CSV, Excel). This feature will allow users to quickly import data from other sources (e.g., a spreadsheet) and export data to share with others (e.g., a college application).
- Keeping specifications up to date is essential to ensure that the software meets the user's requirements and the stakeholders' expectations. If the specifications are not up to date, the development team may end up building something that is not useful or does not meet the business objectives. This could result in wasted time, resources, and money. Furthermore, updating the specifications helps to keep everyone on the same page and ensures that the stakeholders are informed of any changes or updates to the project.
- The software development life cycle approach can be applied to problem-solving in various situations outside of software development. For example, it can be useful in product design, business strategy development, and infrastructure planning. In these scenarios, the analysis phase involves understanding the problem, the requirements, and the constraints. The design phase involves creating a plan or a blueprint for the solution. The development phase involves building the solution, and the testing phase involves validating the solution. Finally, the deployment and maintenance phases involve implementing and supporting the solution over time.
- Existing libraries and packages can facilitate programmer productivity by providing pre-built, reusable code that can be incorporated into new projects. For example, the NumPy library provides functions and data structures for performing complex numerical computations, while the Requests library provides a simple way to send HTTP requests in Python. By using these libraries, programmers can save time and effort by avoiding the need to write code from scratch.
- Two limitations when it comes to testing and ensuring program quality are:
- Incomplete test coverage: It is often difficult to ensure that all possible scenarios are tested, and some edge cases may be overlooked. This can lead to defects and issues that are only discovered after the software is deployed.
- Human error: Testing is often performed by human testers who may make mistakes, misinterpret requirements, or overlook issues. Furthermore, humans have biases and limitations that can affect the effectiveness of testing. This can lead to defects and issues that are not caught during testing.
Still looking for help? Get the right answer, fast.
Ask a question for free
Get a free answer to a quick problem.
Most questions answered within 4 hours.
OR
Find an Online Tutor Now
Choose an expert and meet online. No packages or subscriptions, pay only for the time you need.
Zachary M.
What about these questions is confusing you? It isn't helpful to either of use for me to answer each of these questions for you. But I would be happy to answer specific questions to help you understand what the questions are asking.03/01/22