Ask Question, Ask an Expert


Ask Programming Language Expert


The aims of this assignment are to:

• Provide experience in the use of a modern Integrated Development Environment (specifically NetBeans running on a Linux platform) for the development of C++ applications;

• Provide additional experience in the design and implementation of simple C++ classes;

• Introduce the "Test Driven Development" style for program development;

• Use program testing tools including unit testing (cppUnit) and code coverage testing.


On completion of this assignment, you should be able to:

1) Make effective use of an IDE for C++ development.

2) Develop a simple project in "test driven development" style.

3) Utilize the cppUnit unit test framework to run test suites on new components of application code;

4) Utilize the gcov code coverage tool to verify the extent to which a complete application has been exercised

The assignment does require that you use the NetBeans IDE as the standard C++ development environment. The Ubuntu Linux computer systems in laboratory will have this system installed.


You should read the description of the Scramble Word Game (SWG) System in Appendix A before reading these task details.

You are to implement the application described in those notes, and then produce a report on your application, and your development process.  Your report should demonstrate that:

• appropriate use was made of the IDE,
• You have followed an iterative style of development creating and testing component classes prior to assembling them into complete programs
• You have tested your final programs thoroughly.

You prepare a report on your final code, your development process, and your testing. This report should be prepared in a word processor (Microsoft Word, or Open Office Word Processor) and should contain formatted listings of code, code coverage testing listings, screen shots, and segments of captured console output.  The final report is submitted as a PDF document.

Use of the Integrated Development Environment:

It is intended that you learn to use the IDE (and, if appropriate, learn to exploit the integrated source level debugger).  Your report on your assignment work should include screen shots illustrating your code being developed in the IDE.

Classes and unit test exercises:

You will need to implement a number of classes.  In addition to application specific classes, you may need some standard classes from the STL and iostream libraries.  Of course, there is no need for you to do any testing of such standard classes.

Remember that Test Driven Development (TDD) is more about design than testing.  The TDD approach encourages you to think in terms of simple, orthogonal classes that can be developed and tested in isolation and which can then be assembled into a complete program.

You will create Test classes (these are all specialized CppUnit::TestFixture classes) that test the functionality of your application classes. CppUnit classes, their more important methods, and the helper macros are covered briefly in the lecture materials.  cppUnit is further documented at its SourceForge home .

Your assignment report should include formatted listings (header and code files) for your classes – both the application specific classes and their associated test classes . If you do “refactor” your classes many times, you need only include final versions of the class and its test class. When presenting a class it is best to provide a brief summary of the role of the class, its header file, and then its implementation file.  You should do proper code-coverage checking of your program.  You need to run your programs, possibly many times, to verify that you have executed all the different processing options.

Your report should include formatted listings of your application, some captured input and output from console sessions, and some gcov code coverage reports. You should edit segments out of your console sessions and code-coverage reports – there is no need to include the full listings which can be very long.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M9129

Have any Question? 

Related Questions in Programming Language

Test 1you are permitted the use of pre-written notes

Test 1 You are permitted the use of pre-written notes, previous labs and the textbook. You are NOT permitted the help of the Lab TA or the Internet. Any cheating will result in a report Academic Integrity Violation and a ...

Write a program which1 asks the user to enter a letter

Write a program which: 1. Asks the user to enter a letter grade (A, B, C, D, F) or (a, b, c, d, f) 2. Validates that the entry is a letter grade (A, B, C, D, F) or (a, b, c, d, f) 3. The program then asks the user to ent ...

Assignmentgoalsto learn about separate compilation classes

Assignment Goals To learn about separate compilation, classes, and vector manipulation. Your Assignment In this assignment the main has been written for you in the file phone_book_main.cpp. You will also notice that a cl ...

Avanced web scripting - practical assessmentbackground

Advanced Web Scripting - Practical Assessment Background / Requirements Parkfordshire University has a timetabling system which allows for the production of personalised timetables, based on the modules each student is t ...

Wite a method to computer the following series mi 12 23

Write a method to computer the following series: m(i) = 1/2 + 2/3 + . . . + i/i + 1 Write a test program that displays the following table: I m(i) 1 0.5000 2 1.1667 . . . 19 16.4023 20 17.3546 Formulas to achieve the abo ...

Rainfall programwrite a rainfall program that stores the

Rainfall Program Write a RainFall program that stores the total rainfall for each of 12 months into an array of doubles. The program should have methods that return the following: * The total rainfall for the year * The ...

Generate code for the following three-address statements

Generate code for the following three-address statements again assuming stack allocation and assuming a and b are arrays whose elements are 4-byte values. a) The four-statement sequence x = a[i] y = b[j] a[i] = y b[j] = ...

Assignmenteagle airlines has contracted you to implement a

Assignment Eagle Airlines has contracted you to implement a basic airline ticketing system for passengers. Your program will allow the application's user to enter the information associated with each passenger. The ticke ...

Assignment introduction to computer sciencepart a this

Assignment: Introduction to Computer Science Part A: This question is to be submitted to the instructor in the form of a Word (or OpenOffice) document containing the Java code and appropriate screen capture(s) of the out ...

Assignmentscenariosummaryin this lab you will create one

Assignment Scenario/Summary In this lab, you will create one project that reads from a file, one project that writes to a file, and one project drawing a snowman. Program files for each of the following programs. Write o ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro

Describe what you learned about the impact of economic

Describe what you learned about the impact of economic, social, and demographic trends affecting the US labor environmen