CS550 Intro. to Software Engineering, Spring 09
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
- IEEE Standard Glossary of Software Engineering Terminology (IEEE Std 610.12-1990)
- Internet Resource
- SEPA home page (multiple choice quiz and summary for each chapter)
- Argo UML (open source UML tool)
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
Mar 4: Ch8. Analysis Modeling
Mar 9: Ch9. Design Engineering
Mar 11: Team presentation of "Requirement Specification" for the SafeHome prj (25 min/team)
Mar 16: Ch10.Architectural Design
Mar 18: Ch11. Component-Level design
Mar 23 & 25th: No class
Mar 30: Team presentation of "Analysis Model" for the SafeHome prj (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
+ "Formal Construction and Verification of Home Service Robots: A Case Study"
Appeared at Automated Technology for Verification and Analysis (ATVA) '05 Taipei, Taiwan
(slides)
Apr 6, 8: Ch14. Testing Tactics
Apr 13: Graph Coverage Criteria (slides from Ammann & Offutt's textbook "Intro. to SW Testing")
Apr 15: SafeHome Deisgn 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
- Process Algebra by R.Cleaveland and S.Smolka (upto Section 3)
Apr 29: SafeHome Final Presentation
May 6, 11 CCS equivalence and case study: multiple reader/writer system
- 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
Assignments
- HW #3: 8.2, 8.3, 8.5, and 8.19 with swimlane diagram. Due date is Mar 29th.
- HW #4: Due date is April 26
- HW #5: Due date is May 25
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 me 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
2. Analysis model (20%): Due Mar 24
- Use-case diagram (1)
- Use-cases (2)
- Swimlane diagram (3)
- Revision of RS (4)
3. 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)
4. 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)
Resources
- SafeHome dialog excerpts from SEPA
- SEPA pages regarding SafeHome
- Overall SafeHome deployment diagram
- SafeHome priliminary screen layout (see pg 376 of SEPA 6/e for more detail)
- SafeHome control panel (see pg 193 and 231 of SEPA 6/e for more detail)
- Note that we use "on", "off", "reset", "away", "stay", "code" (new password assignment), and "panic" functions in the control panel