Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
6,79 MB
Nội dung
14/9/2009
1
Chương 1
Tổng quanvềcôngnghệphần mềm
Nội dung
I.
Các khái niệm
II.
Quy trình xây dựng phần mềm
III.
Nghề nghiệp kỹ sư phần mềm
I. Các khái niệm
1.
Khoa học, kỹ thuật, công nghệ
2.
Phần mềm
a.
Phần mềm tốt
b.
Phần mềm đủ hay thiếu và nguyên
nhân
c.
Tiến hóa của phần mềm
d.
Các loại phần mềm
3.
Công nghệphầnmềm (SE)
Các khái niệm
—Khoa học (science)
—
Kỹ thuật (technology)
—
Công nghệ (engineering)
—
Phần mềm (software)
—
Công nghệphầnmềm (software
engineering)
14/9/2009
2
Phần mềm
—
Software = Computer Program +
associated documentation
—
Loại sản phẩm phần mềm
—
Generic Product: là sản phẩm đóng gói và
bán rộng rãi trên thị trường.
—
Bespoke Product: là sản phẩm được phát
triển theo yêu cầu đặc thù của từng khách
hàng.
Đặc tính của sản phẩm phầnmềm tốt
—
Maintainability: phầnmềm có thể thay đổi
thuận tiện theo yêu cầu của người dùng
—
Dependability: tính ổn định, bảo mật và an
toàn của phần mềm. Không gây tổn hại về vật
chất hay kinh tế cho hệ thống.
—
Efficiency: Sử dụng hiệu quả tài nguyên của
hệ thống cho công việc
—
Usability: giao diện và phương thức phải phù
hợp với người dùng đồng thời đáp ứng đúng
yêu cầu của người dùng
Phần mềm-đủ hay thiếu
—
Phần mềm được viết ngay từ khi có những máy
tính programable đầu tiên.
—
Được quan tâm và phát triền từ rất sớm
—
Có rất nhiều phầnmềm đã được viết
→ Không thiếu phần mềm
—
Thực tế việc sản xuất phầnmềm không đáp ứng
kịp yêu cầu của người sử dụng:
—
Không đủ về số lượng
—
Thiếu về chất lượng
—
Không kịp về thời gian
→ Phầnmềm không đáp ứng đủ cho người dùng
Nguyên nhân khách quan
—
Số lượng phầnmềm phải được hiểu là số
đầu/loại phầnmềm được sử dụng cho từng mục
tiêu ứng dụng.
—
Nhu cầu sử dụng phầnmềm là rất lớn
— Nhiều ngành nghề cần dùng phầnmềm máy tính
— Mỗi ngành nghề cần nhiều loại phầnmềm khác
nhau
—
Mội loại phầnmềm cần nhiều cấp độ khác
nhau theo trình độ người dùng
14/9/2009
3
Nguyên nhân khách quan
—
Chất lượng phầnmềm cũng chưa đáp ứng tốt
hoàn toàn người sử dụng:
—
Tính customize rất cao của sản phẩm phần mềm.
—
Trình độ sử dụng khác nhau và điều kiện hạ tầng
ứng dụng khác nhau
—
Nhu cầu phầnmềm thường rất cấp bách
—
Tầm nhìn và chiến lược chưa đầu đủ của người sử
dụng
—
Không có kế hoạch lâu dài
—
Phải thay đổi theo từng đối tượng người dùng
Nguyên nhân chủ quan
—
Tính chuyên nghiệp trong sản xuất phầnmềm
chưa cao: Các dữ liệuquan sát được (1979)
—
Theo kiểm toán Mỹ
—
50% vượt ngân sách
—
60% trễ
—
40% không đúng yêu cầu trong đó 22% phải
thiết kế lại toàn bộ và 29% thất bại hoàn toàn
—
Theo thống kê của Tom de Marco (1979)
—
25% hệ phầnmềm lớn thất bại
Nguyên nhân chủ quan
—
Theo thống kê của Copets Jones (1991)
—
Trung bình các hệ thông tin quản lý trể 1 năm
—
Vượt ngân sách 100%
Nguyên nhân chủ quan
—
Lý do của những hệ quả trên
—
Phát triển phầnmềm giống như một nghệ thuật,
chưa được xem như một ngành khoa học
—
Quy trình phát triển phầnmềm chưa được thống
nhất
—
Phải viết lại phầnmềm mỗi khi có sự thay đổi
về ngôn ngữ, phần cứng hoặc hệ điều hành
—
Chưa đạt được 1 chuẩn cho việc đo lường hiệu
suất và sản phẩm
[...]... ng — Phát tri n (t gi a 80s) — — Công ngh CSDL (mô hình quan h ) Phân tích, thi t k hư ng c u trúc — Các b công c phát tri n — Công c tr giúp phân tích thi t k — B kh i t o chương trình (biên d ch) — Các ngôn ng b c cao (FoxPro, SQL ) — B t đ u quan tâm đ n qu n lý làm ph n m m — Các đ đo ph n m m L ch s phát tri n — Phát tri n các mô hình qu n lý — Chu n qu n lý đư c công nh n (CMM, SO9000-03) — Nhi... m m đư c đ xu t — Nhi u công c tr giúp qu n lý d án hoàn thi n Hoàn thi n công ngh c u trúc, ra đ i công ngh đ i tư ng — Nhi u mô hình hư ng c u trúc đư c chu n hóa — CASE hoàn thi n, đ t m c t đ ng hóa cao — Công ngh hư ng đ i tư ng b t đ u phát tri n: — — — Quy trình RUP Ngôn ng mô hình hóa th ng nh t(UML) Các công c ph n m m đ y đ (ROSE, JBULDER, ) — S d ng l i chi m v trí quan tr ng trong phát tri... đ nh trình t th c hi n các công vi c — Xác đ nh các tài li u, s n ph m c n bàn giao và cách th c th c hi n — Đ nh các m c th i gian (millestones) và s n ph m bàn giao Phương pháp — Cách làm c th đ xây d ng ph n m m — M i công đo n làm ph n m m có các phương pháp riêng — Phương pháp phân tích — Phương pháp thi t k — Phương pháp l p trình — Phương pháp ki m th Khái ni m C th Công c — Cung c p s tr giúp... tri n gi i thu t gi i quy t bài toán 4 Chuy n thu t toán thành chương trình máy tính 5 Ch y chương trình đ ki m tra và s a ch a 6 Th c hi n tính toán và chuy n giao k t qu đ n nơi yêu c u — V n đ , gi i pháp và gi i quy t v n đ — Yêu c u c a khách hàng: V n đ hay bài toán — S n ph m, d ch v gi i quy t các yêu c u: Gi i pháp — Công ngh ch là công c , phương ti n, c n có con ngư i áp d ng đ đ t đư c m c... l a ch n m t phương pháp lu n thích h p và các công c CASE — Bi t l a ch n ngôn ng , ph n c ng, ph n m m — Qu n lý, l p sơ đ và ki m soát vi c phát tri n ti n trình — Bi t cách ki m tra chương trình s áp d ng — L a ch n và s d ng k thu t b o trì ph n m m — Đánh giá và quy t đ nh khi nào lo i b hay nâng c p — 19 14/9/2009 Lo i hình công vi c Lo i hình công vi c Phát tri n ng d ng Chuyên gia k thu t... pháp — Computer Aided Software Engineering –CASEcác công c ph n m m đư c chu n hóa đ tr giúp các công đo n khác nhau trong quá trình phát tri n — Compiler, debugger — H tr phân tích, thi t k (Rwin,Modeler, Oracle Designer, Rational Rose, ) — Efficiency: Ph n m m đư c s n xu t trong th i gian và đi u ki n v a ph i Ph n m m v n hành đúng m c đ yêu c u v công vi c và th i gian — Reliablity: Ph n m m v n... hình phát tri n ph n m m Mô hình thác nư c — Mô hình thác nư c — Mô hình xây d ng ti n tri n — Công ngh ph n m m d a thành ph n — Mô hình phát tri n l p l i, tăng thêm — Mô hình xo n c Mô hình Prototype Công ngh ph n m m d a thành ph n 16 14/9/2009 Mô hình xo n c Mô hình phát tri n l p l i, tăng thêm Các công đo n chính t ng quát Đ ct — Giai đo n đ c t : xác đ nh các tính năng và đi u ki n ho t đ ng... n đ 2 M t s mô hình 3 Các công đo n chính 4 Các tiêu chu n 13 14/9/2009 Quy trình phát tri n ph n m m Quy trình phát tri n ph n m m (còn g i t t là quy trình ph n m m) là m t t p h p các hành đ ng ph i đư c th c hi n trong quá trình xây d ng m t h th ng ph n m m Cách gi i quy t v n đ — T l p trình đi lên — Các tri th c liên quan đ n l p trình — Tri th c v cách ho t đ ng c a công c x lý thông tin (tư... trình viên h th ng Chuyên gia h tr ph n m m (SSP) Chuyên viên — — — Chuyên viên b o m t Ki m soát viên EDP Chuyên viên đào t o và hu n luy n Lo i hình công vi c — — — — Chuyên viên phát tri n các chu n Ngư i vi t k thu t Đ m b o ch t lư ng (QA) L p k ho ch công ngh Nh ng ngư i khác — — — H tr s n ph m Ti p th s n ph m Chuyên viên ngư i dùng cu i 20 ... trong CNPM Chu n CMM •Continuous Improvement •Các h th ng quality control và qualify đã đư c s d ng hi u qu — Các chu n khác c a Department of Defense (Level 5) 1 M c tiêu và nh ng k năng 2 Lo i hình công vi c Risk •Có kh năng d đoán (Predictability) •Các quy trình qu n lý và tiêu chu n đư c chi ti t hóa Defined Managed (Level 4) •Xác l p các tiêu chu n qu n lý •Các v n đ documentation đã xác l p (Level . thuật, công nghệ
2.
Phần mềm
a.
Phần mềm tốt
b.
Phần mềm đủ hay thiếu và nguyên
nhân
c.
Tiến hóa của phần mềm
d.
Các loại phần mềm
3.
Công nghệ phần mềm (SE)
Các. 14/9/2009
1
Chương 1
Tổng quan về công nghệ phần mềm
Nội dung
I.
Các khái niệm
II.
Quy trình xây dựng phần mềm
III.
Nghề nghiệp kỹ sư phần mềm
I. Các khái