Create a class diagram of the initial code

Assignment Help Software Engineering
Reference no: EM132507458

ITECH2309 - Software Engineering Assignment - Federation University, Australia

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:

Apply software engineering principles to design and implement software applications.

Operate CASE software to develop appropriate models of software systems.

Develop comprehensive unit test suites.

Write integrated reports, using appropriate models, providing detailed analysis of given textual scenarios.

Implement software applications, using appropriate software engineering techniques, from a given textual scenario.

Assessment Details - You are given a copy of an existing Java application which is used to manage the allocation of Goodie Boxes containing merchandise for various fandom groups in a Fan Club. 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 four classes - Main, FandomClu b, GoodieBox and Recipient. A recipient can be a subscriber or a guest purchaser and is handled differently depending on their type. Recipients receive goodie boxes according to the availability of the boxes and their specified preferences.

Assignment Requirements -

Step 1 - Rename the base code

1. Create a new project in Eclipse and "Assignment 1 - yourid" (your id equals your student number)

2. Import the four files - Main.java, F andomClub.java, G oodieBox.java and R ecipient.java - into the project you have just created.

3. Run the program. You will find that it has created a file called "MyOutput.txt" in the working directory.

If you wish to use a different folder you will need to update the output file in Main.java. The output of the program will be displayed on the console and written on the output file.

Step 2 - Identify "code smells"

Open up a new document in Microsoft Word (or equivalent) and start jotting down 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. This will form a report that you will need to include in your assignment submission. There are two important bad smells you must address - the long method in the FandomClub class and the long class smell of the Recipient class. However, there are others you should look at as well.

Step 3 - Create a class diagram of the initial code.

Create a class diagram of the given code in Enterprise Architecture (EA). This should be included in your final submission. The diagram should be in your report as well.

Step 4 - Start refactoring and developing your unit tests.

Ensure that starting code files, initial output file and EA file is backed up, and once this is done jump back into Eclipse and get to work refactoring. Each time you complete a refactoring, run the program and then test if the program output is the same as the output before refactoring. You can rename the output file so that you can check them. You can write a simple Java program to check if two output files are the same or not so that you do not have to manually inspect t hem. If the two output files (before and after refactoring) are different, it is because the output has been changed. Refactoring should not change the output so you will need to look at the code you have already written before you move on.

Step 5 - Create a diagram of the final code after refactoring

Create a second class diagram in Enterprise Architecture of the final refactored code. This should be included in your final submission. The diagram should be in your report as well.

Attachment:- Assignment Files - Software Applications.rar

Reference no: EM132507458

Questions Cloud

What is the hedged value of alcoa receivable : Alcoa Chemical, a US company, has sold £3 million chemicals to CPL Co. Payment is due in 90 days.
Leadership-continuous learning and self-development : Demonstrate the technique of reflective and reflexive practice as a means of continuous learning and self-development.
How much does she still owe on the house : Mary wants to sell the house. How much does she still owe on the house?
Influenced modern quality management theory : Briefly explain why you thought they made a significant contribution. Explain how their work may have influenced modern Quality Management theory.
Create a class diagram of the initial code : Create a class diagram of the initial code - Create a class diagram of the given code in Enterprise Architecture (EA)
Define the meaning of transaction exposure : Define the meaning of transaction exposure. How is it different from economic exposure?
Self- development as leader to build self-awareness : Explore and reflect on self- development as a leader to build self-awareness.
Find the net present value of machine : Find the net present value of this machine (NPV). Should the firm buy the machine? Why yes, or why not?
What would be the percentage decline : Stock Market Bubble The NASDAQ stock market bubble peaked at 3,900, and two and a half years later it had fallen to 2,350. What would be the percentage decline?

Reviews

len2507458

5/6/2020 12:29:42 AM

I have done most of my codings just requesting to double-check my codes and try to fix it so that while running the code it shows test passed instead of the test failed. Because in my code the codes have some problem by which its showing test failed. so I want you to fix the codes and try to complete as the assignment specification and hope it will cost lesser.

Write a Review

Software Engineering Questions & Answers

  Research report on software design

Write a Research Report on software design and answer diffrent type of questions related to design. Report contain diffrent basic questions related to software design.

  A case study in c to java conversion and extensibility

A Case Study in C to Java Conversion and Extensibility

  Create a structural model

Structural modeling is a different view of the same system that you analyzed from a functional perspective. This model shows how data is organized within the system.

  Write an report on a significant software security

Write an report on a significant software security

  Development of a small software system

Analysis, design and development of a small software system.

  Systems analysis and design requirements

Systems Analysis and Design requirements

  Create a complete limited entry decision table

Create a complete limited entry decision table

  Explain flow boundaries map

Explain flow boundaries map the dfd into a software architecture using transform mapping.

  Frame diagrams

Prepare a frame diagram for the software systems.

  Identified systems and elements of the sap system

Identify computing devices, which could be used to support Your Improved Process

  Design a wireframe prototype

Design a wireframe prototype to meet the needs of the personas and requirements.

  Explain the characteristics of visual studio 2005

Explain the characteristics of Visual Studio 2005.

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