Tải bản đầy đủ (.pdf) (39 trang)

Bài 1 Khái niệm về phần mềm

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 (695.1 KB, 39 trang )

Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN
Email:
K ngh phn mm
Software Engeneering
B mụn Cụng ngh phn mm HCN
2
Nguyễn Văn Vỵ
Bi 1: Khỏi nim v phn mm
Ni dung
Phn mm v tầm quan trọng
Tiến hóa phần mềm v thách thức
Kỹ nghệ phần mềm
Tin trình phn mm
Cht lng phn mm
B môn Công ngh phn mm – HCN
3
NguyÔn V¨n Vþ
TÀI LiU THAM KHO
1. Nguyn Vn V, Nguyn Vit Hà. Giáo trình k ngh phn
mm. Nhà xut bn i hc Quc gia Hà ni, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified
Modeling language User Guid. Addison-Wesley, 1998.
3. M. Ould. Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s
Approach. Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering. Sixth Edition, Addison-
Wasley, 2001.
6. Nguyn Vn V. Phân tích thit k h thng thông tin hin đi.
Hng cu trúc và hng đi tng, NXB Thng kê, 2002, Hà
Ni.


B mụn Cụng ngh phn mm HCN
4
Nguyễn Văn Vỵ
Phn mm và tầm quan trọng
Phần mềm gồm 3 phần:
1. Chơng trình máy tính
Mã nguồn
Mãmáy
2. Các cấu trúc dữ liệu
Cu trúc lm vic (bộ nhớ trong)
Cấu trúc lu trữ (bộ nhớ ngoi)
a. Khái niệm về phần mềm
file.exe
file.com
Dowhle
Eddo
If than
End if
wwscklrn
File.text
B mụn Cụng ngh phn mm HCN
5
Nguyễn Văn Vỵ
Khái niệm về phần mềm
Phần mềm gồm 3 phần:
3. Cỏc ti liu liờn quan
hớng dẫn sử dụng (ngời dùng)
tham khảo kỹ thuật (
ngời bảo trì)
ti liệu phát triển (nh phát triển)

Users
guid
technical
reference
specification,
design, test,

B mụn Cụng ngh phn mm HCN
6
Nguyễn Văn Vỵ
Khái niệm về phần mềm
Tạo sinh các thnh phần
Các thnh phần vận hnh đợc
Mã nguồn, mã máy, cấu trúc dữ liệu: tự động hóa đợc
Các thnh phần không vận hnh
Các phần còn lại: hầu nh cha đợc tự động hóa
Nhu cầu v khả năng tự động hóa
Lm thủ công l tất yếu
Mong muốn tự động hóa cng nhiều cng tốt
Tự động hóa khi có thể hình thức hóa
Lm tI liệu l cực nhọc, nhng khó tự động
B mụn Cụng ngh phn mm HCN
7
Nguyễn Văn Vỵ
Vai trò của phần mềm
Phần mềm - linh hồn ca các hệ thống máy tính
Có vai trò nền tảng của mọi hoạt động xã hội tổ chức
Cá nhân
tổ chức
quốc gia

Ton cầu
Làm
việc,
giải trí
Sản xuất,
dịch vụ
điều hành,
phát triển
Hội nhập
phần mềm
Hồn siêu, phách lạc

bất tỉnh
B mụn Cụng ngh phn mm HCN
8
Nguyễn Văn Vỵ
Vai trò của phần mềm
Mọi nền kinh tế phụ thuộc rất lớn vo phần mềm
Thu, chi từ phần mềm chiếm đáng kể trong GNP
2006 ấn độ xuất gần 30 tỉ USD phần mềm
Thế giới có
>7 triệu k s CNTT to ra 600 tỉ $/nm
Chi phí cho phần mềm năm 2000 lên tới: 770 tỉ $
phần mềm sai hỏng, kinh tế tổn thất ln
v tinh Ariane 5 hng do li phn mm (1996) thit hi
500 triệu $.
Website dùng 1 ngy mất hng triệu $
X [Pnkaj Jalote. CMM in practice, Addison-Wesley, tr.1,3,11]
B mụn Cụng ngh phn mm HCN
9

Nguyễn Văn Vỵ
Vai trò của phần mềm
Phần mềm tạo nên sự khác biệt giữa các tổ chức:
ĩ phong cách
ĩ năng suất lao động
T
h
ô
n
g
ti
n
,

d

l
i

u
Trời ơi !
Tuyệt vời !
B mụn Cụng ngh phn mm HCN
10
Nguyễn Văn Vỵ
Vai trò của phần mềm
Ngy cng nhiều hệ thống đợc phần mềm điều
khiển, trợ giúp
Tính tự động hóa của các hệ thống ngy một cao
Chi phí phần mềm >> phần cứng

ứng dụng phần mềm có mặt trên mọi lĩnh vực xã hội:
Kinh tế, quân sự, giáo dục, trò chơi,
Chi phncng
10 triu ng
Chi phnmm 40
-50 triu ng
>>
Hệ thống
siêu thi
Game online
B mụn Cụng ngh phn mm HCN
11
Nguyễn Văn Vỵ
Đặc trng của phần mềm
Không mòn cũ, những thoái hóa theo thời gian
Môi trờng sử dụng, nhu cầu thay đổi -> không dùng
Lỗi phát sinh tăng do nâng cấp -> quá mức
Thời gian
Tỷ lệ hỏng
Lỗi đa vo khi sửa đổi
lí tởng
thực tế
đờng mức
Đờng cong thoái hóa của phần mềm
B mụn Cụng ngh phn mm HCN
12
Nguyễn Văn Vỵ
Đặc trng của phần mềm
Không đợc lắp ráp từ mu có sẵn
Không có danh mục chi tit cho trc

Sản phẩm đặt hng theo từng yêu cầu riêng
đặt
hng 1
Khảo sát
Phân tích
Thiết kế
Lập trình
Kiểm thử
fần mềm1
đặt
hng 2
fần mềm2
B mụn Cụng ngh phn mm HCN
13
Nguyễn Văn Vỵ
Đặc trng của phần mềm
Phức tạp, khó hiểu, vô hình
Phần mềm l hệ thống logic khó hiểu

Nhiều khái niệm khác nhau, khó hiểu
Mối liên kết l lôgic (không thấy)
Để hiểu phảI t duy trừu tợng
Không nhìn thấy
Không phảI vật thể vật lý
Mỗi biểu diễn chỉ 1 khía cạnh (dữ liệu, hnh vi, cấu trúc,
giao diện), không phảI hệ thống tổng thể
Use case
Trờng hợp
sử dụng ?
B mụn Cụng ngh phn mm HCN

14
Nguyễn Văn Vỵ
Đặc trng của phần mềm
Thay đổi l bản chất
L mô hình thế giới thực thay đổi theo thời gian

Môi trờng nghiệp vụ thay đổi
Nhu cầu con ngời thay đổi
ĩ Thay đổi để đáp ứng ngời dùng
Thay đổi thích ứng với môi trờng vận hnh

Các hệ phần mềm nền (hệ điều hnh, )
Thiết bị phần cứng (chip, )
B mụn Cụng ngh phn mm HCN
15
Nguyễn Văn Vỵ
Cần phát triển theo nhóm
Quy môcng lớn & yêu cầu kỹ năng khác nhau
Nhu cầu bn giao nhanh
Năng suất nhóm không tỷ lệ với số thnh viên
(1 ngời giỏi > 5 lần ngời trung bình)
Vấn đề
ơ Trao đổi thông tin lớn (10000 email/ngy)
ơ Khó kiểm soát v đồng bộ
ơ Khó tăng tốc độ = cách thêm ngời
ơ Cá nhân ảnh hởng lớn lên kết quả nhóm
Đặc trng của phần mềm
B mụn Cụng ngh phn mm HCN
16
Nguyễn Văn Vỵ

Phân loại phần mềm
Ba cách phân loại:
1. Theo mức độ hon thiện
2. Theo chức năng thực hiện
3. Theo lĩnh vực ứng dụng
-
1
23
SOFT-
WARE
B mụn Cụng ngh phn mm HCN
17
Nguyễn Văn Vỵ

Chơng trình
1 ngời viết, 1 ngời dùng (ngời viết

ngời dùng)
mục đích thu thập, xử lý số liệu (dùng 1 lần)
không ti liệu, không kiểm thử triệt để

Sản phẩm phần mềm
nhiều ngời viết, nhiều ngời dùng
độ phức tạp cao, đồng bộ, an ton, an ninh
ơ Kinh nghiệm viết chơng trình nhỏ không áp dụng cho
sản phẩm lớn
Phân loại theo mức hon thiện
B mụn Cụng ngh phn mm HCN
18
Nguyễn Văn Vỵ

Tớnh phc tp tng nhanh (9 lần)
t :
chng trỡnh -> sn phm-> h thng
Phân loại theo mức hon thiện
Chơng trình
Sản phẩm
hệ thống
x3
x3
x3
x3
Chơng trình
hệ thống
Sản phẩm
Yêu tố
ngời
dùng
Yêu tố
ngời
dùng
Yêu tố
môI
trờng
cI đặt
B mụn Cụng ngh phn mm HCN
19
Nguyễn Văn Vỵ
Phân loại theo chức năng
1. Phần mềm hệ thống
2. Phần mềm nghiệp vụ

Điều hnh hoạt động máy tính, thiết bị & chơng
trình (OS)
Trợ giúp các tiện ích (tổ chức tệp, nén, dọn đĩa )
Trợ giúp các hoạt động nghiệp vụ khác nhau.
Có s lợng lớn, đa dạng
Phân lm hai loại theo cách lm:
-
B mụn Cụng ngh phn mm HCN
20
Nguyễn Văn Vỵ
Phân loại theo chức năng
Sản phẩm đặt hng
Sản xuất theo đơn đặt hng (HTTT quản lý )
đơn chiếc, yêu cầu đặc thù (nhận dạng)
Sản phẩm chung (software pakages)
bán rộng rãi (office)
thỏa mãn yêu cầu chung số lớn ngi dùng
ơ Mỗi loại có cách thức tiếp cận riêng, nhất l ở1
số các bớc ồ chi phí, thời gian khác nhau
Comercial
softwware
Comercial
softwware
B mụn Cụng ngh phn mm HCN
21
Nguyễn Văn Vỵ
Phân loại theo chức năng
3. Phần mềm công cụ (Tools, CASE)
Trợ giúp cho quá trình phát triển phần mềm
Các ngôn ngữ lập trình (soạn thảo, dịch, gỡ rối, )

Công cụ trợ giúp 1 , nhiều giai đoạn phát triển
(phân tích, thiế kế, quản lý dự án, kiểm thử, )
Developer2000, Powerdesigner, WINER,
Mcrosoft Project Management,
-
B mụn Cụng ngh phn mm HCN
22
Nguyễn Văn Vỵ
Phân loại theo lĩnh vực ứng dụng
1. Phần mềm hệ thống
2. Phần mềm thời gian thực
P
hục vụ cho các chơng trình khác
Tơng tác trực tiếp với phần cứng
Phục vụ nhiều ngời dùng
Thu thập, xử lí các dữ kiện thế giới thực
Đáp ứng yêu cầu chặt chẽ về thời gian
-
thu thập dữ liệu
phân tích dữ liệu
kiểm soát, điều khiển
điều phối
B mụn Cụng ngh phn mm HCN
23
Nguyễn Văn Vỵ
3. Phần mềm nghiệp vụ
(business software)

Xử lí thông tin nghiệp vụ, gắn với CSDL
Xử lý các giao tác (mạng bán hng )

Lĩnh vực ứng dụng rất lớn (hệ điều khiển vũ trụ)
4. Phần mềm khoa học kỹ thuật (scientific softwares)
Dùng huật toán phức tạp (vật lí, mô phỏng)
Năng lực tính toán cao
Phân loại theo lĩnh vực ứng dụng
B mụn Cụng ngh phn mm HCN
24
Nguyễn Văn Vỵ
5. Phần mềm nhúng (
embeded software)

Chỉ đọc ra khi thiết bị khởi động,
Thực hiện chức năng hạn chế (điều khiển sản phẩm)
L sự kết hợp giữa hệ thống v thời gian thực
Phân loại theo lĩnh vực ứng dụng
6. Phần mềm máy tính cá nhân

Các bi toán nghiệp vụ nhỏ, học tập, giảI trí
Giao diện đồ họa phát triển
Có nhu cầu rất cao
B mụn Cụng ngh phn mm HCN
25
Nguyễn Văn Vỵ
7. Phần mềm trí tuệ nhân tạo (Intelligent Softwares)

Dùng các thuật toán phi số (logic): suy luận, tìm kiếm
Hệ chuyên gia, nhận dạng, trò chơi
8. Phần mềm dựa trên nền web (Web-based Softwares)

Cung cấp dịch vụ khai thác thông tin trên web.

Chơng trình khai thác l chung (browser)
Phân loại theo lĩnh vực ứng dụng

×