Announcement
- Mar 11th: Midterm exam on April 1st 10:30-12:00
- Mar 2nd: Change of the class hour to MW 10:30-12:00
- Feb 27: New project teams are announced
- Feb 14: Project teams are announced.
- No class on Feb 2nd
- No class on Mar 23 & Mar 25 (ETAPS 2009)
- Final exam on May 27 10:30 - 12:00
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: MW 10:00-11:00 AM (reservation e-mail would be preferred)
- Teaching assistants: Yunho Kim and Changki Hong
- Office hour: W 2:00-5:00 PM
- Lecture room: CS dept. RM# 2445
- Lecture hours: MW 10:30-12:00
- 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.
- Noah BBS for CS550 for Q/A regarding the class.
- Note: The official language in the class is English. All students should submit homework and project in English.
Course Material
- Text: Software Engineering: A Practitioner’s Approach (SEPA) by R. S. Pressman, McGraw-Hill, 6th Edition
- Recommended reading list:
- Fundamentals of Software Engineering (2nd ed) by C. Ghezzi, M. Jazayeri, and D. Mandrioli. Prentice Hall
- Applying UML and Patterns (3rd ed) by C. Larman. Prentice Hall
- UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd ed) by M. Fowler and K. Scott. Addison Wesley
- Code Complete (2nd ed) by S. McConnell. Microsoft Press
- Vocabulary for technical writing (Vocabulary_only.pdf)
- IEEE Standard Glossary of Software Engineering Terminology (IEEE Std 610.12-1990)
- Internet Resources:
Course Schedule
- Wk 1-3: The Software Process — Introduction to SE, Ch1-Ch4 of SEPA
- Feb 2: No class
- Feb 4: Intro. to SE (1/2)
- Feb 9: Intro. to SE (2/2)
- Feb 11: Ch1. Software and SE and Ch2. Process: A Generic View
- Feb 16: Ch3. Prescriptive Process Models
- Feb 18: Ch4. Agile Development and Overview of the SafeHome Project
- Feb 23: Ch5. SE practice and Ch21. Project management concepts
- Feb 25: Ch7. Requirement engineering
- Mar 2: UML 2.0 (UML_Tutorial.pdf)
- Mar 4: Ch8. Analysis Modeling
- Mar 9: Ch9. Design Engineering
- Mar 11: Team presentation of "Requirement Specification" for the SafeHome project (25 min/team)
- Mar 16: Ch10. Architectural Design
- Mar 18: Ch11. Component-Level design
- Mar 23 & 25: No class
- Mar 30: Team presentation of "Analysis Model" for the SafeHome project (25 min/team)
- Apr 1st: Midterm exam
- Apr 3rd: Case study: Re-engineering of Home Service Robot Re-engineering Software Architecture of Home Service Robots: A Case Study Appeared at International Conference on Software Engineering (ICSE) '05 St. Louis Missouri, USA
- Apr 6, 8: Ch14. Testing Tactics (part 1)
- Apr 13: Graph Coverage Criteria (slides from Ammann & Offutt)
- Apr 15: SafeHome Design Presentation
- Apr 20: Graph Coverage for Source Code (slides from Ammann & Offutt's textbook "Intro. to SW Testing")
- Apr 22: Ch15: Product Metrics
- Apr 27: Formal description of system behavior - Process Algebra
- Apr 29: SafeHome Final Presentation
- May 6, 11: CCS equivalence (ccs2.pdf) and case study: multiple reader/writer system (ccs3-reader-writer.pdf) End to End Deployment of Formal Methodology by M. Kim and I. Kang
- May 11: Model Checker Spin part I
- May 13: Model Checker Spin part II
Formal Construction and Verification of Home Service Robots: A Case Study Appeared at Automated Technology for Verification and Analysis (ATVA) '05 Taipei, Taiwan (slides)
Assignments
SafeHome Project
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 CS550 BBS to share the questions and answers with all classmates. Sending e-mail regarding the SafeHome proj to the instructor or TAs is not encouraged.
Each work output (i.e. document) should contain authorship information (i.e. "who did what") for accountability and maintainability.
- NEW Team assignment:
- Team1: Jaebok Kim, Hyunsik Cho, Francisco A. Rojas
- Team3: Jong-joo Kim, Seul Ki Lee, Le.T.Giang, Changki Hong
- Team4: Jun su Kim, Jinho Choi, Le Do Tuan Khanh
- 4 Phases (Guideline (v1.2) for the design and implementation of SafeHome):
- Requirement specification (10%) : Due Mar 8
- Sample questions which should be answered in the req. spec.
- Overview, TOC, glossary, index, links between features should be include
- team1 , team3 (body, appendix), team4
- Analysis model (20%): Due Mar 24
- Use-case diagram (1)
- Use-cases (2)
- Swimlane diagram (3)
- Revision of RS (4)
- Design model (30%): Due Apr 12 (virtual device API document, SafeHome virtual devices)
- Sequence diagram (1)
- CRC cards (2)
- Class diagram (3)
- State diagram (4)
- Revision of RS and Analysis Model (5)
- Consturction & Deployment (40%): Due Apr 28
- Refinement of Design Model appropriate for the implementation (1)
- Deployment diagram (2)
- Complete executable implementation (3)
- Java source code + JavaDoc document (softcopy only)
- Testing cases (both unit testing and acceptance testing) and results (coverage as well if applicable) (4)
- End user manual (5)
- Requirement specification (10%) : Due Mar 8
Resources
- SafeHome dialog excerpts from SEPA (SafeHome.ppt)
- SEPA pages regarding SafeHome (safehome_page_public.xlsx)
- Overall SafeHome deployment diagram (SafeHomeDeploymentDiagram.png)
- SafeHome preliminary screen layout (safehome_screen.PNG)
- SafeHome control panel (safehome_control_pannel2.PNG)
- Note that we use "on", "off", "reset", "away", "stay", "code" (new password assignment), and "panic" functions in the control panel