CS350 Intro. to SE Spring 08

Announcement

  • Final exam on May 28th 11:00 AM-1:00 PM
  • May 9th: No more reduced SafeHome implementation. Instead, a sample program is given for your reference (see Project section).
  • Feb 8th: CS 350 BBS at NOAH is available now. All class attendants are encouraged to write questions or comments on the class at the BBS.

Administrative Information

Instructor: Moonzoo Kim

  • Office: 2434 (located at the east wing)
  • Phone: 042-869-3543
  • E-mail: moonzoo@cs.kaist.ac.kr
  • Office hour: Tues & Thr 17:00-18:30 (reservation e-mail would be preferred)
  • Teaching assistants:
    • Yunho Kim — Office: 2438 (east wing) — E-mail: kimyunho@kaist.ac.kr — Phone: 042-869-3583 — Office hour: Wed 4:00-7:00 PM
    • Chan-Hee Yi — Office: 1430 (east wing) — E-mail: chyi@salmosa.kaist.ac.kr — Phone: 042-869-5579 — Office hour: Tues 1:00-4:00 PM
  • Lecture hours: MWF 11:00 AM - 12:10 PM
  • Lecture room: 2112 (a.k.a the 2nd lecture room)
  • Grading: HW & projects: 40%, Pop-up quiz & attendance: 20%, Midterm exam: 20%, Final exam: 20%
  • Late HW is accepted with 20% penalty in 1 day, 40% penalty in 3 days. HW will not be accepted after that.
  • Note: The official language in the class is English. All students should submit homeworks and project in English.

Course Material


Course Schedule


Assignments

  • Summary of “No silver bullet: essence and accidents of software engineering” — Computer, 20(4):10-19, April 1987
  • Summary of "No silver bullet: Software Engineering Reloaded" — IEEE Software Jan/Feb 2008 (Due Mar 24)

Project: SafeHome in SEPA 6th ed

  • SafeHome dialog
  • Page list for SafeHome in SEPA: safehome_page_public.xls
  • You can download DOORS, requirements management and traceability tool, and its manuals:
    • DOORS
    • DOORS manuals
    • Install guide: DOORS install guide (Zip password given on Mar 10th class)
    • Each team has two DOORS IDs, TeamN-1 and TeamN-2 where N is your team number. Initial password is not set. After first login, create your own password.
  • We use SEPA as a main requirement source. You have to read SEPA carefully to understand system requirements, etc.
    • Note that SEPA's description of SafeHome is not complete. Therefore, you have to make your own assumptions about unclear points, which must be explicitly stated.
    • Post your questions regarding SafeHome project into the CS350 BBS to share the questions and answers with all classmates. Sending e-mail regarding the SafeHome project to the instructor or TAs is not encouraged.
    • Each team should provide a "who did what" list to show how each team member contributed to the project for project progress.
  • Team assignments:
    • 박지영, 이재송, 최재영
    • 이수현, 조재영, 조종기, 조준영
    • 구지성, 김으뜸, 안다비, 이명경
    • 권세중, 원강희, 이상영, 이지은
    • 김근우, 박다혜, 오은수
  • Mar 21st: Due of complete requirement specifications
    • Make a systematic requirement specification of SafeHome using DOORS.
    • Should provide both hardcopy and DOORS file.
  • Apr 15th: Due of complete use-case diagram, use-case description, sequence diagram, and activity diagrams (swimlane diagram)
    • You are welcome to add more diagrams or pictures if they help describe the SafeHome's requirements clearly.
    • Presentation of analysis model on Apr 16th & 18th (in English):
      • Each team has 20 minutes to present their design.
      • Demonstrate concrete traceability.
    • Presentation movies: Team1, Team2, Team3, Team4, Team5. If you cannot play the movies uploaded, follow the instruction in this link.
  • Apr 28th: Due of class diagram, CRC cards, state diagram, and lessons learned
    • Presentation of design model on Apr 30th & May 2nd (Each team has 20 minutes to present their design)
    • You are welcome to add additional materials such as architecture or component design, if they can explain your design more clearly.
    • Demonstrate concrete traceability.
  • May 9th: Due of peer review of design document of other teams. See sample review of team5
  • June 4th: Due of implementation and testing stages
    • safehome.jar contains all device emulator classes as well as a demo source code. Run "jar safehome.jar" for demonstration.
    • You should download and place camera1.jpg in the same directory of safehome.jar. If you open two cameras, download camera2.jpg too.
    • A sample program which consists of a dumb CP in C, one camera in Java and one camera display in Java is provided as your implementation reference.
    • Your code should contain full document/comments. For example:
      • Purpose, description, usage/example, authorship, revision history, precondition/postcondition, known/fixed bugs, parameter/return values, exceptions, references, etc.
      • You should use javadoc to automate code document generation. Doxygen is recommended for C files.
    • Test process that you undertake should be described, e.g., how you perform unit tests, integration tests, regression tests, top-down tests, bottom-up tests, etc. Test cases should be described, too.
    • Design test cases for unit test first, then start implementation if possible.
    • Mapping between implementation and your design should be explicitly described.
  • June 6th 10:00 AM - 12:00 PM Final presentation