Other Resources
You will need a suitable computer. The University's
Computer Recommendations are appropriate for this course for Windows and OS X. If you use the Linux
operating system this course, the recommendations for Windows computers will also be suitable for Linux.
Please see the Online Learning page for more information
regarding expected student student access to the internet, and corresponding software.
Please see the Mercer's Distance Learning page for more information
regarding expected student student access to the internet, and corresponding software.
Course Description
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 Online Learning course begins on August 23, 2016 at 12:00 am Eastern time. All assignments
are due by the end (11:59:59 pm) of the specified calendar day in the Eastern time zone. This course ends at
11:59:59 pm on December 11, 2016, in the Eastern time zone.
Back to Top
Prerequisite(s)
SSE 550 Object-Oriented Design I
This prerequisite provides one graduate-level 3 semester hour course in C++ or Java or C#.
Please see the Online Learning page for more information
regarding expected student abilities and aptitudes.
Back to Top
Grading
Item
|
Percent of Term Grade
|
Direct Activity Report 1 |
3
|
Direct Activity Report 2 |
3
|
Direct Activity Report 3 |
4
|
Project 1 will be delivered twice, once provisionally, and
in a final version. (See Assignments, below.) The grade for the
provisional version will determine whether or not you are
reported as being in academic trouble early in the semester.
The grade of the final version will replace the grade of the
provisional version. |
30
|
Project 2 |
30
|
Project 3 |
30
|
Credit will be given only for original work.
The Mercer University Student Handbook, including its provisions for
academic honesty (including plagiarism), applies to all Mercer
students.
Project reports are to be submitted complete, not as
incremental partial submissions.
All course work time is categorized as either Direct or
Non-Direct (but not both). More information about the Direct and
Non-Direct categories is contained in the Direct and Non-Direct and Report Logs. Please read these pages very
carefully.
Instruction Time
Federal and regional accreditation requirements stipulate that
a 3-credit hour course must include 150 minutes of direct instruction
time per week. For this course, that direct instruction time
includes"
- Collaborative discussions with other students regarding the
content of readings assigned for the course.
- Collaborative discussions with other students regarding the
content that goes beyond readings assigned for the course, but is
not part of work on the projects assigned on the syllabus.
- Collaborative development of generic technology that may be
useful for your project(s), but is not, in its generic form, part of
your project.
In addition to the 150 minutes of direct instruction time each
week, students are expected to spend a minimum of 300 additional
minutes per week completing reading and writing assignments:
- Doing the assigned reading.
- Working on the projects assigned on the syllabus.
More information about the Direct and Non-Direct categories is
contained in the Direct and
Non-Direct and Report Logs web
pages. Please
read these pages very carefully.
All deliverables (Activity Reports and Project Reports)
are due on their assigned dates .
- Deliverables submitted no more than one day late may be graded,
but with a 10% penalty .
- Deliverables submitted more than one day (24 hours) late will
receive a grade of zero.
- The Non-Direct Activity reports are part of the project reports.
The Non-Direct Activity reports do not receive a separate
grade, but are used to help in evaluating your project reports.
Use the Report Logs to help you to manage your time and keep on
schedule. You should schedule your work evenly throughout
the term.
More information about project grading is contained
in the General Project Rubric .
If you have a question about any of this, please ask.
Back to Top
Assignments
- Purpose of projects:
- Use the projects to develop your capabilities, and
- Use the projects to demonstrate your capabilities.
- Deliverables for all projects:
All course work time is categorized as either Direct or
Non-Direct (but not both). Read Direct
and Non-Direct and Report Logs
before continuing. Please read these pages very carefully.
All Direct Activity Reports include a Direct
Activity Log, and may include additional supporting material at
your discretion.
All Project Reports include a Non-Direct
Activity Log, in addition to your work on the project.
- Projects shall be delivered via the course FTP
site.
- Project reports should each be a single, standalone .pdf
document, with the Bookmark feature used to support easy document
navigation. Note that both MS Word and LibreOffice (which is free
open-source software) support bookmarks, and will carry the
bookmarks over into the pdf document when they convert your .docx,
.odf, or whatever file type to PDF.
- Project reports should focus on the development and/or
maintenance that you actually do. Reports should not focus on
summarizing or explaining the text or other materials.
- Inclusion of screenshots demonstrating your work, and code
you actually wrote for the project, are appropriate. Long code
listings can be placed in appendices if doing so does not
interfere with you presenting your work on that code in the body
of the text.
- 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.
- Each project can be a single, integrated project that
tries to actually do something, or a collection of exercises that
demonstrate your capabilities but don't accomplish anything else,
or any combination of these two alternatives that you find
convenient, unless otherwise specified in the assignment.
- 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 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.
- Project 1 Provisional includes only Inception.
- Project 1 Final includes both Inception and Elaboration
Iteration 1.
- 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 through 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
Additional Information
- Asynchronous Learning Nets (ALNs)
-
- Self Study: You study the texts and any other course study
material on your own(team).
- Collaborative Projects: After your self-study, you
collaborate (via the Internet [email]) with your partner(s) to
produce a team product. Your collaborative work is substantial,
asynchronous, and rapid.
- This course is an online learning course. Please read this
Online Learning web page
regarding online learning in this course and this program.
Back to Top
What Do I Do?
- Subscribe to the course email listserv. Your professor can tell you how to do
this.
- Study the assigned material.
- Use the Report Logs to help you to manage your time and keep on
schedule. You should schedule your work evenly throughout the term.
- 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, projects, and solutions to do with the assigned
homework.
- Review the deliverables produced by other people.
Changes to this Syllabus:
There will be changes to this syllabus, so check back
frequently, and don't forget to hit "Reload" or "Refresh".
Schedule of Assignments and Events (tentative)
Start Date
|
End Date
|
Activity/Event
|
August 23, 2016 |
December 12, 2016 |
Course in Progress |
August 23, 2016 |
October 3, 2016 |
Work on Project 1 |
|
September 12, 2016 |
Project 1 Provisional due. |
|
September 18, 2016 Sunday! |
Direct Activity Report 1 due.
|
|
October 3, 2016 |
Project 1 Final due. |
|
October 31, 2016 |
Direct Activity Report 2 due.
Project 2 due.
|
|
December 12, 2016 |
Direct Activity Report 3 due.
Project 3 due.
Course ends. Firm date. |
Notes: The course begins at midnight (12:00 am) on the first day of class (see schedule above), and ends
at 11:59:59 pm on the last day of class. Assignments are due at any time during the day specified on the schedule,
that is, before 11:59:59 pm on that day. All times are Macon, Georgia (Eastern time zone) times.
Back to Top