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

Program 1 write a program that asks user to enter a year

Program 1: write a program that asks user to enter a year and this program checks whether that year is leap year or not. Also it should print out all a calendar for the year entered. Starting on Monday Jan 1st, 1900. Cha ...

First write a program that reads students names followed by

First... Write a program that reads students' names followed by their test scores. The program should output each student's name followed by the test scores and the relevant grade. It should also find and print the highe ...

Most languages are case sensitive so keywords can be

Most languages are case sensitive, so keywords can be written only one way, and the regular expressions describing their lexemes are very simple. However, some languages, like SQL, are case insensitive, so a keyword can ...

Program 1write a program that reads and processes data

Program 1 Write a program that reads and processes data about quarterly rainfall for one year. Your program should ask the user to enter rain fall amounts for each of the four quarters in the year. You must use a looping ...

Write an mdi project that is a simple text editor allow the

Write an MDI project that is a simple text editor. Allow the user to open multiple documents, each in a separate child form. For the text editor, use one big textbox control with its multiline property set to True or a R ...

Program 1the local yogurt shop is expanding its selection

Program #1 The local yogurt shop is expanding its selection of frozen treats, and would like you to modify the program you wrote to calculate and print their customer's bills. You will also write a test plan to test the ...

Pseudocodes and flowchartxyz company employees work for 8

Pseudocodes and flowchart XYZ company employees work for 8 hours a day and 40 hours in a week. The employees are paid overtime at the rate of half of the salary. Employees who get more than 15000 must pay a supplementary ...

Design a class named pet which should have the following

Design a class named Pet, which should have the following fields: •Name - The name field holds the name of a pet. •Type - The type field holds the type of animal that is the pet. Example values are "Dog", "Cat", and "Bir ...

Assignment testing and quality assurancenote this is part

Assignment: Testing and Quality Assurance Note: This is part three of a four-part implementation plan that will be combined to form the finalized plan in Week Four. It is expected that adjustments will be made in the fin ...

Programming languages assignment write the following as

Programming Languages Assignment Write the following as Prolog rules:  1. Implement a rule "dogEnthusiast". Someone is a "dogEnthusiast" if they own AT LEAST TWO dogs. Assume that the only types of facts available are: " ...

  • 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