Last modified: January 5, 2014
Getting Started
Website: : http://www.cs.odu.edu/~zeil/cs350.html
Syllabus: : All students are responsible for reading the course syllabus and abiding by the policies described there.
Recitations will be used for special topics and for meetings with teams once the semester project is underway. Until then, they will not meet.
Contact Info
Steven Zeil | E&CS 3208 |
(757) 683–4928 | zeil@cs.odu.edu |
When possible, students should use the course Forum for communications rather than email.
Office hours are posted online at http://www.cs.odu.edu/~zeil/officehours/
… are not normally accepted. Exceptions may be made in cases of
Extensions to due dates will not be granted due to
ODU is governed by a student honor code.
Academic Honesty (cont
Assignments: | 25% |
Semester project: | 30% |
Midterm exam: | 20% |
Final exam: | 25% |
How do you expect professional software to differ from “academic” software development?
What are some of the factors that make some software development projects especially difficult?
COCOMO (COnstructive COst MOdel) by B. Boehm, 1981
The Intermediate Cocomo formula estimates effort in person-months:
\[ E = a_{i} (\mbox{KLoC})^{b_i} \cdot \mbox{EAF} \]
where the EAF is a multiplier computed from:
Ratings | ||||||
---|---|---|---|---|---|---|
Cost Drivers | Very Low | Low | Nominal | High | Very High | Extra High |
Product attributes | ||||||
Required software reliability | 0.75 | 0.88 | 1.00 | 1.15 | 1.40 | |
Size of application database | 0.94 | 1.00 | 1.08 | 1.16 | ||
Complexity of the product | 0.70 | 0.85 | 1.00 | 1.15 | 1.30 | 1.65 |
Hardware attributes | ||||||
Run-time performance constraints | 1.00 | 1.11 | 1.30 | 1.66 | ||
Memory constraints | 1.00 | 1.06 | 1.21 | 1.56 | ||
Volatility of the target environment | 0.87 | 1.00 | 1.15 | 1.30 | ||
Required turnabout time | 0.87 | 1.00 | 1.07 | 1.15 | ||
Personnel attributes | ||||||
Analyst capability | 1.46 | 1.19 | 1.00 | 0.86 | 0.71 | |
Applications experience | 1.29 | 1.13 | 1.00 | 0.91 | 0.82 | |
Software engineer capability | 1.42 | 1.17 | 1.00 | 0.86 | 0.70 | |
Target environment experience | 1.21 | 1.10 | 1.00 | 0.90 | ||
Programming language experience | 1.14 | 1.07 | 1.00 | 0.95 | ||
Project attributes | ||||||
Application of software engineering methods | 1.24 | 1.10 | 1.00 | 0.91 | 0.82 | |
Use of software tools | 1.24 | 1.10 | 1.00 | 0.91 | 0.83 | |
Required development schedule | 1.23 | 1.08 | 1.00 | 1.04 | 1.10 |
Where do often we see this combination?
Test-Driven development
Exemplified by the philosphy of “write the tests first, then design and write the code.”
Build management
Making sure that you and others can build the system easily.
Version control
The ability to track changes in the software.
Configuration management
Documentation management
.