Software Diagrams
Design a miniRing system similar to the Ring product (http://ring.com), with reduced functions.
The user needs to install the following items:
(1) a Video Doorbell (see below), which includes a camera and a doorbell, outside a door of the user's house.
(2) a cell phone app called miniRing
Note that a user can install multiple Video Doorbells if the house has multiple doors.
Requirements:
From the user perspective, the major functions of the system are as follows:
1. If someone is ringing the DoorBell, 1) the user will receive a DoorBell ring tone on the cellphone; 2) if the user opens the door, the event will be recorded as an "Answered Ring" event; 3) if the user doesn't open the door, the event will be recorded as a "Missed Ring" event.
2. If there is a motion in front of the door, e.g., a mailman dropping a package, 1) the user will receive a WindBell ring tone on the cellphone; 2) the event will recorded as a "Motion" event;
3. Using the cell phone app, the user shall be able to do the following: 1) if the user received a DoorBell ring tone, (s)he shall be able to live watch the scene, and talk to the visitor; 2) if the user received a WindBell ring tone, (s)he shall be able to live watch the scene; 3) the user can live watch the scene at any time using a "Live View" function; 4) the user can view the event history that contains a list of events of different types: "Answered Ring", "MIssing, Ring", or "Motion". Each event is recorded as a short video clip (from 30 to 60 seconds) that can be played at any time.
4. Using the cellphone app, the user can also 1) login to the system using pre‐assigned username and password 2) set different music to the DoorBell and/or WindBell ring tones 3) toggle on/off doorbell alert and/or motion alert 4) monitor device health, including
a) the battery level of the video DoorBell b) the wi‐fi network name and signal strength
5. The miniRing system also has he following functions: 1) Manage users. Only paid users can login and use the cell phone app. If an unregistered user tried to login, an error message will be sent to the user's cellphone. 2) Manage event. There should be a central database storing all the events for each user. If the user reinstall the app, (s)he should be able to retrieve the event history 3) Remind users to pay annual subscription fee.
Design the miniRing system using 4+1 view: 1. Component Diagram and Deployment Diagram: the system should at least contain:
two physical components: a camera and a doorbell, which are installed in one Video DoorBell device, but send signals separately as two components. These two components do not have CPUs and their only function is to send signals.
a cell phone app component, which we call MiniRingApp a central miniRing server component, which we call MiniRingManager. You could design more components as you see fit. a) (3 points) Draw a UML component diagram to show the relations among these components. b) (3 points) Draw a UML deployment diagram to show how these components are installed on
various devices. You can either draw these two diagrams together or separately.
2. Class Diagrams:
a) (6 points) Draw a UML class diagram to elaborate the design of the MiniRingApp component. The methods within each class should reflect its responsibilities (functions). If a pattern is applied, name the pattern and list its participants; if no pattern is applied, simply state so.
b) (6 points) Draw a UML class diagram for the MiniRingManager component. The methods within each class should reflect its responsibilities (functions). If a pattern is applied, name the pattern and list its participants; if no pattern is applied, simply state so.
3. Sequence Diagrams and User Scenarios
a) (10 points) Draw a number of sequence diagrams to show how the classes/components interact to accomplish specified functions. Use standard notions, as introduced in page 4‐13 of the slides titled “SE 311 SequenceDiagram”.
b) (7 points) For each sequence diagram, list all the corresponding user scenarios that is testable, as shown in page 4 and page 13 of slides. These scenarios should cover all functions mentioned in the requirements. A user scenario should follow a simple template:
<role>+<action>+<results>
4. Matching (5 points) These diagrams must match with each other.
To submit you answer: prepare one or more pdf files with you design. You can draw the diagrams using draw.io (https://www.draw.io/), export them as .jpeg pictures, and insert these pictures into a word document to add explanations, and convert the word document into a .pdf file. Please note that you can only submit 1 file to BB learning. If you have multiple pdf files, you need to zip them together into one zip file.