Develop a human activity recognition IoT application

Assignment Help Software Engineering
Reference no: EM132363367

Software Engineering Assignment: SDLC For Human Activity Recognition Project

This project aims to develop a human activity recognition IoT application to evaluate students' knowledge in SDLC. This is an individual assignment. The project tasks shall be carried out individually.

Overview - The recognition of human activities has become a task of high interest for medical, military, and security applications. For instance, patients with diabetes, obesity, or heart disease are often required to follow a well-defined exercise routine as part of their treatments. Therefore, recognizing activities such as walking, running, or cycling becomes quite useful to provide feedback to the caregiver about the patient's behavior. Likewise, patients with dementia and other mental pathologies could be monitored to detect abnormal activities and thereby prevent undesirable consequences.

In such IoT applications, proper software engineering and data engineering are especially important to manage the software development life cycle and help make data useful for machine learning models. Many software engineers are primarily interested in aggregating raw data and making it into useful, ordered and structured data formats. A typical flowchart of sensor-based human activity recognition as shown in Figure 1 (attached).

This assignment involves the following subtasks:

1. Use Agile to manage this IoT application development (e.g., develop backlog, create sprint, and monitor the sprint progress). The backlog and each sprint along with each week's sprint progress burndown chart shall be recorded in the final submission document.

2. Based on the given workshop materials, create python code to load data and extract corresponding features from the given dataset.

3. Test and evaluate the two given machine learning models (KNN and SVM) and application in general and record the test results and evaluation summary in the final submission document.

4. Refactor the source code according to the design pattern lecture and make the code easier to understand and extensible. The code shall be managed by GitHub and will be reviewed for this along with GitHub version control history.

The sourcing data is from a public dataset (Dalia dataset, which contains 6 sensors' data for 19 activities), refining that data and cleaning them up, and extracting significant features through statistical analysis for use in artificial intelligence and machine learning systems.

An example code is provided for reference. You may need to learn the use of Python libraries Numpy and Pandas. Machine learning modules using Scikit-learn are given though having some understanding of them is recommended (we will only cover the basics of it to avoid course overlapping).

Recommended Sprints - The human activity recognition IoT system are recommended to be developed in four sprints.

1. Data loading and preprocessing: In this stage, based on the workshop materials provided, you need to firstly visualize the sensor data to get some idea of the underlying human activity pattern. Based on the given codes, apply the signal filtering and visualize the cleaned data.

2. Feature engineering for sensor data: In this stage, you need to extract features from the cleaned sensor data. In the example code, min, max, and mean values of three accelerometers in the wrist sensor are extracted as features of each human activity. In this assignment, you need to focus on feature engineering (try to extract more features from more sensors based on the Week 3 lecture note, and research how different features influence the performance of human activity recognition based IoT application). Then, you could use the GIVEN code to construct training datasets. In this stage, you could train different GIVEN machine learning models based on training feature set. The code of recognition models is GIVEN, where KNN and SVM classifier are used to learn human activity recognition.

3. Testing: After training a model, you should evaluate and test the application. Classification accuracy is a simple metric to measure the performance of a trained model. In addition, confusion matrix could clearly show the performance of our model on the recognition of each activity (Testing of Machine learning models and confusion matrix will be covered in week 4 lecture notes) . The two evaluation metrics are also GIVEN in the example code.

4. Code refactoring and Version Control: The given example code reflects the state of the art engineering for IoT. Please refactor the code to make the code easily to read/understand (e.g., comments) and extensible (those techniques for design pattern and software refactoring taught in the unit). The changes shall be reflected in the GitHub version control.

The structure of the report is: Suggested headings (max. 10 pages; 10pt-12pt font size in single line spacing)

Student details: name and SID

Project title (you are free to give a cool name as the project can be used for many purposes)

Introduction: description of the project.

SCRUM Sprint and Design: give description of each key component and system architecture (can follow the given diagram but can't be exactly same). Give description of the backlog, each sprint created and weekly sprint progress chart (burndown chart).

Implementation: description of technologies and techniques used with respect to each of system components/functionalities described in the Design.

Evaluation: description of experiments and discussion of results.

Discussion: Challenges, limitations and open issues.

Version Control: give screen shop of the GitHub version control log.

Summary/conclusion: summary and/or concluding remarks.

References including Bitbucket project repository/wiki.

Attachment:- Software Engineering Assignment File.rar

Reference no: EM132363367

Questions Cloud

What would be three essential items that you would want : What would be three essential items that you would want to discover about that company before engaging to conduct an audit for a new client?
Compute the return on assets for both companies for the year : Compute the return on assets for both companies for the year ended January 2009. Comparing Abercrombie & Fitch and TJX Companies.
Define the current business environment : Identify strengths and weaknesses of the company/brand as it exists today, providing at least 3 strengths and 3 weaknesses.
Prepare the income statement and the balance sheet : Prepare the income statement, the balance sheet, and the statement of cash flows for General Mills for the fiscal year ended May 2018.
Develop a human activity recognition IoT application : COMP255 Software Engineering Assignment: SDLC For Human Activity Recognition Project, Macquarie University, Australia. Develop a human activity
Identify how those consequences affect financial statements : Could you identify how those consequences affect the financial statements of the company? What will be your reporting method?
Creating a program for a pizza shop : Perform internal correctness checking of data and those which do not - effect on the usefulness of a programming language in terms of factors such as its speed
Calculate the total revenue after adjusting the entries : Complete the schedule to determine the net income of Ocean View Inc. for May after these adjustments have been recorded.
What is the current interest payment and par value : A 3.00 percent TIPS has an original reference CPI of 170.6. If the current CPI is 205.9, what is the current interest payment and par value of the TIPS?

Reviews

len2363367

8/30/2019 2:15:44 AM

Marking rubric: 3 marks: Agile Management and System Design - The design is compliant with the project requirement and detailed – 1 mark, Reasonable backlog design – 1 mark and Reasonable Sprint design and progress – 1 mark. 3 marks: Data engineering & Feature engineering - Correct python code to load data – 1.5 marks and Correct python code to extract features from data – 1.5 marks.

len2363367

8/30/2019 2:15:38 AM

3 marks: Testing and Evaluation report - Correct python code to construct training and testing set and test given machine learning models – 1.5 marks and Reasonable evaluation report – 1.5 marks. 3 marks: Code Refactoring and Version Control - Elegance of code – 1 mark, Maintainability (e.g., comments) – 1 mark and Reasonable Version control history (e.g., Screen shot from GitHub) – 1 mark. 3 marks: Summary and overall clarity of the report - Insightful summary for the project from software engineering perspective – 1 mark, English (e.g., grammar, typos, readability, etc.) – 1 mark and Structure including references/Length – 1 mark.

Write a Review

Software Engineering Questions & Answers

  Impact on the applied practice of cryptography

Crypto does not tend to advance quite as quickly as the general field of computer security, but events happen frequently that have an impact on the applied

  Explain the process of performing a risk assessment

Describe the process of performing a risk assessment. Elaborate on the approach you will use when performing the risk assessment.

  Playing a game which uses dice

Let's imagine you are playing a game which uses dice. You are about to roll three of them. You NEED to roll at least one 6.

  Research an issue related to information technology ethics

For this assignment, you will research an issue related to information technology ethics. You may want to select a topic you feel will have an impact on your professional life.

  Write a program to simulate the scheduling of cpu

In this project, write a program to simulate the scheduling of CPU. The program will randomly generate process CPU burst based on user's setting. Performance is measured and analyzed in a report.

  Describe the general information security steps

Discuss briefly what you would recommend should be included in SoftArc Engineering's BCP as a result of their adoption of a Hybrid Cloud approach.

  Describe the main building blocks for the sequence diagram

Describe the main building blocks for the sequence diagram and how they are represented on the model.

  Develop a design for a gui interface to support the ccrd

Develop a design for a GUI interface to support the CCRD use case used in Part B. Use a standard set of graphical ‘widgets' such as those supported in .NET or Java Swing.

  Describe your approach to user help facilities

As a software engineer, describe your approach to "User help"facilities which integrate with error messages.

  Explain why you need to use good wbs project management

Explain why you need to use good WBS project management software?

  How complexity of software project influence the guidelines

Analyze how the complexity of a software project and the size of a team influence the guidelines you selected in Part 1 of this discussion.

  Examine advantages of using a gantt chart over a pert chart

Examine the advantages of using a Gantt chart over a PERT chart and vice versa. Determine when it is appropriate to use one over the other. Justify your response.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd