Software engineering: analysis & design

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:

Order a unique copy of this paper
(550 words)

Approximate price: $22

Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

We value our customers and so we ensure that what we do is 100% original..
With us you are guaranteed of quality work done by our qualified experts.Your information and everything that you do with us is kept completely confidential.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

The Product ordered is guaranteed to be original. Orders are checked by the most advanced anti-plagiarism software in the market to assure that the Product is 100% original. The Company has a zero tolerance policy for plagiarism.

Read more

Free-revision policy

The Free Revision policy is a courtesy service that the Company provides to help ensure Customer’s total satisfaction with the completed Order. To receive free revision the Company requires that the Customer provide the request within fourteen (14) days from the first completion date and within a period of thirty (30) days for dissertations.

Read more

Privacy policy

The Company is committed to protect the privacy of the Customer and it will never resell or share any of Customer’s personal information, including credit card data, with any third party. All the online transactions are processed through the secure and reliable online payment systems.

Read more

Fair-cooperation guarantee

By placing an order with us, you agree to the service we provide. We will endear to do all that it takes to deliver a comprehensive paper as per your requirements. We also count on your cooperation to ensure that we deliver on this mandate.

Read more

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency