Approved-online-essay-writers

Introduction to Software Engineering Report Writing – IT Computer Science Assignment Help

Assignment Task

Task

1. Introduction:

A-Plus Writing Help For University Students

Get expert assistance in any academic field. All courses and programs covered.

Get Help Now!


You have learned about basic concepts of software testing, modularity, version control and ethics in the second half of this unit. You learned how to use a version control system to maintain your code and other files. You have learned how to design test cases using black-box and white-box testing approaches, implement test designs as a test code and run them to test your code. You have learned about several concepts related to designing better, more modular code. You were introduced to ethical and professional issues in software engineering and ways to reduce them. This assessment evaluates your competency in above areas of Software Engineering. It expects you to apply the knowledge you have gained via lectures, practical classes and sign-offs to design and implement simple software following modularity principles, verify your code against a review checklist, design test cases and test the code you have developed. Finally, you will explore ethical and professionalism issues and ways to avoid them in your software system. You will use a version control system to keep track of all the activities of the whole assessment task. You will document your work in each stage so that another person can understand the work you have done.


2. Scenario:

Assume you are involved in a project which plans to produce software which can perform different forms of conversions. String conversions and conversions of measurements such mass, length and time are some areas you are going to design and implement. Additional functionalities relating to strings and measuring units will also be implemented.


Some functionalities expected are:

Category 1:

a. Converting a given string to upper case or lower case.

b. Identify whether numeric values are in a given string.

c. Identify whether a given string is a valid number or not.

d. Remove any numeric values in a given string and then convert the string to upper case or lower Case.

Category 2:

a. Converting a number which represents a length given in meters to feet and vice versa and centimeter to inches and vice versa.

b. Converting a number which represents a mass given in kilograms to pounds and vice versa, and mass given in milligram to ounce and vice versa.

c. Converting a number which represents a time given in hours to minutes and vice versa, and time given in minutes to seconds and vice versa.

Choose how to take input and output:

For all functionalities, inputs/outputs can be handled differently. In the basic version, string/ number can be a parameter and the result can be returned. Additional functionality such as allowing a user to input a string via keyboard and printing the results on the screen and is also to be considered. Finally, functionality to read input data from a txt file and to save the results to a text file is expected to be incorporated. For Category 2, input/ output text file would be a set of numbers in a file, either separated by a space or in separated lines (you can consider either of them).


3. Detailed description:

Considering the given scenario, you will design and implement a production code following modularity guidelines, design test cases and test your production code using proper testing processes and analyze the ethical considerations of your code. You will use basic version control methods to keep track of your work.

You are expected to consider all the functionality of Category 1 and only one of (a) (b) (c) of Category 2.

Your work will be organized as seven parts as described below.


1. Version Control:

Apply version control process to keep track of a simple software project

Read all the assessment tasks and get an idea of what you are supposed to do in this assignment. You are supposed to use version controlling and keep track of all your work (documents and code both) relate to this assignment in a Git repository. Derive a short plan, identifying what branches will you need and why and when the branches will be merged.

Now create a Git local repository for this assessment using your surname and ID as part of the repository name following the format __ISErepo). Then, commit all code and documents you create in the rest of the assessment as you create and modify them. Make sure you commit your changes as and when you are doing them, but not all at once at the end.

All your code must be in a directory called “code” and documents should be in a directory called “documents”.

Note: There is no hard rule about what each commit should contain, and you are expected to show your ability to use version control meaningfully.


2. Preliminary description of your modules:

Looking at the given scenario, write down description/s for modules you decided to implement. Apply the modularity guidelines you have learned in the lectures/ worksheets when identifying and planning modules. Descriptions should include short name, clear and detailed explanation on what the intended task of the modules and how it behaves and, inputs and outputs. Indicate whether inputs are taken from keyboard, files or passed to modules as parameters and how outputs are made available (such as a return values, print on screen etc.). You should decide on suitable, meaningful names for the function/s and variables. In this unit, “modules” refers to any sub-part of a program. The module/s you design in this stage affect the rest of your assessment. Therefore, read the whole assignment properly before deciding on what tasks you are going to do. You may use an iterative approach especially for task 2 and 3.


3. Modularity:

Implementation of the production code.

a. Implement the modules designed in the part 2 above considering the good modularity principles discussed in lectures/ worksheets. You can use either Python (Python3) or Java for your implementation. Execute and verify that you have got your code running without syntax errors.

Note: This step will create a production code and not the test code.

b. Create a short review checklist to check whether you have followed good code design principles. You are expected to cover all basic guidelines covered in the Modularity lecture.

c. Review your code using the checklist, identifying any issues.

d. If you have identified any issues, refactor your code to address such issues.

e. After refactoring, if your modules are changed, revise your preliminary descriptions of your modules as revised module descriptions.


4. Test designs (Black box testing):

Based on the module descriptions written by you in part 2 above (OR the revised version after refactoring in Part 3 above, if any revision is done), design suitable test cases using:

a. equivalence partitioning.

b. boundary value analysis.

You may design test cases using both above approaches for all the modules you have defined OR you can use Equivalence partitioning for some modules and Boundary value analysis for other modules. Mention clearly which approach is used in each test design. Your test data must include all following data among other test data items: Last four digits of your student ID, your last name, your full name as appear in your student ID card, name of a movie you wish to watch


5. Test design (white-box testing):

Look at your code implemented above and identify at least two modules where white-box testing approach will be beneficial. Design test cases to cover functionality of the selected modules using white-box testing approach. Indicate clearly which modules are tested with white-box approach.


6. Test Implementation:

Implement your test designs for part 4 and part 5 above using either Python or Java. Using aunit test framework is optional. Run your test case and obtain results. Identify any test failures and then try to improve your code.


7. Ethics and Professionalism:

Think about a scenario the code you have designed can be used in a large software project.

a. Discuss how lack of ethical and professionalism can result in harmful effects using the code you have designed and implemented. You may refer to lecture 9, seven points useful in identifying ethical issues, as a guidance.

b. Using ACS or IEEE-CS Ethical guidelines, give two suggestions to avoid ethical and professional issues in your software proposed in this assignment.

You may note the total marks as per the above detailed description is 93. The rest of the 7 marks will be allocated for the documentation (Cover page, Introduction, Discussion, format)


8. Documentation:

You need to document what you have done in each stage of the assessment so that another person can get a clear idea about what you have done. You are expected to produce a short report, collating all your work as part of your submission.Your report name must be of the following format:

“ < YourFirstName>__Report” Your report must be written in markdown. 

Your report should include following sections:

A. Cover page 

Include the assessment name, your name, Curtin student ID, practical class ( date/ time / venue)

B. Introduction

What functionalities you have decided to implement and overview of work you have done.


C. Module descriptions

Original module descriptions you have created for the part 2 of this assessment, Assumptions you made, if any, and any explanation on why you have chosen to implement these modules. Revised module descriptions resulted after refactoring, if any (after doing the part 3 the detailed description)


D. Modularity

Description on how to run your production code with correct commands.

Discussion on how different modularity concepts are applied in your code, review checklist you have created, results of conducting the review using the review checklist with explanation on your results and how you have addressed any issues. You can use screen shots to support your answer in this part.


E. Black-box test cases

All test cases you have designed in the part 4 of this assessment, assumptions you made if any,
and brief explanation why you have done the test design in the way you have done.

F. White-box test cases

All test cases you have designed as answer for the part 5 of this assessment, assumptions you made if any, brief explanation why you have done the test design in the way you have done

G. Test implementation and execution

Description of how to run your test code with correct commands. Results of test execution with test success and failures with short discussion of results from part 6 of this assessment, discussion on whether you have attempted to improve your code and new results, if any. You can use screen shots to support your answer in this part. You are supposed to produce a table which shows following information to help you and the marker to check the work you have done. ( EP: Equivalence partitioning, BVA: Boundary value Analysis, BB : Black-box, WB: White-box).


This IT Computer Science Assignment has been solved by our IT Computer Science Expert at TV Assignment Help. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+ Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing Style. Be it a used or new solution, the quality of the work submitted by our assignment experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turn tin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.

Welcome to our Online Essay Writing Agency. Securing higher grades costing your pocket? Order your assignment online at the lowest price now! Our online essay writers are able to provide high-quality assignment help within your deadline. With our homework writing company, you can order essays, term papers, research papers, capstone projects, movie review, presentation, annotated bibliography, reaction paper, research proposal, discussion, or another assignment without having to worry about its originality – we offer 100% original content written completely from scratch

We write papers within your selected deadline. Just share the instructions

PLACE YOUR ORDER