ACS233 Systems Engineering and Object Oriented Programming Tara Baldacchino ([email protected]. Room D13, AJB) Systems Engineering Project For ACS233, you will have 6 assignments over semester 1 and 2 (3 assignments in each semester), which you will work on within a (same) group. The assignments are as follows: - 1. Requirements document 15% - 2. Design document 15% - 3. Implementation using C for Arduino 20% - 4. Reliability 15% - 5. UML class diagram 15% - 6. Implementation using OOP C++ for Arduino 20% In semester 1, your group is tasked with writing the requirements, designing and implementing a burglar alarm system for a building. The implementation will be using an Arduino. You will be following the systems engineering V-model. In semester 2, techniques used in software engineering will be used to create a UML class diagram and an object oriented program of the system. You will also be discussing the reliability of your system- an important part of any system. Traceability between the 6 assignments must be maintained. It may be necessary to update the initial requirements document, and design document as you progress through the project, and if so these documents will need to be resubmitted. Throughout this project you will need to demonstrate project management skills, as well as having the opportunity to write individual reflections and use WebPA to obtain individual marks from group marks. Your group is tasked with building a SMART burglar alarm system, following the systems engineering V-model. The system has the following sensors and actuators: • Keyboard for PIN/password protection (inside the building) • Buzzer and red light to raise the alarm • PIR motion sensor • Magnetic window sensor • Solenoid for unlocking a door • Green light to indicate sensor activation/ successful unlocking of door • A webcam for facial recognition The final implementation will consist of real sensors and actuators controlled via an Arduino. The SMART burglar alarm system must abide by the following constraints: • The burglar alarm must be PIN controlled, and the PIN can be changed. • There needs to be a limit on the number of times a PIN can be entered to de-activate the system (ie, when a user is coming back to the building). • The user wants the keypad to be located inside the building, and not outside (you need to think about the implication of having the keyboard inside). • The software must be capable of informing the user of the status of the sensors and actuators, eg movement detected, alarm sounding. During execution, the software must display appropriate information on the computer screen, and the information to be displayed must be agreed in a requirement specification. • The building has at least one main door and a window. • The software must run on either the University Managed Desktop or on a personal device. • Other appropriate customer/stakeholder needs must be determined by your groups. The final list of requirements (both functional and non-functional) must take account of all of the customer/stakeholder needs and the constraints above, and must be specified in this document. Your SMART burglar alarm system needs to work properly as if it is to be installed and used in an actual building. More Details on Semester 1 Assignments: The group project comprises three components over semester 1, following the systems engineering V-model: Requirements document (ACS233-001) 15%: Gantt chart, UML use case diagram, user requirements, and system requirements. Assignment released: Thursday 14 October (Semester 1, Week 3) Assignment due: midnight Wednesday 3 November (Semester 1, Week 6) Design document (ACS233-002) 15%: UML state diagram, UML activity diagram of software and traceability table. Assignment released: Thursday 25 November (Semester 1, Week 9) Assignment due: midnight Wednesday 15 December (Semester 1, Week 12) Hardware and software implementation (ACS233-003) 20%: Demonstration of the hardware and software. Assignment released: Monday 17 January (Semester 1, Week 13) Assignment due: Wednesday 26 January (Semester 1, Week 14) Please note that the implementation assignment is during the exam weeks. You need to be in Sheffield for Monday 17th January. Marking will be on Thursday 27th and Friday 28th January. Details for each of these three assignments, including marking criteria, is given in the appropriate sections below. Please note all of these deadlines, and certain details might change as the semester progresses. Any changes will communicated to you in a timely manner. Components: You will be given a set of components in order to be able to complete this assignment. I’ve included images and information of some of the components below. • A MEGA 2560 Arduino is provided for controlling the burglar alarm system (including USB cable). • Various resistors are provided to act as pull-up or pull-down resistors for the sensors. • Different coloured LEDs. • A breadboard with male-male and female-male wires. • The webcam is a Logitech HD C270 webcam. The webcam does not connect directly to the Arduino, so you need to interface it via Matlab or Python. • A diode, for use with the solenoid. Facial recognition and tracking: This is the hardest part of the project to implement. Work on this after you get all the other features working. There are numerous sources of code, available in Matlab or Python, to perform these tasks. You are expected to do some wider reading around this topic and then use freely available sources in your implementation. I am not expecting you to code this part from scratch! Please make sure you cite any code you use. I will give a brief lecture and demonstration on facial recognition in January. RS Pro Door and Window switch surface mount 500(dc)mA, 50V dc. TruSens HC-SR505 Mini PIR Motion Sensor. Please refer to data sheet on ACS233 Blackboard for information on the pins. Please also note that the output stays high for around 8s after the sensor detects movement. RS PRO 1 → 30 V ac 78dB Through Hole Continuous External Piezo Buzzer, 3500 → 4500 Hz BD911 npn BJT transistor for use with the solenoid. Please refer to data sheet on ACS233 Blackboard for information on the pins. Please do NOT attempt to connect the transistor before reading the data sheet because you can damage the Arduino and other components. Pimoroni COM2700 mini push-pull solenoid 5V 0.42A Some recommended reading and examples of code: https://uk.mathworks.com/discovery/face-recognition.html https://uk.mathworks.com/matlabcentral/fileexchange/49914-streaming-face-detection- training-recognition Steps for facial recognition and tracking: 1. Database of photos, or a webcam with a live stream 2. Recognise a face in the photo using certain features, eg, shape and size of eyes, jaw, cheekbone. Each face is usually given a name (optional). 3. Extract these features 4. Machine learning algorithms (classification) are applied to the extracted features so as to obtain a model. 5. Use this model on a new dataset so as to identify the face in the photo (or live stream). The new images will need to have the same features extracted from them before using the model. You will be given the components after the Christmas break during the exam period. Exact time to be confirmed. This session is compulsory (penalties will apply). Components will NOT be handed out before the Christmas holidays because I do not want one person from the group to start working independently. Requirements Document (ACS233-001) Assignment weighting: 15% of module mark Assignment released: Semester 1, Week 3 Assignment due: All submission drop boxes found in in the Coursework folder in ACS233 Blackboard 1) You must submit the completed requirements document as a single PDF document (GroupX.pdf, where X is your group number) to the Turnitin link “Requirements Document ACS233-001” (one document per group). Deadline is midnight Wednesday 3 November (Semester 1, Week 6). 2) Each individual in the group must submit a peer assessment of the contribution of each group member to this assignment, using the link “WebPA for Requirements Document ACS233-001”. Deadline is midnight Thursday 4 November. Feedback date No later than Semester 1, Week 9. This will include the overall mark, individual component marks and comments on performance on the assignment. The attached marksheet shows the areas on which feedback will be provided. Learning outcomes By doing this assignment, students will • Develop skills in capturing, analysing and documenting requirements • Develop skills in diagramming using UML. • Improve project management and teamwork skills Assignment briefing This assignment will assess your ability to apply the techniques that you are learning in ACS233, specifically working to create a partial requirements document along with project management tools for a SMART burglar alarm system. In order to determine the requirements for the system, you must first investigate the problem you have to solve. In this assignment, you are given some freedom to decide exactly what your system will do, but this freedom is constrained as stated previously. You should search for resources which will help you investigate the problem. Once you have a general understanding of the problem, you will then need to think about what further information you need to produce a Gantt chart and the requirements completely. Your requirements document must be no more than eight pages long including diagrams (use a sensible font with font size 11 and single line spacing). The sections you must include in your requirements document are these: • Introduction and context: The need for the system and a brief statement of its overall purpose. • Project Management: A detailed Gantt chart. The Gantt chart needs to have a detailed breakdown of the whole project (so covering all 3 components of this project) and it needs to take into account the V- model, including testing individual sub systems. The Gantt chart must also show who is responsible for what. • User Requirements: The services the system needs to provide, described in formal language and with one or more UML use case diagrams. • System Requirements: A detailed textual description of functional requirements and non- functional requirements. The system requirements must be traceable to the user requirements. You can use outline numbering form for the textual requirements, OR you can represent your requirements using SysML requirements diagram. • Individual: Describe and evaluate the part/s: of the research you did, and the report that you wrote. Each description should be clearly headed with the name of the individual student who wrote the description. This section should be no more than two pages long in total, which means that each of the four group members should aim to write about half a page. Marking Sheet for Requirements Document Marking Criterion Marks/Comments Introduction and context: How well does the introduction explain the need and purpose for the system? -1 if not given Comments on Introduction: Project Management: How well does the Gantt chart breakdown the workload for the requirements, design and implementation and testing of the system? Does the Gantt chart show milestones? ______/2 Comments on Project Management: User Requirements: How well do the user requirements describe the services the system needs to provide? /2 How appropriate are the use cases in the use case diagram (or diagrams)? How appropriate are the actors shown in the use case diagram? /2 Mark for User Requirements: ______/4 Comments on User Requirements: System Requirements Definition: Are the system requirements sufficiently detailed? How well is each system requirement stated? Does each requirement have a unique ID? Are they written formally? /3 How well do the system requirements cover non-functional, as well as functional requirements? /2 Do the requirements section describe a sensible SMART burglar alarm system, adhering to the constraints given? /3 Mark for System Requirements Definition: ______/8 Comments on System Requirements Definition: Individual Does this individual clearly state their contribution to this assignment- please refer to the assignment briefing? Is this description clear and easy to read? Has sufficient work been done by the individual? ______/1 Comments on Individual Description Total Mark Individual marks will be derived from group marks by including webPA scores ________/15 Design Document (ACS233-002) Assignment weighting: 15% of module mark Assignment released: Semester 1, Week 9 Assignment due: 1) You must submit the completed design document as a single PDF document to the Turnitin link “Design Document ACS233-002” in Course Work-> Submissions in ACS233 Blackboard. The document must be submitted as a PDF GroupX.pdf where X is your group number. Deadline is midnight on Wednesday 15 December (Semester 1, Week 12). 2) Each individual in the group must submit a peer assessment of the contribution of each group member to this assignment, using the link “WebPA for Design Document ACS233-002” in the Course Work-> Submissions in ACS233 Blackboard. Deadline is midnight on Thursday 16 December (Semester 1, Week 12). Feedback date No later than Monday 20 January (Semester 1, start of exam weeks). This will include the overall mark, individual component marks and comments on performance on the assignment. General feedback on the whole class performance will also be provided. The attached mark sheet provide guides to the areas on which feedback will be provided. Learning outcomes By doing this assignment, students will • Develop skills in creating a system design to satisfy requirements • Develop skills in creating a traceability table to ensure the design meets the requirements • Improve project management and teamwork skills Assignment briefing You will work in the same groups as for assignment ACS233-001 (the requirements document), and the system you are developing remains the same: SMART burglar alarm system. This assignment will assess your ability to apply the techniques that you are learning in ACS233, specifically working to create a design and traceability document for a hardware + software system. You need to ensure that any feedback on your requirements document has been taken account of, and that the system requirements are updated accordingly; this is likely to involve partially rewriting the requirements. Your design and traceability document must be no more than eight pages long including diagrams. The document for ACS233-002 must include these sections: • Introduction: a very brief preamble giving a context and an overview for the document. • Feedback from ACS233-001 (requirements): A detailed analysis explaining how the feedback provided in the requirements document has been taken into account for in the design document. • UML state diagram: You need to provide the states and events for your SMART burglar alarm system. • UML activity diagram: You need to provide the control flow of the software required for the SMART burglar alarm system. You need to make sure you include all sensors and actuators mentioned in your requirements. Details of how you plan to do the facial recognition need to be included, eg obtaining photos of faces, feature extraction etc., but not the exact algorithms used (so I don’t want the details of the type of feature extraction method used). Your activity diagram needs to have sections highlighted so as to be able to link to the traceability table. See * at the end of the briefing. • Traceability table: The traceability table needs to map the sections of the UML activity diagram that will satisfy certain requirement/s. All requirements needs to be traceable. More information given at the end of the briefing. * • Individual: Describe and evaluate the part/s: of the research you did, and the report that you wrote. Each description should be clearly headed with the name of the individual student who wrote the description. This section should be no more than two pages long in total, which means that each of the four group members should aim to write about half a page. • Appendix (not included in eight page limit): o System requirements: these are either the original set from ACS233-001, or an updated set taking into account the feedback given for ACS233-001. All requirements must be traceable. Marking Sheet for Design Document Marking Criterion Marks/Comments Introduction: How well does the introduction give the context and overview for the design plan to follow? -1 if not given Comments on Introduction: Feedback from ACS233-001 Has the feedback provided in AS233-001 been taken into account? Does the description provide a critical evaluation of the changes performed in view of the feedback? ______/1 Comments on Feedback: UML state Diagram: How clear and accurate is the UML state diagram? ______/3 Comments on UML State Diagram: UML Activity Diagram: Does the UML activity diagram show the control required for the SMART burglar alarm? Is it clear and accurate? Does it include details of how facial recognition is to be performed? ______/6 Comments on flowchart Traceability Table: Design meet requirements Does the table show all the functions of the system, including how they are going to be achieved (means) as well as listing the ____/4 requirements and linking this to the UML activity diagram? Are all the requirements listed? Comments on Traceability Table Individual Does this individual clearly state their contribution to this assignment- please refer to the assignment briefing? Is this description clear and easy to read? Has sufficient work been done by the individual? ______/1 Comments on Individual Description Have the requirements been updated (if needed) and appended? -1 if not Total Mark Individual marks will be derived from group marks by including webPA scores ________/15 • *For this assignment, it does not make sense to do a QFD1 -> MFA -> Pugh matrix because the components (means) have been given to you. However, we still need a way of making sure that all the system requirements have been met with the design solution you produce. You will instead be producing a traceability table as shown below: UML activity diagram of the system (which you need to produce for this assignment) on the left and the traceability table on the right, in which the last column shows the sections of the activity diagram that correspond to a particular function and requirement/s. Hardware and Software Implementation (ACS233-003) Assignment weighting: 20% of module mark Assignment released: Semester 1, Week 13 Assignment due: Submission dropboxes are found on ACS233 Blackboard in the Course Work -> Submissions folder: 1) Group submission of the ACS233-003 document to Turnitin (one document per group, GroupX.pdf). The Turnitin link is “Project Software and Hardware ACS233-003”. Deadline is Midnight on Wednesday 26 January (Semester 1, Week 14). 2) Individual submission of peer assessment of the contribution of each group member. The WebPA link is “WebPA for Project Software and Hardware ACS233-003”. Deadline is Midnight on Thursday 27 January (Semester 1, Week 14). Marking of assignment The hardware and software implementation of this assignment will be demonstrated and marked by appointment on Thursday 30 and Friday 31 January 2020 - details will be provided closer to the time. The marker will be the module leader. The ACS233-003 document will be marked, and the Turnitin report will be reviewed after the lab session, by the module leader. Feedback date Feedback will be given directly during the face-to-face marking session and overall feedback will be provided no later than week 2, Semester 2. This will include the overall mark, individual component marks and comments on performance on the assignment. The attached marksheet provides guidance on the areas on which feedback will be provided. Learning outcomes By doing this assignment, students will • Develop skills in implementing a system to match a design and a set of requirements • Develop skills in verifying and validating a hardware and software system • Increase their understanding of the V-model approach to the systems lifecycle. • Improve project management and teamwork skills Assignment briefing You will work in the same groups as for assignments ACS233-001 (the requirements document) and ACS233-002 (the design document). These are the main tasks in this assignment: 1. Group: If appropriate, make modifications to your system requirements, UML state and activity diagrams. Include paragraphs explaining how you used the feedback provided from the previous document, and any changes made. 2. Group: Implement and test the hardware and software for the SMART burglar alarm system. 3. Individual: Describe and evaluate the part/s of the system you were involved with, as well as reflecting on skills developed during this project. 4. Group: Assemble and submit the report. 5. Individual: Score the contribution of each group member using WebPA. 6. Individual: Attendance to marking session. 5 mark penalty for non-attendance. The final system should satisfy the system requirements and design specified by your group. You must include an up-to-date list of the systems requirements, and an up-to-date UML state and activity diagrams in your submission. Help on connecting Arduino to Matlab using serial communication. A. Describe and evaluate the part of the program that you wrote. You need to add your individual descriptions for the requirements, design and implementation documents to mySkills App. This ensures that you have a reflection of the skills you have developed in one place. You can provide a link to the Google sheet or paste an image (screenshot) of the mySkills page (make sure it is clear enough for me to read it). Each member of the group must: - describe what involvement you had in building the hardware for the system. - describe and evaluate the part of the program you wrote. In your description and evaluation, you should say what part of the program you wrote, what data and functions were used, what was the interface between your part and the rest of the program and hardware, what algorithm(s) (if any) was/were used to achieve the functionality required, and any problems encountered and solutions found in writing this part of the program, - analyse and describe how you thought the team worked on the whole project, including a reflection on how teamwork within the group could have been improved, - reflect and describe the skills (both academic and professional) that you have acquired or improved/developed as a result of working on this project. Each description should be clearly headed with the name of the individual student who wrote the description. One page per student. What you should submit (no page limit for document, except that individual contributions are limited to a page per student): You must submit a single PDF file for ACS233-003, GroupX.pdf. The file must include these sections (in this order): • Introduction: a very brief preamble giving a context and an overview for the document. • System requirements (either a modified version or extracted from ACS233-001/2 documents if unchanged): If you have modified your requirements, please provide a paragraph explaining the changes made, including any requirements you have not managed to implement. • UML state and activity diagrams (either a modified version or extracted from ACS233-002 document if unchanged): In this section you need to include a paragraph explaining how feedback provided in the previous document has been acted on, and a description of the changes made as a result of the feedback and due to extra insights you gain during the implementation phase. • Individual descriptions: There should be one description from each individual in the group. You are allowed a page each. Each description in this section should be clearly headed with the name of the individual student. (See A above). • The Arduino code and any other code: Please copy and paste any code you have written for the Arduino. You do not need to include the code for the facial recognition part, please just cite it. Marking Sheet for Implementation Marking Criterion Marks Comments Introduction: Is the introduction provided? -1 if not System Requirements: Are the system requirements provided? -1 if not UML state and activity diagrams: Is the UML state diagram provided? Is the UML activity diagram provided? Does the description of changes made to the UML state and activity diagrams provide a critical evaluation of the changes performed in view of the feedback and/or insight? (This will be marked as 1 or 0) -1 if not -1 if not /1 Individual contribution Does this individual clearly state all the information that is required for this section- please refer to the assignment briefing? Is this description clear and easy to read? Have all the individual descriptions been added to mySkills? /1 Hardware and Code Has the code been provided in the document? -2 if not Does the code map onto the UML diagram provided? Note: these criteria pertain to traceability between design and implementation. /1 Is the code well formatted and easy to read, with meaningful variable names, adequate comments and good indentation? How useable and intuitive is the user interface for input from the user/keyboard? Has the code made use of functions? /2 How useable and intuitive is the user interface for input from the user/keyboard? /2 Does the hardware and software emulate a realistic and useful SMART burglar alarm system? Does it provide all features as specified in the requirements? Is the information correct? • LEDs, buzzer, PIR, magnetic switch, solenoid, PIN, reporting to screen - 6 marks total • facial recognition - 7 marks All the above needs to be done as stated in the requirements and as one complete system, ie, to get marks for the facial recognition it needs to be integrated /13 into the burglar alarm as a whole and not as a standalone feature. Mark for hardware and code: /18 Total mark for assignment Individual mark depends on WebPA score, and attendance to marking session (-2). /20 Penalties for late submission Late submissions will incur the usual penalties of a 5% reduction in the mark for every day (or part thereof) that the assignment is late and a mark of zero for submission more than five days late. For more information see http://www.shef.ac.uk/ssid/exams/policies. How you should work This is a group assignment, and it must be wholly the work of your assigned group for this project. The assignment should be done by all group members contributing equally. The level of contribution from group members will be assessed using WebPA, and the WebPA scores will be used to derive individual marks from group marks. Unfair means Your group must not discuss the work with other groups, because if you do this is likely to result in similarity in your submission. Your group is not permitted to submit the ideas or work of others as your own work. Any suspicions of the use of unfair means will be investigated and may lead to penalties. References must be provided to any other work that is used as part of this assignment. See http://www.shef.ac.uk/ssid/exams/plagiarism for more information. Extenuating Circumstances If you have medical or serious personal circumstances which cause you to be unable to submit this assignment on time or that may have affected your performance, please complete and submit an extenuating circumstances form along with documentary evidence of the circumstances. See http://www.sheffield.ac.uk/ssid/forms/circs. Help This assignment briefing and the lectures and resources on the ACS233 Blackboard course and the ACS233 reading list provide information to support this assignment. This is an open- ended, problem solving assignment, working within the framework of the Systems Engineering Life Cycle as well as using project management tools. You need to work in your group to produce this partial requirements document. If you need clarifications on the assignment, then please post a question on the ACS233 Blackboard discussion board. I will not respond to questions regarding the assignment via email.
欢迎咨询51作业君