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
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.
|
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.
|
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.
|
|
Main Textbook
- Software Engineering, 9th Edition
- Ian Sommerville
- Addison-Wesley Publishing Company
- United States
- ISBN:978-0-13-703515-1
- 2010
|
Name
|
Department
|
Position
|
Sungyoung Lee
|
Computer Science
and Engineering, Kyung Hee University, Korea
|
Professor
|
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
|
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
|
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
|
|