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

Bài giảng công nghệ phần mềm - Chương 2 potx

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 (424.72 KB, 6 trang )


Bài giảng môn học Công nghệ phầm mềm Trang 17
Chơng 2
tiêu chuẩn của một sản phầm phần mềm
2.1. Tiêu chuẩn về trình độ và cấu trúc của nhóm sản xuất phần mềm.
Trong nhóm những ngời phát triển phần mềm, cần có hiểu biết về các lĩnh vực sau:
1. PC: Tri thức về phần cứng.
2. HT: Khả năng tiếp cận hệ thống.
3. PM: Hiểu biết về công nghệ phần mềm.
4. TT: Tri thức về toán học và thuật toán.
5. LT: Khả năng lập trình.
6. MKT: Khả năng tiếp thị.
Các thành viên trong nhóm phát triển phần mềm cần có mức độ hiểu biết về các
lĩnh vực nh sau:
Chủ nhiệm đề tài: Là ngời có hiểu biết về khá về hệ thống và MKT, là ngời có
khả năng tâm lý học cao nhất, có khả năng về đối nội và đối ngoại.
Ngời phân tích và thiết kế hệ thống: Phải khá về tất cả mọi mặt, còn phần cứng
và phần mềm chỉ cần biết là đợc.
Ngời đảm bảo phần cứng: Giỏi về phần cứng và phần mềm.
Ngời đảm bảo phần mềm: Là cố vấn về phần mềm, góp ý và cung cấp các công
cụ phần mềm hệ thống và tiện ích thích hợp giúp cho nhóm giảm đợc tối đa công sức
và thời gian là những công việc trùng lặp.
Ngời lập trình: là ngời chuyên về lập trình, hiểu biết thuật toán và chuyển đổi
theo cú pháp của các ngôn ngữ.
Phụ trách MKT: Giỏi giao dịch và biết về hệ thống.
Bảng tóm tắt về tiêu chuẩn của nhóm thành viên sản xuất phần mềm
Kiến thức
Thành viên
PC HT TT PM LT MKT
1. Chủ nhiệm đề tài B K B B B K / G
2. PT & TK hệ thống B K K K K B


3. Đảm bảo phần cứng K / G B B K B B
4. Đảm bảo phần mềm B K K K / G K B
5. Ngời lập trình B B / K K K / G K / G B
6. Phụ trách MKT B K B B B K / G
Th.S. Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải

Bài giảng môn học Công nghệ phầm mềm Trang 18
Ghi chú: Các ký hiệu G - Giỏi, K - Khá, B - Biết.
2.2. Các lỗi có thể mắc trong quá trình thiết kế và cài đặt các phần
mềm.
Lỗi thứ 1: Lỗi về ý đồ thiết kế sai. Đây là lỗi nặng nhất. Hệ thống mà chúng ta
xây dựng sẽ không thể đáp ứng đợc yêu cầu của khách hàng.
Lỗi thứ 2: Lỗi phân tích các yêu cầu không đầy đủ hoặc lệch lạc. Đây là lỗi cũng
thờng xảy ra. Thực tế cho thấy, những ngời làm chuyên môn thì không hiểu sâu về
tin học nên không cung cấp đợc những thông tin cần thiết cho những ngời làm tin
học. Ngợc lại, những ngời làm tin học là không hiểu hết về chuyên môn nghiệp vụ
của khách hàng. Do vậy mà việc thu thập thông tin sẽ không đầy đủ hoặc thiếu chính
xác. Chính vì vậy mà dễ mắc lỗi. Lỗi này có thể đợc khắc phục tại các cuộc gặp gỡ
giữa hai bên và giải đáp những điều còn mơ hồ.
Lỗi thứ 3: Lỗi hiểu sai các chức năng. Đây là lỗi thờng hay mắc phải do trong
hệ thống có thể có các chức năng hay lĩnh vực có tính chuyên môn cao. Các từ chuyên
ngành. Dẫn đến khó hiểu đối với nhà phát triển phần mềm.
Ví dụ: Đối với phân số, khi cài đặt để đỡ rắc rối thì ta quan niệm
Tử_số Z (số nguyên); Mẫu_số N (số tự nhiên). Nh vậy biểu thức 3/-4
sẽ đợc hiểu là thơng của hai số nguyên. Khi cài đặt, đôi khi ngời ta không chú ý
đến chuyện này, do vậy có thể mắc lỗi.
Lỗi thứ 4: Lỗi bỏ xót các chức năng. Lỗi này các nhà phát triển phần mềm cũng
hay mắc phải, do điều kiện thời gian và chuyên môn có hạn, đôi khi các chức năng
không thể đợc đa ra một cách đầy đủ. Lỗi này có thể đợc hạn chế (không phải là
khắc phục tất cả) qua thời gian làm việc nhiều hơn với khách hàng, do vậy mà ta có thể

biết đợc nhiều thông tin hơn.
Ví dụ: Khi thực hiện các phép toán với Phân_số ta quên rút gọn phân số; không
khởi tạo; kiểm tra phép chia cho số 0,
Một khía cạnh khác nữa, đối với việc thiết kế hớng đối tợng (sẽ nghiên cứu
sau), ta cần phải tuân theo nguyên lý về hớng đối tợng (chủ yếu là tính che dấu
thông tin và kế thừa): ta phải biết cách để truy nhập đến từng thành phần của đối tợng.
Lỗi thứ 5: Lỗi tại các đối tợng chịu tải. Lỗi xảy ra tại các hàm hoặc các thủ tục
cấp thấp xây dựng lên các thủ tục khác. Lỗi này cũng là một lỗi nặng, có thể kéo theo
sai xót ở một loạt các hàm hoặc thủ tục khác.
Xét về nguyên lý và mức độ lỗi thì lỗi nặng nhất vẫn là ở ý đồ thiết kế sai hoặc là
ở thủ tục chịu tải mức thấp nhất. Xét ví dụ sau: Giả sử ta cần thực hiện các phép toán
trên một đối tợng Phân_số. Khi đó cần thực hiện các phép toán + (cộng), - (trừ), *
Th.S. Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải

Bài giảng môn học Công nghệ phầm mềm Trang 19
(nhân), / (chia). Để thực hiện phép +, - thì ta cần gọi thủ tục tìm BSCNN, thủ tục này
lại phải gọi tới thủ tục tìm USCLN để lấy tích chia cho USCLN; các phép toán + - * /
phải rút gọn USCLN. Nh vậy ở đây có các đối tợng chịu tải có mức độ khác nhau và
thủ tục USCLN chịu tải nhiều nhất (thủ tục ở cấp thấp nhất).
Nh vậy, nếu nh trong quá trình thiết kế
hay thực hiện cài đặt thủ tục USCLN mà có lỗi
thì lỗi đó sẽ ảnh hởng đến toàn bộ hệ thống
của chúng ta.

+ - *
/
USCLN
BSCNN Rút gọn




Lỗi thứ 6: Lỗi lây lan. Đây là lỗi do virus có thể lây từ chơng trình này sang
chơng trình khác. Ví dụ, nếu trong th viện có một chơng trình bị lỗi. Nếu ta gọi thủ
tục này thì sẽ có lỗi.
Lỗi thứ 7: Lỗi cú pháp. Lỗi này sinh ra do việc viết sai các quy định về văn phạm.
Những lỗi này thờng đợc chơng trình dịch thông báo ngay khi dịch theo nguyên lý
an toàn: các lỗi nhỏ nhất cũng phải đợc xử lý ngay khi dịch đến đó.
Lỗi thứ 8: Lỗi do hiệu ứng phụ. Lỗi xảy ra do việc sử dụng hàm, thủ tục hay
chơng trình con, có các phép tính biến đổi chơng trình con nằm ngoài ý muốn của
ngời lập trình. Xét ví dụ sau:
Var x, y, z : real;
Function FF : real;
Begin
X := 10 + 2*x;
FF := x + y/5;
End;
Begin
Write(' x = '); readln(x);
Write(' y = '); readln(y);
Z := FF;
Writeln(' 10 + 2*', x, '+', y, '/5 = ', z);
End.

Chơng trình sai là do x là biến toàn cục nên nó tác động trên toàn bộ chơng
trình. Có nhiều cách sửa bằng cách sửa chơng trình bằng cách thêm biến phụ hoặc
biến địa phơng. Hay bằng cách chuyển đổi lại cách in ra (vì kết quả vẫn đúng). Để
tránh hiệu ứng phụ ta cần phải tuân theo:
Th.S. Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải

Bài giảng môn học Công nghệ phầm mềm Trang 20

Tất cả các biến đợc khai báo ở trong chơng trình con đều là biến địa phơng.
Tất cả các tham biến hình thức đợc truyền theo tham trị trong chơng trình con
dù có trùng tên với biến toàn cục cũng không làm thay đổi giá trị của biến toàn
cục.
Đối với các phép tính làm thay đổi giá trị của biến thì phải dùng biến phụ.
2.3. Các tiêu chuẩn của một sản phẩm phần mềm.
2.3.1. Sản phẩm phần mềm là gì?
Sản phẩm phần mềm là một hoặc một nhóm các chơng trình đợc xây dựng để
giải quyết một vấn đề nào đó. Ví dụ: chơng trình quản lý hoạt động của máy móc và
các chơng trình ứng dụng.
2.3.2. Nhóm các sản phẩm hiện có.
Hiện nay ngời ta phân chia thành 7 nhóm phần mềm chính.
Nhóm 1: Phần mềm hệ thống.
Là một tập hợp các chơng trình đợc viết để phục vụ cho các chơng trình khác.
Chơng trình này xử lý các thông tin phức tạp nhng xác định cấp thấp, tạo môi trờng
hoạt động (trình biên dịch, trình soạn thảo, quản lý tệp tin, ).
Các chơng trình này đặc trng bởi tơng tác chủ yếu với phần cứng máy tính,
phục vụ nhiều ngời dùng, có cấu trúc dữ liệu phức tạp và nhiều giao diện ngoài.
Nhóm 2: Phần mềm thời gian thực.
Là phần mềm điều phối hoặc phân tích hay kiểm soát các sự kiện thế giới thực
ngay khi chúng xuất hiện.
Phần mềm thời gian thực bao gồm các yếu tố:
Một thành phần thu thập dữ liệu để thu và định dạng thông tin từ bên ngoài.
Một thành phần phân tích để biến đổi thông tin theo yêu cầu của ứng dụng.
Một thành phần kiểm soát hoặc đa ra các đáp ứng cho môi trờng ngoài.
Một thành phần điều phối để điều hoà các thành phần khác sao cho có thể duy
trì việc đáp ứng thời gian thực.
Hệ thống thời gian thực phải đáp ứng đợc những ràng buộc thời gian chặt chẽ.

Nhóm 3: Phần mềm nghiệp vụ.

Th.S. Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải

Bài giảng môn học Công nghệ phầm mềm Trang 21
Ngày nay, xử lý thông tin nghiệp vụ là lĩnh vự ứng dụng phần mềm lớn nhất.
Phần mềm loại này phục vụ cho các hệ thống rời rạc: hệ thông tin quản lý. Các ứng
dụng phần mềm nghiệp vụ còn bao gồm cả tính toán tơng tác (nh xử lý các giao tác
cho các điểm bán hàng) ngoài ứng dụng xử lý dữ liệu.
Nhóm 4: Phần mềm khoa học công nghệ.
Phần mềm này đợc đặc trng bởi các thuật toán. Phần mềm tạo ra một ứng dụng
mới, thiết kế có máy tính trợ giúp (computer aided of design - CAD), có chú ý đến các
đặc trng thời gian thực và phần mềm hệ thống.
Nhóm 5: Phần mềm nhúng.
Nằm trong bộ nhớ chỉ đọc và đợc dùng để điều khiển các sản phẩm và hệ thống
cho ngời dùng và thị trờng công nghiệp. Có thể thực hiện các chức năng đơn giản
nhng mang tính chuyên biệt (huyền bí), ví dụ: điều khiển chức năng cho lò vi sóng;
hay có thể đa ra các khả năng điều khiển và vận hành (chức năng số hoá ở ô-tô, kiểm
soát xăng, biểu thị bảng đồng hồ, các hệ thống phanh).
Nhóm 6: Phần mềm máy tính cá nhân.
Loại phần mềm này bùng nổ trong hơn thập kỷ vừa qua (nh xử lý văn bản, trang
tính, đồ hoạ, quản trị cơ sở dữ liệu). Hiện nay đợc tiếp tục phát triển biểu thị giao diện
ngời máy, tạo ra sự thân thiện, dễ sử dụng cho ngời dùng.
Nhóm 7: Phần mềm trí tuệ nhân tạo.
Dùng các thuật toán phi số để giải quyết các vấn đề phức tạp mà tính toán hay
phân tích trực tiếp đều không thể quản lý nổi. Phần mềm này hoạt động mạnh ở hệ
chuyên gia (hệ cơ sở tri thức); trong lĩnh vực nhận dạng và xử lý hình ảnh và âm thanh;
chứng minh các định lý và chơi trò chơi. Hiện nay phát triển mạnh mạng nơ-ron nhân
tạo: mô phỏng cấu trúc việc xử lý trong bộ não của con ngời.
2.3.3. Các tiêu chuẩn của một sản phẩm phần mềm hiện có.
Ngời ta xác định một số tiêu chuẩn để đánh giá một sản phẩm phần mềm.
Tiêu chuẩn 1: Tính đúng đắn.

Các sản phẩm phần mềm phải thực hiện đợc chính xác các mục tiêu đợc đặt ra
ở giai đoạn thiết kế, không bị treo máy hoặc ra kết quả sai đối với bộ dữ liệu nằm trong
phạm vi yêu cầu. Để đạt đợc yêu cầu này, các sản phẩm phần mềm trớc hết phải có
thuật toán đúng và chơng trình tình phải tơng ứng với thuật toán.
Tiêu chuẩn 2: Tính khoa học.
Th.S. Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải

Bài giảng môn học Công nghệ phầm mềm Trang 22
Tính khoa học về cấu trúc: Các sản phẩm phần mềm đợc chia thành các đơn vị
nhỏ cân đối và có quan hệ hữu cơ không trùng lặp và có thể tổ hợp từng nhóm để tạo ra
các chức năng mới. Thuật toán và chức năng đợc xây dựng một cách có cấu trúc.
Tính khoa học về nội dung: Thuật toán đợc xây dựng dựa trên những thành tựu
mới của toán học và tin học. Các chơng trình phải đợc xây dựng trên các ngôn ngữ
lập trình mới và phổ dụng.
Tính khoa học về hình thức thao tác: Mỗi lệnh của chơng trình cần phải đợc
tối u. Muốn vậy, các lệnh phải đợc xây dựng một cách hợp lý, logic và phù hợp với
t duy tự nhiên của ngời sử dụng. Các lỗi phải đợc thông báo một cách rõ ràng (lỗi
số bao nhiêu, vị trí lỗi, nội dung lỗi, cách khắc phục).
Tiêu chuẩn 3: Tính hữu hiệu. Thể hiện ở các mặt sau:
Hữu hiệu về kinh tế: Có giá trị kinh tế hoặc có ý nghĩa giá trị thu đợc khi áp
dụng sản phẩm đó.
Hữu hiệu về tốc độ xử lý: Có số lợng lớn các đối tợng đợc xử lý trong một đơn
vị thời gian. Lợng tối đa của sản phẩm quản lý đợc (ví dụ: trong Excel quản lý đợc
65536 bản ghi, FoxPro quản lý đợc 255 trờng).
Hữu hiệu về dung lợng bộ nhớ. Tốn càng ít càng tốt.
Tiêu chuẩn 4: Tính sáng tạo.
Sản phẩm phải mới mẻ và độc đáo. Nếu phát triển trên cái cũ thì phải tiếp theo
đợc những cái hay của nó đồng thời phải cung cấp đợc các chức năng mới tốt hơn so
với cái đã có.
Tiêu chuẩn 5: Tính an toàn.

Sản phẩm phần mềm phải có cơ chế bảo mật chống xâm phạm, sao chép trộm và
làm biến dạng chơng trình. Có cơ chế bảo vệ đối tợng mà nó phát sinh và quản lý, có
cơ chế hồi phục khi có sự cố.
Tiêu chuẩn 6: Tính đầy đủ và toàn vẹn.
Sản phẩm thực hiện đợc đầy đủ yêu cầu của khách hàng. Các chức năng phải có
tính đối xứng, nghĩa là: có tạo lập thì có xoá bỏ, có mở thì có đóng, có tiếp theo thì
cũng cho phép trở về,
Tiêu chuẩn 7: Tính độc lập với các thiết bị.
Sản phẩm có thể sử dụng trên nhiều loại máy khác nhau và sử dụng nhiều các
thiết bị đi kèm khác nhau. Độc lập cả với cấu trúc của đối tợng mà nó phát sinh ra.
Tiêu chuẩn 8: Tính phổ dụng.
Th.S. Nguyễn Thế Cờng - Khoa CNTT - Đại học Hàng hải

×