Instructor: Dr. Paul E. MacNeil
Office: Suite
223a,
School
of Engineering
Phone: 478-301-2185
Email: macneil_pe@mercer.edu
Back to Top
Textbooks and Supplies:
Back to Top
Back to Top
Back to Top
Covers the
software development life cycle. General object oriented
analysis
techniques (OOA) for software and system specifications are presented
and
applied to develop application domain models and requirements
specifications.
Techniques for transforming the requirements specifications into
designs are
presented and applied to develop language independent object oriented
designs
(OOD). A modern specification language such as UML will beused.
Iterative and
incremental software processes.
This
course begins on August 21, 2012.
Back to Top
Back to Top
SSE 550.
Back to Top
Back to Top
Item
|
Percent of Term Grade
|
Project 1 (team) |
30
|
Project 2 (team) |
30
|
Project 3 (team) |
30
|
Listserv contributions |
10
|
More information about
grading is contained in the General Project Rubric .
Back to Top
- Purpose of
projects:
-
- Deliverables for
all projects:
-
- Projects should be
delivered via he course FTP site, which
will be announced.
- Your report, if
delivered via the FTP site should be a
single, standalone document .doc or .pdf format, or a single set of
appropriately linked html pages.
- Your report should be
organized in such a way as to make the
topics that you want credit for covering easy to find, and demonstrate
your capabilities clearly and convincingly. Everything you want
considered for credit, including code and tests (including test
results), should be included in the report.
- You may include other
material outside of the report (on the
FTP site), if you wish, but this material may or may not be considered
in evaluating your work.
- For each capability
that you demonstrate within a report or
major section of that report, you may present only the final result of
your work; you need not demonstrate every step in the development of
that result.
-
Some suggestions
for doing a project are contained in
the One Way to Do a Project
page.
-
Project Delivery
-
- Project Overview
In Projects 1 and 2 your team (two or three people per team) will create
specifications (per the text) and translate (per the text) those
specifications into a working system. In Project 3, each team will
specify, in words (not use cases or other specification tools) changes
for maintenance, and pass the project (specifications and code) to
another team, which will maintain the project (update the
specifications and code) per these changes.
For three person teams each team member must provide the professor, by the end of the course, with
their independent estimate of how much of the team's work was done by each team member.
- Project 1(Team)
- Pick a system (to be developed) of your own choosing.
- Use this system to develop and demonstrate your capabilities
in Larman ch. 1 - 20.
- TDD not yet required. (You don't have to develop the test
cases first, or even at all.)
- Your report should be organized into two major parts,
Inception and Elaboration Iteration 1. You may wish to consider having
separate sections within these major parts corresponding to each of the
chapters for which you are demonstrating your capabilities.
- For Inception, the following chapters of Larman should be
covered in your work: 4, 5, and 6. In terms of Table 4.1 (p. 50),
"Vision and Business Case" and "Use-Case Model" are absolutely
essential, and other artifacts from that table can and should be
considered for inclusion in the Inception part of your report.
- For
Elaboration Iteration 1, the following chapters of Larman
should be covered in your work: 9, 10, 11, 13, 15, 16, 17, 18, 19,and
20. Your design work should reflect an understanding of ch. 14.
Your work in the chapters
listed above should demonstrate an understanding of them, but you do
not need to have separate report sections demonstrating your
capabilities with regard to these chapters. Chapters 8 and 12 are
overview chapters, and need not be specifically demonstrated.
- Each
of the techniques design-to-code translation techniques
from chapter 20 should be demonstrated throught the development
of code, which should compile and run. The purpose of this work
is to demonstrate that
you can perform these techniques. The code should closely follow the
design; this is very important. The code should also "make sense"; that
is, it should be appropriate for this project and for your system. The
code need not be extensive, and this part of the project (coding)
should not
consume a lot of your time.
- Project 2 (Team)
- Improve your Project 1 by the use of TDD and the contents of
Larman's "Elaboration Iteration 2" (Larman chapters 21 - 26).
- Code is again called for, this time to demonstrate
both that you can translate the design into code that closely follows
the design, and to verify that your overall design "makes sense".
- TDD required.
- Project 2 must produce a system that is sufficiently functional for you to
be able to identify maintenance changes for another team to perform in
Project 3.
- Please raise any issues or questions via the course listserv.
- Each
team must specify, in words, changes to be made, i.e., maintenance to
be performed, to the system it developed in Projects 1 and 2. The
developing team then hands the system (specifications, code, and
textual description of maintenance to be performed) to a different
team, the maintaining team.
- Project 3 (Team) - Maintenance
- Each team is the developing team for one system, and the maintaining team for a different system
- The
maintaining team receives the specifications, code, and textual
description of maintenance to be performed from the developing team.
- The maintaining team maintains the system it received by
updating the specifications and code, and testing the maintained system
accordingly.
- Project 3 Deliverable:
the system as provided to it by the developing team, and the system it
maintained as a maintaining team.
- TDD required.
- Please raise any issues or questions via the course listserv.
- Notes on Implementation Language and Applying Chapter 20
(Projects 1, 2, and 3)
- Credit for demonstrating capabilities from chapter 20 will be
given only for applying chapter 20's rules for mapping designs into
code. Your source code must be derived from your documented design by
applying these rules, rather than any other approach to coding.
Correspondingly, for Project 1, you need code only enough to
demonstrate that you have applied these rules correctly. For Projects 2
and 3, you will also need to make sure that you have enough code to
demonstrate your testing capabilities.
- If you choose to use C# or C++ rather than Java, you will be
responsible for adapting the rules of chapter 20 to produce source code
in your chosen language. However, given the great commonality among
object-oriented programming languages, this should not be difficult.
- TBD
Back to Top
Back to Top
- Subscribe to the course email listserv. Your professor can tell you how to do this.
- Study the assigned material.
- Write and read email messages about ideas, problems and solutions
to do with the assigned study material.
- Do the assigned work, deliver the assigned deliverables.
- Write and read email messages (to/from the listserv) about ideas,
problems and solutions to do with the assigned homework.
- Review the deliverables produced by other people.
Back to Top
Changes to this Syllabus:
There will be changes to this syllabus, so check back frequently,
and don't
forget to hit "Reload" or "Refresh".
Start Date
|
End Date
|
Activity/Event
|
August 21, 2012 |
December 10, 2012 |
Course in Progress |
August 21, 2012 |
September 24, 2012 |
Work on Project 1 |
|
September 24, 2012 |
Project 1 due. |
|
November 05, 2012 |
Project 2 due. |
|
December 10, 2012 |
Project 3 due. |
|
December 10, 2012 |
Course ends. Firm date. |
Notes:
tbd
Back to Top
Back to Top
Important Additional Information:
"Students requiring accommodations for a disability should inform
the
instructor at the close of the first class meeting or as soon as
possible. The
instructor will refer you to the Disability Support Services
Coordinator to
document your disability, determine eligibility for accommodations
under the
ADAAA/Section 504 and to request a Faculty Accommodation Form.
Disability
accommodations or status will not be indicated on academic transcripts.
In
order to receive accommodations in a class, students with sensory,
learning,
psychological, physical or medical disabilities must provide their
instructor
with a Faculty Accommodation Form to sign. Students must return the
signed form
to the Disability Services Coordinator. A new form must be requested
each
semester. Students with a history of a disability, perceived as having
a
disability or with a current disability who do not wish to use academic
accommodations are also strongly encouraged to register with the
Disability
Services Coordinator and request a Faculty Accommodation Form each
semester.
For further information, please contact Carole Burrowbridge, Disability
Services Coordinator, at 301-2778 or visit the Disability Support
Services
website at http://www.mercer.edu/studentaffairs/disabilityservices"
* (10/09)
Accreditation: Mercer University is accredited by SACS.