Software engineering: analysis & design

[ad_1]

ITECH3201/7201
Software Engineering: Analysis & Design


School of Science, Information Technology & Engineering
CRICOS Provider No. 00103D (VIC); 01266K (NSW); 02235J (SA) Page 1 of 6


Assignment 1
Sem3, 2013
Weight: 20%
Due date: Refer course description
Objectives
? You are required to document, test and refactor an existing application.
Disclaimer:
You must use the code (from Application Code Base for Assignment I in Moodle) supplied by your lecturer. Do not use code given to you by another student (or past student) as the codebase will be different and you will be awarded ZERO MARKS for the assignment task.
Plagiarism:
This is an individual assignment you are not to attempt this assignment (or any part thereof) in conjunction with any other parties. All work handed in for marking should be your own and any help received should be explicitly acknowledged.
It is important to learn from the work of others and you are encouraged to explore the library, World Wide Web resources and have discussions with other students. However work for assessment must be entirely the student’s own work.
Plagiarism is the presentation of the expressed thought or work of another person as though it is one’s own without properly acknowledging that person.
You must not allow other students to copy your work and must take care to safeguard against this happening. In cases of copying, normally all students involved will be penalised equally; an exception will be if you can demonstrate the work is your own and you took reasonable care to safeguard against copying.
Plagiarism is a serious offence. As set out in the University Regulation 6.1.1 students who are caught plagiarising will, for a first offence, be given a zero mark for that task. A second offence will result in a failing grade for the Unit(s) involved and any subsequent offence will be referred to the Student Discipline Committee.


ITECH3201/7201
Software Engineering: Analysis & Design

School of Science, Information Technology & Engineering
CRICOS Provider No. 00103D (VIC); 01266K (NSW); 02235J (SA) Page 2 of 6


Introduction
The UB Health Services is a medium size hospital capable of handling few tens of patients. The hospital is to develop diet control software for the patients who are recovering from their illness. In the current scenario, the hospital does have software, capable of finding the diet requirement for a given patient. However, the existing software is poorly designed and developed by the previous IT team. You have joined this hospital as multifaceted IT person who has capacity to play dual roles — as a system analyst and as a developer.
In UB Health Services, you are given an application for calculating the recommended daily intake of calories. The application has the following general requirements:
1. The application has the formula for calculating daily recommended calories and the calculation is based on the patient’s personal data and it varies according to the patient’s gender. Here are the formulas:
Male: 66 + (6.3 × body weight in lbs.) + (12.9 × height in inches) – (6.8 × age in years)
Female: 655 + (4.3 × weight in lbs.) + (4.7 × height in inches) – (4.7 × age in years)
2. The application is also required to calculate an ideal-weight. The idea was for the application to be able to calculate a patient’s ideal weight based on height, along with calculating daily calories. As before, the calculation depends on gender, so there are separate formulas for men and women. Here are the formulas:
Male: 50 + 2.3 kg per inch over 5 feet
Female: 45.5 + 2.3 kg per inch over 5 feet
3. The next requirement is to save patient historical data so that doctors could easily track his patients’ progress. Therefore, for this requirement, application needed to capture some data that could be used to identify the patient.
4. Identification of the patient by using Medicare number.
5. Separation of the calculation operation and the operation of persisting patient data: These two actions should be separated to be able to perform some ad hoc calculations without having to input a patient’s name and Medicare number. In addition, users could save the data only when they were sure that all the entries were correct.
6. For implementing persistence of a patient’s history, a few alternatives are available, such as a flat file, a database (e.g., Access), or even a spreadsheet. In the given application, a flat file was used. You are required to change this to a database or XML file. (only for ITECH7201 students)


ITECH3201/7201
Software Engineering: Analysis & Design

School of Science, Information Technology & Engineering
CRICOS Provider No. 00103D (VIC); 01266K (NSW); 02235J (SA) Page 3 of 6


The system analyst role is to design and analysis the requirements by drawing a use case diagram, class diagram and sequence diagram for finding the correct diet intake in calories for a given patient. While the developer role is to produce the code, however, in this scenario, you have given the written code for the application developed by the previous IT team. This application is badly in need of refactoring and even a casual viewing of the source code reveals many examples of the “code smells” (talked about in Fowler’s book). You are only required to refactor the written code and test them based on the analysis and design produced by you as a system analyst. Finally, a report is given to the management about the defects in the design of the existing software by identifying the bad smells etc.
Your report should be written in the same manner as Fowler has done in the prescribed text – small refactoring’s with code comparisons and UML diagrams (refer Fowler pp.1-65). Ask your tutor if you have any doubts.
Marks
This assignment consists of a number of tasks for you to perform as detailed in the following:
Tasks
Marks
Report detailing any “code smells” present in the code, and how you intend to refactor them out of the application.
3
A refactored version of the system eliminating all identified code smells present in the initial code.
3
A class diagram illustrating the initial code and another class diagram illustrating the final refactored code (including all relevant dependencies
2
A sequence diagram illustrating how the final refactored system processes a new patient’s
recommended daily intake of calories
2
Extensive NUnit tests for the complete refactored system
3
Implementing persistence of a patient’s history (database or XML) – ITECH 7201 students only
3
Code written for Lab 4 exercise
3
Code written for Lab 5 exercise
3
Code written for Lab 6 exercise
3
Total
25 (Scaled to 20%)
[13 + 9 = 22 marks will be scaled to 20%] ITECH 3201
[16 + 9 = 25 marks will be scaled to 20%] ITECH 7201


ITECH3201/7201
Software Engineering: Analysis & Design

School of Science, Information Technology & Engineering
CRICOS Provider No. 00103D (VIC); 01266K (NSW); 02235J (SA) Page 4 of 6


NOTE: 9 marks out of the total marks (before scaling) have been allocated to show the working of your code to your tutor / lecturer before submitting to Moodle. The written codes in the labs should also be submitted along with the assignment.
? Writing Simple C# programs with Unit testing in Lab of Week 4 – 3 marks
? Unit tests and Refactoring of code in Lab of Week 5 – 3 marks
? Adding extra functionality in the program in Lab of Week 6 – 3 marks
Submission
You are required to submit an electronic copy before the due date.
Electronic copy submission
You are required to submit the assignment consisting of:
? A Zip file containing the following (submitted via Moodle under the Assignment 1 link)
o All code representing your refactored application and NUnit tests
o The accompanying Enterprise Architect file with model versions that correspond to your final code submission.
o An electronic report, in MS-Word, with all requirements as above mentioned.
Name your zip file as:
FAMILYNAME_ GivenName _StudentID _Assign1
For example: SMITH_John_30091234_Assign1.zip


ITECH3201/7201
Software Engineering: Analysis & Design

School of Science, Information Technology & Engineering
CRICOS Provider No. 00103D (VIC); 01266K (NSW); 02235J (SA) Page 5 of 6


University of Ballarat
School of Science, Information Technology and Engineering
ITECH3201/ITECH7201 Software Engineering: Analysis and Design
Sem1, 2013
Assignment 1
A mark is awarded for each of the sections shown. Within each section, items affecting the category mark are listed.
Student ID:
Student Name:
Marker’s Name:
Report detailing any “code smells” present in the code, and how you intend to refactor them out of the application. Your report should be complete and follow the guidelines for the presentation of academic work. The style of your report should be the same as that used by Fowler in his book ‘Refactoring’.
A refactored version of the system eliminating all identified code smells present in the initial code.
A class diagram illustrating the initial code and another class diagram illustrating the final refactored code (including all relevant dependencies).
3
3
2


ITECH3201/7201
Software Engineering: Analysis & Design

School of Science, Information Technology & Engineering
CRICOS Provider No. 00103D (VIC); 01266K (NSW); 02235J (SA) Page 6 of 6

 


A sequence diagram illustrating how the final refactored system processes a new patient’s recommended daily intake of calories
Extensive NUnit tests for the complete refactored system.
Code written in Lab 4
Code written in Lab 5
Code written in Lab 6
Implementing persistence of a patient’s history (database or XML) – ITECH 7201 students only
2
3
3
3
3
3
Total
Out of 20 =
ITECH3201
/22
Total
Out of 20 =
ITECH7201
/25
Comments:

Calculate the price
Make an order in advance and get the best price
Pages (550 words)
$0.00
*Price with a welcome 15% discount applied.
Pro tip: If you want to save more money and pay the lowest price, you need to set a more extended deadline.
We know how difficult it is to be a student these days. That's why our prices are one of the most affordable on the market, and there are no hidden fees.

Instead, we offer bonuses, discounts, and free services to make your experience outstanding.
How it works
Receive a 100% original paper that will pass Turnitin from a top essay writing service
step 1
Upload your instructions
Fill out the order form and provide paper details. You can even attach screenshots or add additional instructions later. If something is not clear or missing, the writer will contact you for clarification.
Pro service tips
How to get the most out of your experience with Australia Assessments
One writer throughout the entire course
If you like the writer, you can hire them again. Just copy & paste their ID on the order form ("Preferred Writer's ID" field). This way, your vocabulary will be uniform, and the writer will be aware of your needs.
The same paper from different writers
You can order essay or any other work from two different writers to choose the best one or give another version to a friend. This can be done through the add-on "Same paper from another writer."
Copy of sources used by the writer
Our college essay writers work with ScienceDirect and other databases. They can send you articles or materials used in PDF or through screenshots. Just tick the "Copy of sources" field on the order form.
Testimonials
See why 20k+ students have chosen us as their sole writing assistance provider
Check out the latest reviews and opinions submitted by real customers worldwide and make an informed decision.
Other
Although I did not receive my paper on time, the customer care team ensured that I would receive a quality paper. I am pleased with the revision of this paper.
Customer 452455, March 2nd, 2023
Technology
Thank you for doing a great job. I really am glad that you did not use someones else work like the first person who did this did. Awesome job. Because of this I will continue to use this site!
Customer 454345, June 2nd, 2020
Criminal Justice
this is an excellent paper
Customer 454221, April 3rd, 2020
SEO
good
Customer 463813, March 8th, 2023
Project Management
I gave a lower rating on the service because, a notification from the support team went out but it did not come to my email address. Had I not looked earlier on the website, then I would have been penalized for not turning in my paper on time. On my profile, I have a phone# and I also have an email address. Please set up a system to text or email new messages or notifications from the writer or support team. This will ensure that the order is processed in a timely manner. With the new and upcoming technology, this seems like it should be an easy fix to have a tool built in the website to email or text notifications of changes to orders. This is no reflection to the support team. I see this as a system issue and not a support team issue.
Customer 463323, September 26th, 2022
Quora
The instructions were followed but, there are a few mistakes you should correct
Customer 452441, March 25th, 2022
Military
excellent job
Customer 456821, October 14th, 2022
English 101
Excellent work.
Customer 460547, April 5th, 2022
Business
Perfect
Customer 463337, April 18th, 2023
Business and administrative studies
Good work.
Customer 462275, June 5th, 2022
Human Resources Management (HRM)
Adequate.
Customer 462499, May 21st, 2022
NURSING
This writer did a wonderful job.
Customer 458101, January 19th, 2022
11,595
Customer reviews in total
96%
Current satisfaction rate
3 pages
Average paper length
37%
Customers referred by a friend
OUR GIFT TO YOU
15% OFF your first order
Use a coupon FIRST15 and enjoy expert help with any task at the most affordable price.
Claim my 15% OFF Order in Chat