-
Notifications
You must be signed in to change notification settings - Fork 0
/
iEx5handsWithTravs.htm
141 lines (126 loc) · 9.32 KB
/
iEx5handsWithTravs.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en"><head><!-- saved from url=(0022)http://internet.e-mail -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Board Displays with Travelers</title>
<style>
</style>
</head><body _texified="true">
<h2>iEx5dsgn and iEx5 - Board Displays with Travelers<br>
<a href="http://www.cs.ou.edu/%7Erlpage/SEtools/Projects/iEx5FAQ.htm">FAQ</a></h2>
<p>Due dates - see lesson plan: <a href="http://www.cs.ou.edu/%7Erlpage/SEtools/syllabusSEf10.pdf">http://www.cs.ou.edu/~rlpage/SEtools/syllabusSEf10.pdf<br>
</a><i>Note</i>: This project has two deliverables, iEx5dsgn, first, then iEx5,
later.</p>
<h3>Purpose of exercise</h3>
<ul>
<li>Practice using keeping time-log and defect-log for Humphrey's Personal Software Process</li>
<li>Practice creating and documenting a software design</li>
<li>Practice doing proxy-based estimation of software size from historical
data and conceptual design</li>
<li>Practice writing equation-based software using Dracula ACL2 mode (not
Modular ACL2 mode)</li>
<li>Practice using ACL2 file i/o</li>
<li>Practice developing software testing suites</li>
<li>Practice using mechanized logic to verify software properties</li>
<li>Practice using PSP++ to generate PSP post-mortem reports</li>
<li><a href="http://www.cs.ou.edu/%7Erlpage/SEtools/ABEToutcomes.pdf">ABET
Outcomes</a> A, C, H, I, J, K</li>
</ul>
<h3>Project</h3>
<p>Generate HTML files that display hand records with travelers extracted from
XML records of duplicate bridge contests in such a way that, viewed with an HTML
browser, hand records display in the <a href="http://denverbridge.com/dbHandOfWeek.htf">directional
format</a> common in newspaper columns on bridge accompanied by the associated
"traveler," which shows a table of results on the hand, including the
scores and matchpoints recorded for each play of the hand by competing
north-south and east-west pairs.</p>
<p>The XML schema for recording contest data to be processed in this project has
some changes from the one used in previous projects, and it includes data for
the traveler tables. You can <a href="http://www.cs.ou.edu/%7Erlpage/SEtools/Projects/iEx5files"> download</a> some XML files
with the new schema, along with some HTML files that
display hands and travelers extracted from the data.</p>
<h3>Modules that you may find useful in this project</h3>
<ul>
<li><a href="http://www.cs.ou.edu/%7Erlpage/SEtools/Projects/io-utilities.lisp">io-utilities</a> (Dracula teachpack)</li>
<li><a href="http://www.cs.ou.edu/%7Erlpage/SEtools/Projects/list-utilities.lisp">list-utilities</a> (Dracula teachpack)</li>
<li><a href="http://www.cs.ou.edu/%7Erlpage/SEtools/Projects/basiclex.lisp">basiclex</a> (with extensions, downloadable)</li>
<li><a href="http://www.cs.ou.edu/%7Erlpage/SEtools/Projects/xml-utilities.lisp">xml-utilities</a> (downloadable)</li>
</ul>
<h3><font color="#0000ff">What to turn in </font>- <i>Note</i>: There are <u>two
separate project submissions</u>: iEx5dsgn (first) and iEx5 (later)</h3>
<h4><i><font color="#0000ff">iEx5dsgn</font> - Printed and stapled on portrait oriented sheets printed on one side only,
in the following order:</i></h4>
<ol>
<li>Software design (you can decide the form, but the design must describe
basic operations, data structures, and algorithms and outline how basic
operations will be composed to produce the required result)</li>
<li>Test file (adequate sanity checks and two new predicate-based tests of
non-i/o functions (new in the sense that they are not tests created for
previous projects). In addition, adapt your old tests (both sanity
checks and predicate-based) to the software for this project, and include
those also in your project submission.</li>
<li>Project file (project information, predicted code objects, time log,
defect log)</li>
<li>Browser display of HTML file produced by running PSP++ on the project list
and project files for iEx1, iEx2, iEx3, and iEx4dsgn</li>
</ol>
<h4><i><font color="#0000ff">iEx5dsgn</font> - In Digital Dropbox (D2L): </i></h4>
<ul>
<li>Package all the following files in a ZIP archive (not RAR, TAR, BUGAR or other
archive format)<br>
Name the ZIP archive iEx3<i>GivenNameFamilyName</i>.zip, using your given and
family names as part of the file name as indicated</li>
<li>Design (PDF, HTML, or TXT format)</li>
<li>The required test files</li>
<li>The PSP++ project file containing project information, predicted code
objects, time and defect logs, and actual lines of code</li>
<li>Project files from all previous projects (insert actual code figures in the
files for the early projects, which did not require them at the time)</li>
<li>Project list file for PSP++ refering to the required project files</li>
<li>HTML file produced by running PSP++ on the project list and project files</li>
<li>PDF file containing a scan of above paper submission</li>
</ul>
<h4><i><font color="#0000ff">iEx5</font> - Printed and stapled on portrait oriented sheets printed on one side only,
in the following order:</i></h4>
<ol>
<li>Updated software design (you can decide the form, but the design must describe
basic operations, data structures, and algorithms and outline how basic
operations will be composed to produce the required result)</li>
<li>Updated test file (adequate sanity checks, non-i/o functions)</li>
<li>Predicate-test file (predicate-based tests of functions a few functions that do not perform
i/o)</li>
<li>Verification file (new theorems, not theorems submitted for a
previous
project) on properties that you believe your functions satisfy (mark
those theorems that ACL2 does not succeed in proving with
comments)</li>
<li>Updated project file (project information, predicted code objects, time log,
defect log, actual lines of code)</li>
<li>Browser display of HTML file produced by running PSP++ on the project list
and project files for iEx1, iEx2, iEx3, and iEx4</li>
<li>File containing the program, including a function named "main"
defined so that an invocation like (main "event" "handtrav"
state) will write a file handtrav.htm with hand displays accompanited by
travelers derived
from the file event.xml</li>
<li>Printed copies of two input files and the output files your program
produces from them</li>
</ol>
<h4><i><font color="#0000ff">iEx5</font> - In Digital Dropbox (D2L): </i></h4>
<ul>
<li>Package all the following files in a ZIP archive (not RAR, TAR, BUGAR or other
archive format)<br>
Name the ZIP archive iEx4<i>GivenNameFamilyName</i>.zip, using your given and
family names as part of the file name as indicated</li>
<li>Design (PDF, HTML, or TXT format)</li>
<li>The required test file</li>
<li>The required verification file</li>
<li>Code, input XML files, and corresponding HTMLoutput files that your
software produces</li>
<li>The PSP++ project file containing project information, predicted code
objects, time and defect logs, and actual lines of code</li>
<li>Project files from from all previous projects</li>
<li>Project list file for PSP++ refering to the required project files</li>
<li>HTML file produced by running PSP++ on the project list and project files</li>
<li>PDF file containing a scan of above paper submission</li>
</ul>
</body></html>