2.1. CamAll is an Internet-enabled camera platform intended for use by consumers to continuously monitor their homes for suspicious activity. CamAll allows users to
2.1. CamAll is an Internet-enabled camera platform intended for use by consumers to continuously monitor their homes for suspicious activity. CamAll allows users to view both live and recorded video footage from cameras installed in their homes via a web server. Users can also receive email notifications whenever suspicious activity is detected by an analysis server. You have been hired as an engineering manager to oversee the development and production use of the software running on the camera, the web server and the analysis server. The camera hardware is built by another team, and the web server and analysis server are hosted by a major cloud provider. (a) List, with justification, the major technical components of the development environment you would commission to support your team of software engineers. [5] (b) Describe a suitable example unit test, integration test and end-to-end test for CamAll. [3] (c) The senior management team demand your developers produce bug-free code and suggest this can be achieved by ensuring 100% code coverage with unit tests. Explain why this goal is unachievable and outline, with justification, an appropriate testing strategy. [7] (d) Describe the key differences in any release process you might design for the CamAll camera, web server and analysis server. [5] 2.2 Discuss the reasons why substantial software systems often take longer to implement than the planned time-frame, and explain why they do not perform well as expected. [10] QUESTION THREE 30 MARKS 3.1 Describe the process of specifying a major piece of software: the main documents produced, their immediate purpose and their ongoing role in the software life cycle. Describe the role that formal methods can play at each stage of the software life cycle. Explain any disadvantages of the uses of formal methods that you have discussed. [20] 3.2 One means of improving system reliability is to have three or more replicated systems and act on their majority output. Provide two examples of failures that can be stopped by this method or approach, and two that cannot. At least one of each example should be illustrated by an actual case history. [10]
Step by Step Solution
There are 3 Steps involved in it
Step: 1
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started