Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

SYLLABUS

SUBJECT: SOFTWARE ENGINEERING

1. Lecturers’ information:

No. Full name Title Address Email Note


Software
Assoc. hungpn@vnu.edu.vn
4 Phạm Ngọc Hùng Engineering
Prof.
Department
Software
5 Đặng Đức Hạnh Dr. Engineering hanhdd@vnu.edu.vn
Department

2. Subject information:
- Subject name: Software Engineering
- Subject code: INT2208
- Number of credits: 3
- Credit hour distribution (lectures/practicals/self-studies): 45/0/0
- Prerequisites: INT1006 – Basic Informatics 4
- Other requirements (if needed):
- Coordinated by (Department/Faculty): Software Engineering Department, Faculty of
Information Technology, VNU-UET
3. Subject objectives:

Students will know the general concepts of software engineering process and
techniques to carry out various tasks in software development from requirements
gathering, design process and patterns, writing quality code, validation techniques, to
software evolution and project management. Student will work in group to build a
small software using modern process such as agile methods and practice various skills,
including team work, and CASE tools.
4. Expected learning outcomes:

Expectation Level Level Level Level


Outcomes 1 2 3 4
1. Knowledge
1.4.7 Understand basics of software process, technique
x
to build quality software
1.5.2 Be able to analyze and design and build software
x
system
2. Skills
2.1.7.1 Be able to analyze requirements, to describe
x
user stories
Expectation Level Level Level Level
Outcomes 1 2 3 4
2.1.7.2 Be able to design solution using common design
x
patterns
2.1.7.3 Be able to implement solution, writing good
x
quality code
2.1.7.4 Be able to operate system, using CASE tools x
2.1.7.5 Be able to acquire new technologies, using them
x
to develop software

5. Subject description:
The course provides basic knowledge in software engineering and techniques that students
can use to carry out tasks in development a software solution, from analyzing requirements to
design solutions as well as in implementation, testing, and software evolution. Students will
practice in a group project to build a small software to apply learnt knowledge and learning to
use CASE tools to support software development. The course also introduces some latest/up-
to-date development process, techniques, tools, and technologies.
6. Subject contents
The content will be based on Chapter 1 to 9 of Ian Sommerville book [1]. Some weeks are
reserved for discussion of student’s projects.
Chapter 1: Couse introduction and plan. Introduction to software engineering, FAQ,
and ethical issues.
Chapter 2: Common software processes: waterfall, spiral, RUP
Chapter 4: Requirement engineering: feasibility study; gathering techniques;
Chapter 5: System modeling: basic UML models.
Chapter 6: Architecture design: common design and architecture patterns.
Chapter 7: Design and implementation: design process, prototype, and evaluation,
code quality, refactoring
Chapter 8: Software testing: testing process; unit testing, intergration testing; system
testing; acceptance testing, test automation;
Chapter 22: Project management: basic concepts; process; time risk management; risk
management, HR risk management; v.v.
Group discussion: Student projects report and lessons learnt.
7. Teaching materials:
7.1. Textbook(s):
1. Ian Sommerville, Software Engineering. 9th Ed., Addison-Wesley, 2010.
2. Roger S. Pressman - Software Engineering: A Practitioner's Approach - 6th Ed.,
McGraw Hill, 2005.
3. Nguyễn Văn Vỵ, Nguyễn Việt Hà, Giáo trình Công nghệ phần mềm, NXB ĐHQG
Hà Nội 2008.
7.2.Reference books/materials:
4. Robert C. Martin, Agile Software Development, Principles, Patterns, and Practices.
Prentice Hall; 2002.
5. Steve McConnell, Code Complete: A Practical Handbook of Software Construction,
Second Edition.
6. Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman. The
Essence of Software Engineering: Applying the SEMAT Kernel. Addison-Wesley
Professional; 1 edition. 2013.
8. Teaching schedule
8.1. Overall schedule (for 15 weeks)

Sessions From week …to Location


Teaching mode
per week week…
Lectures 3 1-15 Class room
Practical
Self-studies
8.2. Detailed schedule

Week Theoretical/Practical Self-study


Chapter 1: Introduction to software
1-2 Ethical issues
engineering, FAQ, and ethical issues.
Chapter 2: Common software processes:
3-4 RUP
waterfall, spiral, RUP
Chapter 4: Requirement engineering:
5-6 User story
feasibility study; gathering techniques;
Chapter 5: System modeling: basic UML
7-8 UML tool
models.
Chapter 6: Architecture design: common
9 design patterns
design and architecture patterns.
10 Chapter 7: Design and implementation refactoring
11 Chapter 8: Software testing unit testing, automated testing
12 Chapter 22: Project management A Tool supporting PM
13-15 Student projects reports and lessons learnt Final project reports

9. Course policy and other requirements


10. Assessments
10.1. Assessment types

Form Methods Objectives Percentage


Homeworks/Quick TBA Checking the given
concepts/methods/techniques/skills 40%
Tests/Attendance, ...
Oral Know the basic concepts and
Final exam 60%
techniques
Total 100%

10.2. Quality criteria & Grading policy


- Group project: all project activities of each project members, focusing on reports,
presentations, and products.
- Final exam: base on the knowledge of students in software engineering, experiences
learnt from group projects, and knowledge about CASE tools used in group projects.
Base on the contribution of the students, the completeness and the quality of the group project
and the answers in the final exam that student will be graded following university grade scale.
10.3. Assessment schedule
Form Time
Project reports As in the course plan above
Final exam Given by UET

Approval Dean of Faculty Head of Department

You might also like