[ General Information
| Lectures
| Handouts
| Other Pointers
| Requirements
]
[ Announcements ]
[ Groups ]
[ Wish List ]
[ Projects]
Course description: This course introduces students to basic concepts and modern tools and techniques of software engineering. We will emphasize the development of reliable and maintainable software via system requirements and specifications, software design methodologies including object-oriented design, implementation, integration, and testing. We will discuss software project management, life-cycle documentation, software maintenance, and consider human factor and ethics issues.
The above description is based on the official course description. For this fall in particular, we will study UML (the Unified Modeling Language) and use it for capturing requirements, building models and specifications, mapping out designs, refining the designs, and viewing systems in multiple interrelated ways. We will also study design patterns for discussing design rationale and considering tradeoffs in design. We will emphasize reuse and incremental and iterative development throughout the course, and emphasize the use of tools. Students will work in groups on a software development project as a major part of the course.
Prerequisites: CSE219 or equivalent, or undergrad discrete math (sets, relations and functions, predicate logic), data structures, programming in Java, plus ability to catch up with materials of CSE219. | Credits: 3.
Instructor: Annie Liu | Email: liuATcsDOTsunysbDOTedu | Office: Computer Science 1433, 632-8463.
TAs: Brian Black, Email:
bblack04ATcsDOTsunysbDOTedu |
Ting Wang, Email:
twangATcsDOTsunysbDOTedu
Undergrad TA: Jonathan Gong,
Email: jgongATicDOTsunysbDOTedu
Hours: Tue Thu 3:50-5:10PM, in E&SSCI 001 | Annie's office hours: Tue 1:30-2:30, Thu 2:30-3:30, CS 1433; Tue Thu 3:40-3:50, E&SSCI 001 | Brian's office hours: Tue 10-11:20, Thu 11-12:20, CS 2110 | Ting's office hours: Mon 12-1:20, Fri 1-2:20, CS 2110 | Jonathan's office hours: Mon 2:30-3:50, Wed 3:30-4:50, CS 2110.
Textbook: The main text is Object-Oriented Software Engineering: Using UML, Patterns, and Java by Bernd Bruegge and Allen Dutoit, 2nd Edition, Prentice-Hall, 2004. Other useful references will be added during the course. You should also take good notes during the lectures.
Grading: Weekly assignments, all centered around the course project, by groups and/or individuals, together worth 40% of the grade; a midterm exam, a group project presentation, and the final group project evaluation, each worth 20%, 10%, and 30%, respectively, of the grade. No late assignment will receive credit. Exceptions only when supported with official documents will be accommodated. The Pass/No Credit (P/NC) option is not available for this course. grading guides
Course homepage: http://www.cs.sunysb.edu/~liu/cse308/, containing all course related information.
Handout Q: Questionnaire
Handout A1: Assignment 1: Questionnaire; Customer Wanting Software; What I Did
Handout A2: Assignment 2: Group Project Description; What I Did
Handout A3: Assignment 3: Group Project Plan; What I Did
Handout A4: Assignment 4: Group Project Requirements Elicitation; What I Did
Handout A5: Assignment 5: Group Project Requirements Analysis; What I Did
Handout A6: Assignment 6: Group Project System Design; What I Did
Handout A7: Assignment 7: Group Project Object Design; What I Did
Handout A8: Assignment 8: Group Project Coding and Optimization; What I Did; Extra Bonus
Handout A9: Assignment 9: Group Project Testing; What I Did; Extra Bonus
Handout A10: Assignment 10: Group Project Delivery; What I Did
Handout E1: Preparation for Midterm Exam
Handout E2: Midterm Exam
Handout E3: Sample Solution to Midterm Exam
Handout P: Presentation Evaluation
Handout R: Final Project Report
Transaction Processing Lab: accounts, FAQ, policies, etc.
Instructions for using the CVS server
jBuilder Team Development Guide
Junit Documentation,
including JUnit
Cookbook and JUnit
A Cook's Tour
Allen Holub's UML Quick
Reference
OMG UML Resource Page
The
Object Primer 3rd Edition: Agile Model Driven Development With UML
2, by Scott W. Ambler, Cambridge University Press, 2004.
(straightforward; trying to combine some basic important ingredients)
Extreme
Programming Explained: Embrace Change, by Kent Beck, Addison
Wesley Professional, 2000.
CodeXchange Unveils New Software Development And Distribution Paradigm, submitted by Gregory Berman, who wrote "It is an article talking about a new way of selling code to companies. Any developer can post there code on this site and people can buy it... Companies can also post requests." (10/9/04)
Software Cost Reduction (PostScript | PDF): a 10 short pages article, appeared in Encyclopedia of Software Engineering, John J. Marciniak, editor, 2002.
You should learn all information on the course homepage. Check the homepage periodically for Announcements.
Do all course work. The homeworks and projects are integral parts of the course as they provide concrete experiences with the basic concepts and methods covered in the class.
Individual portion of the course work must be done by the individual; group portion of the course work must be done by the group. You are encouraged to discuss with others and look up references, but you must write up your solutions/codes/reports independently and credit all sources that you used. Any plagiarism or other forms of cheating will result in an F or worse.Computing facilities: You will have an account in the Transaction Processing Lab. Never let anyone else use your account; it is against the rules. Please be conscious of security in the lab; theft or vandalism will be punished severely. If you have any problems with the hardware or software in the lab (other than with the requirements of the course work itself), please email ntadminATcsDOTsunysbDOTedu with a copy to me; neither the TAs nor I could fix such problems.
Disability: If you have a physical, psychological, medical or learning disability that may have an impact on your ability to carry out assigned course work, please contact the staff in the Disabled Student Services office (DSS), Room 133 Humanities, 632-6748/TDD. DSS will review your concerns and determine with you what accommodations are necessary and appropriate. All information and documentation of disability are confidential.