Create a class diagram of the initial code

Assignment Help Software Engineering
Reference no: EM131624560 , Length: 3

Analysis and Design

Overview

This is an individual assignment that requires you to document, test and refactor an existing application.

Learning Outcomes Assessed
The following course learning outcomes are assessed by completing this assessment:
- S1. Apply software design principles to design and document software that utilises design patterns
- S2. Analyse source code and develop comprehensive unit test suites
- S3. Operate CASE software to document the design of a piece of software
- S4. Apply refactoring to identify poor programming practice in existing source code and improve its structure and readability
- S5. Apply an appropriate software development methodology to the development of a software system

Assessment Details
You are required to document, test and refactor an existing application.

You will be given a copy of an existing C# application which is responsible for managing pet adoptions for an animal rescue organisation. 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.

The base application consists of five classes: AdoptAPet, Shelter, Animal, Adoption and Client. Clients are able to adopt animals based on availability and choice of animal type.

Assignment Requirements

Step 1 - Rename the base code
1. Download the code from Moodle and unzip it in the filesystem
2. Rename the base folder to "Assignment 1 - yourid" (your id equals your student number)
3. Open the solution up in Visual Studio right click on the Solution and rename it as per (2)
4. Build the solution and inspect the output. Spend some time becoming familiar with the code before you do anything else.

Step 2 - Identify "code smells"
Open up a new document in Word (or equivalent), start documenting any code smells you identify in the code in point form. You might want to cut and paste the code into Word to illustrate the problems.

Step 3 - Create a class diagram of the initial code.
Do this in Enterprise Architect and copy the resultant diagram into your Word file. Ensure your EA file is saved and labelled as "starting code base".

Step 4 - Refactor and unit test code
Ensure that your starting code and EA file is backed up. Once this is done, commence refactoring the code in Visual Studio. Document each change you make and provide an explanation of why you have done so.

Your final code should be fully refactored and have unit tests developed for every method (other than any ToString and Get and Set methods). These unit tests should be documented to demonstrate the results before and after the changes to confirm that the functionality of the code has not changed.

Step 5 - Create diagrams of the final code.
Do this in Enterprise Architect and copy the resultant diagram into your Word file. Create a class diagram of the final code, and a sequence diagram showing how a new adoption request is processed in the final code. Ensure your EA file is saved and labelled as "final code base".

Attachment:- Assignment.rar

Reference no: EM131624560

Questions Cloud

Write an essay on importance of mission and vision statement : Essay Assignment- Write a 750 words essay on the importance of mission and vision statements.
Define coaches who employ methods to help : NFL Teams and their owners face challenges from players and coaches who employ methods to help them win but may be unethical
What is the quarterly dividend paid : Today the shares are selling at $64.07. If the required rate of return for such shares is 16.5 percent, what is the quarterly dividend paid by this company?
Compute the firm earnings per share : The Med Tech Company recently reported net profits after taxes of $15.8 million. It has 2.5 million shares of common stock outstanding and pays preferred.
Create a class diagram of the initial code : ITECH3201 Software Engineering - Create a class diagram of the initial code - Ensure your EA file is saved and labelled as "starting code base".
What is the current share price : The forecast for the share price a year from now is $36.00. If the required rate of return is 19.0 percent, what is the current share price?
Variables influence the firm sustainable growth rate : Explain how each of the variables influence the firm's sustainable growth rate.
Expected to grow in the near future : The current share price of Largent Ltd is $45.26. If the required rate of return is 18 percent, what is the dividend paid by this company
Determine the recoverable amount of the land : On 1 July 2016 Big Wednesday Ltd acquired land at a cost of $1,000,000. Determine the recoverable amount of the land for each reporting date

Reviews

len1624560

9/2/2017 5:45:15 AM

Documentation of Final Code • Class Diagram of final code in Enterprise Architect AND the report 2 • Sequence Diagram in Enterprise Architect AND the report showing the processing of a new adoption request. Note that full credit will not be given for overly complex diagrams – only key, relevant messages are to be included. 2 Total 20 Feedback Assignments will be marked within 2 weeks of submission. Marks will be loaded in fdlGrades, and a completed marking sheet will be available via Moodle.

len1624560

9/2/2017 5:45:07 AM

Marking Criteria/Rubric Student ID Student Name Task Available Marks Student Mark Documentation of Initial Code • Report documenting “code smells” present in the initial code base 2 • Class diagram of the initial code provided in both Enterprise Architect AND the documented report. 2 Refactoring • Completed refactored code base, eliminating the bad smells present in the initial code base 4 • Report identifying and documenting changes made to the code and justification of each change 2 Unit Testing • A comprehensive set of unit test cases that covers all the required functionality in the provided code base 3 • Report documenting completed unit tests demonstrating that the refactored code has maintained previous functionality 3

len1624560

9/2/2017 5:44:55 AM

A word of caution: there is some software available that enables automatic generation of sequence diagrams. These tend to produce over-complicated sequence diagrams with considerably more detail than is useful to us. Only the key messages specifically relevant to processing a new adoption are to be included in the sequence diagram. You will not receive full credit for sequence diagrams if you provide excessively complex diagrams. Submission Your program code and all documentation should be zipped into a single file and loaded into the Assignment Box provided in Moodle by the due date and time. This includes: • All code representing your refactored application and unit tests • The accompanying Enterprise Architect file with model versions that correspond to your final code submission • An electronic report, in Microsoft Word, containing your UML, identification of any problems with the initial code, and an explanation of your Refactorings.

len1624560

9/2/2017 5:44:40 AM

Learning Outcomes Assessed The following course learning outcomes are assessed by completing this assessment: • S1. Apply software design principles to design and document software that utilises design patterns • S2. Analyse source code and develop comprehensive unit test suites • S3. Operate CASE software to document the design of a piece of software • S4. Apply refactoring to identify poor programming practice in existing source code and improve its structure and readability • S5. Apply an appropriate software

Write a Review

Software Engineering Questions & Answers

  Importance of various system analysis

In this class, we've stressed the importance of various system analysis and design tools and techniques. By now you should have a "toolbox" full of useful design and analysis tools.

  Describe differences between iterative and waterfall process

PROJECT REPORT DESCRIPTION. You will use an iterative software development process (UP) for this project. We have discussed this process in class and described the differences between iterative and waterfall process

  When implementing a new system there are many different

when implementing a new system there are many different models that a company can choose to follow sdlc rad prototyping

  Business requirements

Describe the scope and analyze how to control the scope. Speculate and give justifications for how to control scope. Identify possible risks, constraints, and assumptions.

  Creating a grade average program

Create a grade average program that will produce the numerical grade average of test scores input by a user.

  How to draw flow chart to read employee master file

How to draw a flow chart to read the employee master file and to output the number of employees in each department who have a basic degree

  Designing and building a database application

Design and implement a relational database using a database management system - utilise a query language tools and techniques to obtain data and information from a database.

  Describe software processes needed to accomplish workflow

Use case diagram illustrating the functionality intended. UML activity diagram describing the step-by-step software processes needed to accomplish workflow.

  Choose a phase in the systems development life cycle and

choose a phase in the systems development life cycle and describe the tasks that make up the phase. what are some

  Explain what aspects of project made it successful

What aspects of project made it "successful" in their definition? Would your organization explain this as successful? Explain why or why not?

  App implementation - implement all of the given features

Implement one feature that has not been taught in this course. Research this part and figure out how to implement it? This is the part where you can display the passion for the iOS programming.

  How much each individual gave during each service

Could you imagine how awkward it would be to have somebody sitting there counting how much each individual gave during each service?

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