CHAPTER 1: INTRODUCTION
TO SOFTWARE ENGINEERING
Grade Distribution
Project assignments - 40%
In-class quiz - 10%
In-class activities, participation, and discussion - 10%
Final exam (Cumulative - từ đầu đến cuối) - 40%
Academic Integrity
CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING
1
Software Engineering
What is Software Engineering?
💡
GOALS
Cost effective.
High quality.
On time.
Satistfy customer’s need. (Your program is suposed to run on many
different platforms).
Software engineering là một ngành kỹ thuật liên quan đến các lý thuyết, phương
pháp, công cụ phát triển phần mềm chuyên nghiệp.
What is a software?
Chương trình máy tính và những tài liệu liên quan như u cầu đề ra, mơ hình thiết
kế và hướng dẫn sử dụng.
Software products may be
CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING
2
Generic: được phát triển để phân phối đến một số lượng khách hàng lớn.
VD: các phần mềm văn phòng như Word, Excel,...
Custom: được phát triển cho một nhóm người dùng dựa trên yêu cầu đặc biệt
của họ.
What is a software process?
Một số hoạt động phổ biến của quá trình phát triển một phần mềm:
Specification: trả lời các câu hỏi như Hệ thống đó cần phải làm gì?
Development: phát triển hệ thống phần mềm (viết code, sửa bug,...).
Validation: kiểm tra có phù hợp với yêu cầu của khách hàng hay không.
Evolution: thay đổi những cơ chế của phần mềm theo yêu cầu của khách hàng.
What is a software process model?
Trình bày một cách đơn giản một quá trình phát triển một phần mềm, trình bày
những khía cạnh đặc biệt nhất của nó.
What are the costs of software engineering?
Roughly (khoảng) 60% of costs are development costs, 40% are testing costs.
Costs vary (các chi phí khác nhau) depending on many factors:
Requirements.
Complexity.
Personnel.
What are the key challenges facing software
engineering?
Heterogeneity (Sự đa dạng): Phát triển các kỹ thuật để xây dựng các phần mềm
có thể tương thích với nhiều nền tảng và mơi trường thực thi.
Delivery: Phát triển các kỹ thuật giúp việc phân phối phần mềm trở nên nhanh
hơn.
Trust: Phát triển các phần mềm với độ tin cậy cao cho người dùng.
Professional and ethical responsibility
CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING
3
Software engineers must behave in an honest and ethically responsible way.
Involves wider responsibilities than simply the application of technical skills.
(Liên quan đến những trách nhiệm rộng lớn hơn chứ không dừng lại ở những
trình độ kỹ thuật.)
Ethical behavior is more than simply upholding the law. (Hành vi đạo đức không
chỉ đơn giản là tuân theo pháp luật).
Issues of professional responsibility
Confidentiality (Bảo mật)
Competence (Năng lực)
Intellectual properly rights (Quyền sở hữu trí tuệ)
Computer misuse (Lạm dụng máy tính)
Ethical dilemmas (Những tình hướng khó xử)
Cấp trên yêu cầu truy cập trái phép hệ thống của công ty đối thủ.
Doanh nghiệp yêu cầu bạn phát hành một hệ thống quan trọng về an toàn cho
người dùng mà khơng thơng qua q trình kiểm tra cẩn thận.
CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING
4