TOP

Advanced Software Engineering – Course Syllabus

Spring 2020

Lecture time and place: Wednesday 10:30 – 11:45 (Room 211-2, Electronic Information Building), Friday 10:00 – 11:15 (Room 211-2, Electronic Information Building)

Course Code: CSE7209-00, major selection, 3 credits

Last Updated: 2020/03/01

 

 

1. Course Objectives

 

This course introduces advanced concepts and their application in software modeling and construction for enabling high quality software engineering in the real world. It provides a mix of both theoretical and practical components to help design and construct scalable and usable computing applications.

 

2. Lecture Contents

 

This course builds upon the basic concepts of Software Engineering and provides a graduate level upgradation of the contents to provide an in-depth understanding on concepts, features, and technologies such as various software processes, planned and agile software development paradigms, requirements engineering, system modeling at various abstractions, designing and developing sound architectural designs, testing mechanism for validation and verification of software, and principles supporting software reusability. The theoretical contents are supplemented by stage-wise application of the software engineering principles for solving a real world problem and building a prototype application.

 

3. Target Audience

 

The prerequisite for this graduate level course is the undergraduate level software engineering course for the theoretical component and familiarity to programming languages (such as Python, Java, PHP, C++, Ruby, or others) for implementing the Term project.

 

4. Teaching Materials

 

Thats My Ebook: Software Engineering, 9th Edition by Ian Sommerville

Main Textbook

-         Software Engineering, 9th Edition

-         Ian Sommerville

-         Addison-Wesley Publishing Company

-         United States

-         ISBN:978-0-13-703515-1

-         2010 

 

5. Professor Information

 

Name

Department

Position

Sungyoung Lee

Computer Science and Engineering, Kyung Hee University, Korea

Professor

 

TEL

Lab URL

E-mail

OFFICE

031) 201-2514

http://uclab.khu.ac.kr

sylee@oslab.khu.ac.kr

Electronic Information College building 313

 

6. Office Hour

 

Please send an email for scheduling an appointment. In case of emergency, you may also call the professor using the number given above.

 

7. Lecture Plan and MooC Videos

 

No

Lecture Subjects & Contetns

MooC

1

Chapter 1 – Introduction

Introduces the basic concepts of software engineering and provides the mechanism for effectively differentiating between the software engineering process, product, and type of product.

SHOW

2

Chapter 2 Software Processes.

Examines the concepts and differences between various software processes. Topics which are covered in this lecture include software process models, process activities, coping with change and process improvement.

3

Chapter 3 Agile Software Development

Explains the details of agile software development that comprises of various approaches to manage change in software development.  Also discusses the mechanism for effectively managing the projects that are developed under the umbrella of agile methodology. Also examines the impact of agile software development methodology on a large scale software system.

SHOW

4

Chapter 4 Requirements Engineering

Discusses software requirements and explains the processes involved in discovering and documenting Software requirements. The key idea is to understand the concepts of user and system requirements, and the differences between functional and non- functional software requirements.

SHOW

5

Chapter 5 System Modeling

Introduces the various modeling activities supporting the design process and providing an illustrative medium for creating a bridge between the client and the software engineer. In particular it focuses on UML diagrams and their benefits, and introduces Model-driven engineering.

SHOW

6

Chapter 6- Architectural Design

Covers the ideas related to the architectural design such as architectural design decision along with architectural view and the patterns of designed architecture. Also relates the theoretical components to practical ones by showcasing example architectures related to various real world applications.

SHOW

7

Chapter 7-  Design and Implementation

Investigates and examines the principles of design and implementation in Software Engineering. With an emphasis on realizing the UML design process, it also covers the details of design patterns and open source development.

SHOW

8

Chapter 8- Software Testing

Provides an in-depth look at the various approaches and tools that can help the software engineer to test the stability, accuracy, and quality of software. Sub topics, such as development testing, Test-driven development, release testing, and user testing are a part of this topic.

SHOW

9

Chapter 9- Software Evolution

Identifies the details of software evolution process, which is ubiquitous and found everywhere including but not limited to medicines, automobiles, lifestyle, information technology, so on and so forth. Introduces the detailed concepts of an information technology era, where software is considered as a backbone for any infrastructure.

SHOW

10

Chapter 16 - Software Reuse

Introduces the concepts underlying software reuse and covers various topics under the umbrella of software reuse, such as understanding the benefits and problems of reuse when developing new systems. Also discusses various application frameworks and provides the mechanisms for extending the application frameworks.

SHOW

11

Mining Minds Project MooC Link

Exemplifies the theoretical concepts covered in class by introducing a practical, real-world, large scale application in the domain of Wellness Management and Monitoring.

SHOW

 

8. Supplementary Lecture Material

 

No.

Lecture Subject

M (PDF)

1

UML Software Models

DOWN

 

9. Lecture Resources

 

No

Lecture Subject

Material (PDF)

1

Chapter 1 – Introduction

DOWN

2

Chapter 2 Software Processes.

DOWN

3

Chapter 3 Agile Software Development

DOWN

4

Chapter 4 Requirements Engineering

DOWN

5

Chapter 5 System Modeling

DOWN

6

Chapter 6- Architectural Design

DOWN

7

Chapter 7-  Design and Implementation

DOWN

8

Chapter 8- Software Testing

DOWN

9

Chapter 9- Software Evolution

DOWN

10

Chapter 16 - Software Reuse

DOWN

 

10. Original Text-book Resources

 

No

Lecture Subject

Material (PDF)

1

Text-book Chapter 1 - Introduction

DOWN

2

Text-book Chapter 2 Software Processes.

DOWN

3

Text-book Chapter 3 Agile Software Development

DOWN

4

Text-book Chapter 4 Requirements Engineering

DOWN

5

Text-book Chapter 5 System Modeling

DOWN

6

Text-book Chapter 6- Architectural Design

DOWN

7

Text-book Chapter 7-  Design and Implementation

DOWN

8

Text-book Chapter 8- Software Testing

DOWN

9

Text-book Chapter 9- Software Evolution

DOWN

10

Text-book Chapter 16 - Software Reuse

DOWN

 

11. Term Project Resources

 

No

Lecture Subject

Material (PDF)

1

Practice Lecture Chapter 1 Writing Use Cases

(Presentation & Text-book)

DOWN

DOWN

2

Mining Minds Project Overview

DOWN

 

12. Teaching Assistant

 

Name

Department

Position

Bilal Hafiz Syed Muhammmad

Computer Science and Engineering, Kyung Hee University, Korea

PhD Candidate

 

TEL

FTP URL

E-mail

OFFICE

010-4931-8881

-

bilalrizvi@oslab.khu.ac.kr

Electronic Information College building 350

 

설명: 설명: 설명: 설명: 설명: topicon.gif