Professional Documents
Culture Documents
UI to view
query result
UI to enter
queries
SPA
front-end
query result
query in PQL
design abstractions
Program
Knowledge Base
PKB
23/8/2016
design abstractions
Query Processing
Subsystem
SPA Development
UI to enter program
source program
in SIMPLE
UI to view
query result
UI to enter
queries
query in PQL
design abstractions
Program
Knowledge Base
PKB
23/8/2016
design abstractions
Query Processing
Subsystem
UI to view
query result
UI to enter
queries
Doxygen (optional)
SPA
front-end
query result
query in PQL
design abstractions
Program
Knowledge Base
PKB
23/8/2016
design abstractions
Query Processing
Subsystem
SPA Testing
AutoTester
UI to enter program
source program
in SIMPLE
(no UI needed)
UI to view
query result
UI to enter
queries
SPA
front-end
query result
design abstractions
Program
Knowledge Base
PKB
23/8/2016
query in PQL
VS Unit Testing
design abstractions
Query Processing
Subsystem
UI to view
query result
UI to enter
queries
SPA
front-end
Any VCS:
design abstractions
Program
Knowledge Base
PKB
23/8/2016
query result
query in PQL
SVN
Git
design abstractions
Query Processing
Subsystem
23/8/2016
23/8/2016
Configurations in VS
Debug
For debugging your project
Does not optimize the binary it produces (as
optimizations can greatly complicate
debugging), and generates additional data to
aid debugging
Release
For the final build for end users
Enables optimizations and generates less (or
no) extra debug data
23/8/2016
10
Configurations in VS
Debug mode requires libraries built in
Debug mode, while Release mode
requires libraries built in Release mode
We will use release mode for project
evaluation
23/8/2016
11
12
AutoTester
Current Version for VS2015: Aug15
Available in "Tools" folder in IVLE Workbin
23/8/2016
13
23/8/2016
14
Prototype_sample_SIMPLE_source.txt
procedure ABC {
i=1;
b=200 ;
c= a
;
while a
{
while beta {
oSCar = 1 + beta + tmp;
while tmp{
oSCar = I + k + j1k + chArlie; }
while x {
x = x + 1;
while left {
while right {
Romeo = Romeo + 1;
b = 0;
c = delta
+ l + width + Romeo ; }
while c {
c = c +1
; }
x = x+ 1
; }}
a=
2; }
w = w+1 ;
}
}
23/8/2016
\\1
\\2
\\3
\\4
\\5
\\6
\\7
\\8
\\9
\\10
\\11
\\12
\\13
\\14
\\15
\\16
\\17
\\18
\\19
\\20
15
Sample-Queries.txt
Query id and
1 - comment
while w;
Select w such that Parent(w, 7)
none
5000
2 - comment
if ifs;
Select ifs such that Follows(5, ifs)
6
5000
23/8/2016
comment
Declaration
Query
Expected results
Time limit
16
Demo
23/8/2016
19
Managed:
https://msdn.microsoft.com/enus/library/hh598960.aspx
23/8/2016
20
23/8/2016
21
23/8/2016
22
getStuName();
getStuNumber();
assignGrade(courseName, grade);
getGrade(courseName);
Course.cpp
getCourseGrade();
getCourseName();
23/8/2016
23
TEST_CLASS(TestStudent)
{
public:
TEST_METHOD(testConstructor)
{
Student stu("Tan Meng Chee", "94-1111B-13");
// check that the object is constructed correctly - Note 6
std::string student_name = stu.getStuName();
Assert::AreEqual (student_name, (std::string)"Tan Meng Chee");
std::string student_number = stu.getStuNumber();
Assert::AreEqual (student_number, (std::string)"94-1111B-13");
return;
}
23/8/2016
24
this student
60);
70);
80);
23/8/2016
25
Demo
23/8/2016
26
Important files:
EmptyGeneralTesting.sln
Read AutoTesterDocumentation.pdf
23/8/2016
27
23/8/2016
28
23/8/2016
UnitTesting:
Implement UnitTest.cpp and test
classes, build to get UnitTesting.exe
for your SPA
29
23/8/2016
30
Examples:
SVN, CVS
Git, Mercurial
23/8/2016
32
TortoiseSVN
Current Version 1.9.3
http://tortoisesvn.net/
33
Import
Check-out
Code Directory
of Member A
AST.cpp (v1)
23/8/2016
Code Directory
of Member B
AST.cpp (v1)
34
Commit
Update
Code Directory
of Member A
(v1)
AST.cpp (v2)
23/8/2016
Code Directory
of Member B
AST.cpp (v2)
(v1)
35
Update
Commit
Code Directory
of Member A
AST.cpp (v2)
Parser.cpp (v1)
23/8/2016
Code Directory
of Member B
AST.cpp (v2)
Parser.cpp (v1)
Add
36
TortoiseSVN Commands
Import
Initialize the repository
Check-out
Obtain a copy of code from repository
Commit
Send the updates into the repository
Update
Obtain the updated files from the repository
37
38
Thank you!
Q&A
23/8/2016
39