Tải bản đầy đủ (.ppt) (31 trang)

Introduction of software engineering

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (210.25 KB, 31 trang )

Trường Đại học Công nghiệp Tp.HCM
Trung tâm Công nghệ Thông tin

Introduction of Software Engineering
GV: Lê Ngọc Tiến
Email:
Blog:
Trường Đại học Công nghiệp Tp.HCM
Trung tâm Công nghệ Thông tin

Giới thiệu về Công nghệ phần mềm
GV: Lê Ngọc Tiến
Email:
Blog:
2
What is Software Engineering (SE)
• Software has become critical to advancement in
almost areas of human endeavour. However, there are
serious problems in cost, timelines,
maintenance and quality of many software
products.
• Software engineering has the objective of solving the
problems of software by producing good quality,
maintainable software, on time, within budget.
2
Công nghệ phần mềm là gì (SE)
• Phần mềm có vai trò quan trọng để thúc đẩy làm cho
tốt hơn trong hầu hết các công việc của con người. Tuy
nhiên, phần mềm còn có một số những vấn đề quan trọng
khác như giá, thời hạn, bảo trì và chất lượng của phần
mềm.


• Công nghệ phần mềm có mục tiêu giải quyết những vấn
đề của phần mềm là bằng cách cung cấp phần mềm có chất
lượng cao, độ bảo trì tốt trong thời gian và chi phí thực
hiện hợp lý.
3
Definition of Software Engineering
• Software engineering is the establishment and use of
sound engineering principles in order to obtain
economically software that is reliable and works
efficiently on real machines
• A discipline whose aim is the production of quality
software, software that is delivered on time, within
budget, and that satisfies its requirements.
3
Định nghĩa Công nghệ phần mềm
• Công nghệ phần mềm là việc cài đặt và sử dụng những
nguyên lý kỹ thuật để tạo ra phần mềm (dành để thương
mại) đáng tin cậy và có khả năng làm việc hiệu quả trên máy
thực.
• Một mục tiêu nhắm tới của CNPM là chất lượng của phần
mềm và phần mềm đó có sự chuyển giao đúng thời hạn
với chi phí hợp lý, đáp ứng những yêu cầu của nó.
4
Software
Consist of:



Programs
Documents

Procedures used to setup and operate the software
system
(
Program is a subset of software,
or Software is a superset of programs
)
4
Phần mềm
Bao gồm:



Chương trình
Tài liệu hướng dẫn kèm theo
Quy trình cài đặt và vận hành hệ thống phần mềm
(
Chương trình là tập con của phần mềm,
hay phần mềm là tập cha của chương trình
)
5
Software applications




System Software: a collection of programs which
provide service to another programs (compilers,
operating systems, drivers…)
Real Time Software: used to monitor, control and
analyze real world events as they occur (weather

forecasting)
Embedded Software: placed in ROM of the
product and control various functions of product
Business Software: designed to process business
applications (employee management, account
management…)
5
Những ứng dụng của phần mềm




Phần mềm hệ thống: là một tập hợp những chương
trình mà cung cấp dịch vụ đến những chương trình khác
(trình biên dịch, hệ điều hành, driver…)
Phần mềm thời gian thực: được dùng để giám sát, điều
khiển và phân tích các sự kiện trong thế giới thực
(dự báo thời tiết)
Phần mềm nhúng: được lưu trữ trên ROM của sản phẩm
và được dùng để điều khiển các chức năng khác nhau của
sản phẩm đó.
Phần mềm nghiệp vụ: được thiết kế để xử lý những ứng
dụng nghiệp vụ (quản lý nhân viên, quản lý tài khoản…)
6
Software applications (cont)



Artificial Intelligence Software: used to solve
complex problems that are not amenable to

computation (artificial neural network, signal
processing…)
Web based Software: the software related to web
applications (HTML, DHTML…)
Engineering and Scientific Software: Huge
computing is required to process data (CAD/CAM
package, MATLAB…)
6
Những ứng dụng của phần mềm (tiếp theo)



Phần mềm trí tuệ nhân tạo: được dùng để giải quyết
những vấn đề phức tạp, không liên quan đến tính toán
(mạng trí tuệ nhân tạo, xử lý tín hiệu…)
Phần mềm web: là phần mềm có liên quan đến những
ứng dụng của web (HTML, DHTML…)
Phần mềm cơ khí và khoa học: là phần mềm có thể
thực hiện rất nhiều phép tính toán để xử lý dữ liệu (gói
CAD/CAM, MATLAB…)
7
The Attributes of Good Software




Maintainability
Software must evolve to meet changing needs
Dependability
Software must be trustworthy

Efficiency
Software should not make wasteful use of
system resources
Usability
Software must be usable by the users for which
it was designed
7
Những đặc trưng của phần mềm tốt




Tính dễ bảo trì
Phần mềm phải dễ phát triển thêm khi có nhu cầu thay đổi
Độ tin cậy
Phần mềm phải đáng tin cậy
Tính hiệu quả
Phần mềm không sử dụng lãng phí tài nguyên hệ thống
Tính khả dụng
Phần mềm phải dễ sử dụng đối với người dùng
Terminologies


Product: what is delivered to customer, it may
include: source code, specification document,
user manual…
Process: is the way we produce software. It is a
collection of activities that leads to (a part of) a
product. An efficient is required to produce good
quality products.

8
Thuật ngữ


Sản phẩm: là những gì giao cho khách hàng, nó có
thể bao gồm: mã nguồn, tài liệu đặc tả, sổ tay người
dùng…
Tiến trình: là cách chúng tôi sản xuất ra phần mềm.
Nó là một tập hợp những hoạt động góp phần tạo ra
(một phần của) một sản phẩm. Đem lại một hiệu quả
là cần thiết để cung cấp những sản phẩm có chất
lượng cao.
Terminologies (cont)


Deliverable: What are generated during
software development, example: source code,
user manual…
Milestone: the events that are used to ascertain
the status of the project, example completion of
design documentation is milestone.
9
Thuật ngữ (tiếp theo)


Giao phát: được tạo ra trong suốt quá trình phát
triển phần mềm, ví dụ: mã nguồn, sổ tay người
dùng…
Milestone: là những sự kiện để xác định tình trạng
của dự án, ví dụ hoàn thành tài liệu thiết kế là

milestone.
9
Terminologies (cont)
• Generic and Customized Software products:
– Generic products: developed for anonymous
customers, example operating system…
– Customized products: developed for
particular customers.
10
Thuật ngữ (tiếp theo)

Sản phẩm phần mềm đặc chế và phần mềm dùng chung:
– Sản phẩm dùng chung: được phát triển dành cho
khách hàng vô danh, ví dụ như hệ điều hành…
– Sản phẩm đặc chế: phát triển dành cho từng
khách hàng riêng biệt.
10
Role of Management in Software Development

ProductProject
Dependency
Order
The management of software development is
dependent on four factors:
People
1
2
3
Process
11

4
Vai trò của quản lý trong
quá trình phát triển phần mềm

Sản phẩmDự án
Phụ thuộc
đặt hàng
Sự quản lý trong quá trình phát triển phần mềm
phụ thuộc vào bốn yếu tố:
Con người
1
2
3
Tiến trình
11
4
12
1 - PEOPLE


Require good manager: A good manager can not
ensure the success of the project but increase the
probability of success.
Manager face challenges:


Plan for the best.
Be prepared for worst, expect surprises, but
continue to move forward anyway.
• The responsibility of manager: Motivate,

encourage, guide and control the people of
his/her team.
12
1 – CON NGƯỜI


Yêu cầu một người quản lý giỏi: một quản lý giỏi thì
không thể chắc chắn sự thành công của dự án nhưng sẽ
làm tăng xác suất để thành công.
Người quản lý đối mặt với những thách thức:
Lên kế hoạch sao cho tốt nhất.
Chuẩn bị cho những tình huống bất ngờ, xấu
nhất và cố gắng vượt qua nó.

Trách nhiệm của người quản lý: thúc đẩy, khuyến
khích, hướng dẫn và điều khiển những con người
trong nhóm của mình.
2 - PRODUCT


Product is what we want to deliver to customers.
So the objective and scope of work should be
defined clearly.
It may help the manager to select the best solution
within constraints imposed by delivery
deadlines, budgetary restrictions, personnel
availability.
13

×