COMP 2710 Software Construction Project 1 Phase 3

  • Slides: 13
Download presentation
COMP 2710 Software Construction Project 1 – Phase 3: Implementation Dragons – A Simple

COMP 2710 Software Construction Project 1 – Phase 3: Implementation Dragons – A Simple Text-Based Game Dr. Xiao Qin Auburn University http: //www. eng. auburn. edu/~xqin@auburn. edu

How to improve programming skills? • Practice, and Practice++ • Never stop learning •

How to improve programming skills? • Practice, and Practice++ • Never stop learning • Learn one programming language every year • Looking back at the code you have written • Pair programming

How to improve programming skills? • Reading and figuring out code written by other

How to improve programming skills? • Reading and figuring out code written by other programmers • Write documentation for code written by other programmers. • Explaining something • Work on open source projects • Read Websites & Blogs

Review: Learning Objectives of Project 1 • To perform analysis, design, and testing •

Review: Learning Objectives of Project 1 • To perform analysis, design, and testing • To gain experience with unit and system testing. • To develop some proficiency with basic C++ syntax and semantics. • To perform separate compilation. (The Make Utility Program in Linux) • To learn data flow diagrams. • To use singly linked lists • To learn use cases and use case diagram. • To develop a reasonably user-friendly application • To write a fun application! 4

Learning Objectives of Phase 3 • To design and implement a non-trivial application using

Learning Objectives of Phase 3 • To design and implement a non-trivial application using the function-oriented development approach. • To perform separate compilation using the Make utility program in Linux. • To use singly linked lists • To gain experience with unit and system testing 5

Basic Data Structures • Singly linked list. Your underlying data structures must include at

Basic Data Structures • Singly linked list. Your underlying data structures must include at least one singly linked list. • Other Basic Data Structures. Menu, Character, Scoreboard, Scorefile, Encounter, and Puzzle. 6

Main Function • The main function in your program must be short. • Why?

Main Function • The main function in your program must be short. • Why? A short main function generally improves the quality of your code. • All your functions should be short. 7

Test Results • Try all of your test cases (both system and unit testing).

Test Results • Try all of your test cases (both system and unit testing). • Unit testing first followed by system testing. • Show the results of your testing – A copy and paste from your program output is fine – You decide the format – The results should be clear – You should have test results for every test case – If your system doesn’t behave as intended, you should note this. 8

Separate Compilation • You must use separate compilation • You must use the make

Separate Compilation • You must use separate compilation • You must use the make utility program in Linux • You must create a makefile for this project. 9

How to use tar? Courtesy of http: //tarflags. org/ 10

How to use tar? Courtesy of http: //tarflags. org/ 10

Create your compressed file • tarball: To create a compressed tar. gz file from

Create your compressed file • tarball: To create a compressed tar. gz file from multiple files or/and folders • Use the tar utility program in Linux • Run the tar command as follows: tar -czf project 1. tar. gz <COMP 2710_project 1_folder> 11

How to memorize the flags? • To compress your files: tar -vfzc project 1.

How to memorize the flags? • To compress your files: tar -vfzc project 1. tar. gz <COMP 2710_project 1_folder> vfzc: Very Fast Zombies (Compress) • To compress your files: tar -vfzx project 1. tar. gz vfzx: Very Fast Zombies (e. Xtract) 12

Files to be Submitted • A single compressed (. tar. gz) file named “project

Files to be Submitted • A single compressed (. tar. gz) file named “project 1. tar. gz” • Makefile: this file makes your project • Multiple source code files. e. g. , your files may include encounters. cpp, encounters. h, puzzle. cpp, puzzle. h, scoreboard. cpp, scoreboard. h, menu. cpp, menu. h, testdrivers. cpp, testdriver. h, system. cpp, system. h • project 1_results. pdf This file includes all process information, especially the results of testing 13