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.

  1. 소프트웨어 공학 에센셜 | 윤청 | 생능 출판 | 2015 (선별적 챕터를 참조, 기말고사 참조용)
  2. 소프트웨어 개발의 모든 것 | 김익환, 전규현 | 페가수스 | 2010 (4시간 정도 안에 읽는 수준, 용어라도 익히도록, 중간고사 참조용)
  3. Software Engineering 10 | Ian Sommerville | Pearson

Readings

  1. Morisio, Maurizio, Evgenia Egorova, and Marco Torchiano. "Why software projects fail? Empirical evidence and relevant metrics." Proc. of Mensura (2007): 299-308.
  2. Claire Maynard, Learn scrum with Jira Software, scrum tutorial, accessed on Sep. 12, 2018.

References

  1. Software Project Ideas

 

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