Personal tools
You are here: Home Courses CS550 Spring 07

CS550 Intro. to Software Engineering, Spring 07

Announcement

  • Mar 1st: We have opened CS550 BBS at noah.kaist.ac.kr.  All class attendants are encouraged to write questions or comments on the class at the BBS.   I will give response to a posting at the BBS within 48 hours
  • Mar 9th:
    • Be careful not to do plagiarism when you do your homework.  Academic dishonesty will be handled with heavy penalty
    • Project (topic is TBD) will require you to submit not only design, but also concrete working code.  Mind this change in project scope.
  • Mar 16th:  There will be no class on Mar 27 and Mar 29.  Supplementary lectures are TBD.
  • April 3rd:
    • We will have a design and development project for Safehome product, a main example software project in SEPA 6th ed. 
    • A midterm exam is scheduled on April 19 5:00 PM
      • No class on April 17
  • May 15th:
    • We will have a supplementary class on May 22 7:00 - 8:00 PM. 

Administrative Information

Office: 2434 (located at the east wing)

Phone:042-869-3543

E-mail: moonzoo@cs.kaist.ac.kr

Office hour: Tues & Thr 15:30-17:00

(reservation e-mail would be preferred)

  • Teaching assistants:

Yeong-seok Seo

Office: 1430 (located at the east wing)

E-mail: ysseo@salmosa.kaist.ac.kr

Phone: 042-869-5579

Office hour: Wed & Fri 13:30-15:00

(reservation e-mail would be preferred)

Hyungin Im

E-mail: stupidmoron@hanmail.net

Phone: 

Office hour: Tues & Thr 15:30-17:00

(reservation e-mail would be preferred)

  • Lecture room: Lecture room #3 (#2443 located at the north wing)
  • Lecture hours: 17:00 – 18:30 Tuesday and Thursday
  • Grading: HW & projects: 40%, Pop-up quiz & attendance: 20%, Midterm exam: 20%, Final exam: 20%
  • Note: The official language in the class is English. All students should submit homework and project in English.

Course Material

- “ 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.

  • Internet Resource

- SEPA home page (multiple choice quiz and summary for each chapter)

- Argo UML (open source UML tool)

- UML Tutorial


Course Schedule

Wk 1-3: The Software Process

- General introduction

- Mar 6:  “Intro. To SE (1/2)”

- Mar 8: "Intro. to SE (2/2)"

- Mar 13: Ch 1 "Intro. to SE" and  Ch 2 “A generic view of process”

- Mar 15: Ch 3 “Process Models”

- Mar 20:  Ch 4 “An agile view of process”

Wk 4-11: Software Engineering Practice

- Mar 22: Ch 5 “SE practice”Ch 7 “Requirements Engineering”

- Mar 27 & Mar 29: no classes

- April 3 & April 5: UML

- Apr 10 : Ch 8 “Building the analysis model” Part I

- Apr 12 : Ch 8 “Building the analysis model” Part II

Wk 8 : Midterm exam & supplementary class

-Wk 9-10: Modeling activity continued

- Apr 24 : Ch 9 “Design engineering”

- Apr 26 :  "Re-engineering a Credit Card Authorization System for Maintainability and Reusability of COmponets - a Case Study"  (slides)

Appeared at International Conference on Software Reuse (ICSR) '06 Torino, Italy

- May 1st: Ch 10 “Creating an architectural design”

- Ch 11 “Modeling component level design”

Wk 11 : Constructing activities

- May 8th: Ch 13 “Testing strategies”

- May 10th: Ch 14 “Testing tactics” I

- May 15th: Ch 14 “Testing tactics” II

- May 17th: Ch 15 "Product Metrics"

    • Reading material: IEEE Standard Glossary of Software Engineering Terminology (IEEE Std 610.12-1990)

- May 22th: Presentation of the SafeHome design by 5 teams

- May 29th: "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)

- May 31: "Application of Software Engineering in Manufacturing Industry" by Hotae Kim from Samsung SW Center.

    •  Note. This lecture will be given in Korean.

June 5: Formal methods in SE : Spin Model Checker I/II

June 7: Formal methods in SE : Spin Model Checker II/II

June 12: Final Exam 5:00 PM - 6:10 PM

Assignments

  • HW #1: Read the following paper and summarize it with your opinion in one A4 (around 500 words).  See the lecture slide of Mar 6 for more detail. 
  • HW #2: Select and summarize two articles on agility in June 2003 issue of IEEE Computer in one A4 each.  Due date is April 3rd.
  • Quiz#2 solution
  • HW #3: 8.2, 8.3, 8.5, and 8.19 with swimlane activity diagram. Due date is April 17th.


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 team should provide a "who did what" list to show how each team member contributed to the project for project progress
  • Team assignment
    1. Du, Jiaqing, Nguyen, N.T.B 김윤호 나종열 조우영
    2. MK Hasan, Plouviez, Ugo 홍신  조경희 황재호
    3. 신지용 최동현 Pham,Minh Duc Pandey, Suraj 양동윤
    4. 류승진 박한진 이영식 이찬희 조민경
    5. 이동호 정주연 정진기 김이결 
  • Schedule
    • May 1st:  Due of complete use-case diagram, use-case description, and activity diagrams (swinlane diagram)
      • You are welcome to add more diagrams or pictures if they help describe the SafeHome's requirements clearly.
    • May 22: Due of class diagram, CRC cards, sequence diagram, state diagram, and lessons learned
      • Every team is required to present one's system design in the class on May 22 (25 min each).
      • You are welcome to add additional materials such as architecture or component design, if they can explain your design more clearly
      • Explicitly describe how design is built based on the requirement documents & analysis model (your first project output)
    • June 7  : Due of implementation and testing
      • SafeHome.zip contains all device emulator classes as well as a demo source code.  Run "java MainDemo" for demonstration.
      • 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.
      • Mapping between implementation and your design (e.g., 2nd project output) should be explicitly described.
      • Test process that you undertake should be described, e.g, how you performs unit tests, integration tests, regressions tests, top-dwon tests, botton-up tests, etc.   Test cases should described, too.
        • Design test cases for unit test first, then start implementation if possible.
  • Resources

Document Actions