Course Information
Lecturer | Prof. Seonah Lee |
Class Time / Place | Monday: 407-204 13:00-14:00 |
Wednesday: 407-204 13:00-15:00 |
To make the course of software development to be practical, I get helped by KOSTA and Ike Kim, the author of our textbook. I am using a Jira system for our class communication. I am also using Jenkins as well as Gitlab for this course.
Course Introduction
We are going to learn how to develop a software system, including software process, methods and tools. To learn software process, you will work based on agile development (e.g., XP and SCRUM). To learn analysis and design methods, you will learn and apply Unified Modeling Languages as well as quality scenarios. To learn development tools, you will experience several tools such as Jira, GitLab, Maven and JUnit. In the end, you will also improve your communication skills through this course.
Goal
In this course, students are going to learn the following concepts.
• Process models and Agile development process
• Requirement analysis with UML use cases and quality scenarios
• System design with UML sequence diagrams, class diagrams and state diagrams
• Iterative Development
• Unit testing with JUnit and others
• Reflection
• CI tools such as Jira and GitLab
Textbook
There is no specific textbook required for this course. Students will be given one page guideline every week for learning the basics of this course. However, the course requires reading other sources. Please see a list of textbooks as follows.
- 소프트웨어 공학 에센셜 | 윤청 | 생능 출판 | 2015 (선별적 챕터를 참조, 기말고사 참조용)
- 소프트웨어 개발의 모든 것 | 김익환, 전규현 | 페가수스 | 2010 (4시간 정도 안에 읽는 수준, 용어라도 익히도록, 중간고사 참조용)
- Software Engineering 10 | Ian Sommerville | Pearson
Readings
- Morisio, Maurizio, Evgenia Egorova, and Marco Torchiano. "Why software projects fail? Empirical evidence and relevant metrics." Proc. of Mensura (2007): 299-308.
- Claire Maynard, Learn scrum with Jira Software, scrum tutorial, accessed on Sep. 12, 2018.
References
Evaluation
Proposal | 4% | Midterm Exam | 15% |
Midterm Presentation | 6% | Final Exam | 25% |
Midterm Report | 8% | Every-week Report | 10% |
Final Presentation | 12% | Peer Evaluation | 5% |
Final Report | 10% | Attendance, ETC. | 5% |
Schedule
Week |
Topic Category |
Lecture |
Topic |
Milestone |
1 |
|
Set-03 |
Cource Overview & IntroductionD01 |
|
2 |
Iteration #1 |
Sep-10 |
Introduction to requirements The Requirement Deficiencies Of Project Failures Information Technology Essay |
|
3 |
Sep-17 |
Technology investigation |
Project Proposal |
|
4 |
Sep-24 |
Thanksgiving day |
|
|
5 |
Oct-01 |
Functional analysis with use cases Architectural Blueprints — The “4+1” View Model of Software Architecture |
|
|
6 |
|
Oct-08 |
Quality Scenarios |
|
7 |
Oct-15 |
Prototyping |
|
|
8 |
Iteration #2 |
Oct-22 |
Acceptance testing plan & cases Mid-term Presentation |
Mid-term Presentation & Report |
9 |
Oct-29 |
Mid-term Exam |
|
|
10 |
Nov-12 |
Module decomposition with class diagrams |
|
|
11 |
Nov-19 |
Flow analysis with sequence diagrams |
|
|
12 |
Nov-13 |
Interface design and unit testing plan & cases |
|
|
13 |
Nov-26 |
Implementation Nov-15, Suresoft Testing |
|
|
14 |
Dec-03 |
Reflection & Final Preparation |
Final Presentation & Report |
|
15 |
Dec-10 |
Final Exam (Dec-12) |
|
Project GitHub Links