Bài giảng kỉ nghệ phần mềm

252 33 0
Bài giảng kỉ nghệ phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Hà Nội 8/2002 Nhập môn Kĩ nghệ phần mềm Biên soạn Ngô Trung Việt Nguyễn Kim Ánh 499 500 499 500 2.1.7 Mơ hình phát triển tương tranh 63 2.2 Phát triển dựa theo cấu phần 66 2.3 Kĩ thuật hệ thứ tư 68 Mục lục Giới thiệu Phần Tổng quan kĩ nghệ phần mềm 1.1 Khoa học, kĩ nghệ Thủ công 1.2 Kĩ nghệ phần mềm 1.3 Tiến hoá phần mềm 1.4 Qui trình phần mềm 1.5 Về cách giải vấn đề 1.5.1 Từ lập trình lên… 1.5.2 Vấn đề, giải pháp giải vấn đề 1.5.3 Vòng đời 1.5.4 Chu kì pha phát triển 1.5.5 Chu kì pha lặp 11 11 16 20 23 24 24 29 36 41 43 Phần Các mơ hình phát triển phần mềm 2.1 Mơ hình tiến trình phần mềm 2.1.1 Mơ hình tuyến tính 2.1.2 Mơ hình làm mẫu 2.1.3 Mơ hình RAD 2.1.4 Mơ hình tiến trình phần mềm tiến hố 2.1.5 Mơ hình tăng dần 2.1.6 Mơ hình xốy ốc 46 46 48 52 54 57 58 60 Phần Các khái niệm quản lí dự án 3.1 Phổ quản lí 3.1.1 Con người 3.1.2 Sản phẩm 3.1.3 Tiến trình 3.1.4 Dự án 74 75 75 76 77 77 3.2 Con người 3.2.1 Người tham dự 3.2.2 Người lãnh đạo tổ 3.2.3 Tổ phần mềm 3.2.4 Vấn đề phối hợp trao đổi 78 81 82 83 91 3.3 Sản phẩm 92 3.3.1 Phạm vi phần mềm 92 3.3.2 Phân tách vấn đề 93 3.4 Tiến trình 94 3.4.1 Trộn lẫn sản phẩm tiến trình 94 3.4.2 Phân tách tiến trình 95 499 3.5 Dự án 96 Phần Kĩ nghệ phần mềm truyền thống 4.1 Kĩ nghệ hệ thống 4.1.1 Hệ thống dựa máy tính 98 98 99 500 4.1.2 Hệ thống cấp bậc kĩ nghệ hệ thống 4.1.3 Kĩ nghệ tiến trình nghiệp vụ: Tổng quan 4.1.4 Kĩ nghệ sản phẩm: tổng quan 4.1.5 Kĩ nghệ yêu cầu 4.1.6 Mơ hình hố hệ thống 4.1.7 Tóm tắt 102 107 112 114 123 124 4.2 Nền tảng phân tích yêu cầu 4.2.1 Phân tích yêu cầu 4.2.2 Lĩnh vực vấn đề 4.2.3 Kĩ thuật trao đổi 4.2.4 Nguyên lí phân tích 4.2.5 Làm mẫu phần mềm 4.2.6 Đặc tả 4.2.7 Kiểm điểm đặc tả 4.2.8 Tóm tắt 126 127 132 134 136 140 146 155 158 4.3 Phương pháp luận phát triển truyền thống 4.3.1 Vai trò tổ chức phát triển hệ thống 4.3.2 Mơ hình phát triển hệ thống 4.3.3 Vòng đời phần mềm 159 159 162 169 4.4 Phân tích yêu cầu phương pháp thiết kế 184 4.4.1 Phương pháp lập biểu đồ 184 4.4.2 Lập biểu đồ phân tích/thiết kế 188 4.4.3 Phương pháp thiết kế 195 4.5 Ngơn ngữ lập trình 4.5.1 Thuộc tính chương trình 4.5.2 Kiểu liệu 4.5.3 Cấu trúc điều khiển 4.5.4 Phân tích cú pháp 212 212 214 215 219 499 4.5.5 Phân loại ngôn ngữ lập trình 4.5.6 Kiểu đặc trưng ngôn ngữ lập trình 226 233 4.6 Kĩ thuật lập trình 4.6.1 Mơ thức lập trình 4.6.2 Phong cách lập trình 4.6.3 Dùng xử lí ngơn ngữ 4.6.4 Mơi trường lập trình 244 244 249 251 253 4.7 Kiểm thử 255 4.7.1 Tổng quan kiểm thử 255 4.7.2 Kiểm thử đơn vị 256 4.7.3 Kiểm thử tích hợp 257 4.7.4 Kiểm thử hệ thống 266 4.7.5 Các kiểm thử khác 268 4.7.6 Kế hoạch nhiệm vụ kiểm thử 269 4.7.7 Phương pháp kiểm điểm 276 4.7.8 Thiết kế kiểm thử phương pháp quản lí 278 Phần Kĩ nghệ phần mềm hướng vật 5.1 Giới thiệu cách tiếp cận hướng vật 5.1.1 Khủng hoảng phần mềm 5.1.2 Cách tiếp cận hướng vật 5.1.3 Làm tài liệu lớp 5.1.4 Các hoạt động phân tích thiết kế 5.1.5 Thiết kế sở liệu 5.1.6 Thiết kế giao diện người 5.1.7 Tóm tắt 282 282 282 291 306 307 312 314 318 5.2 Tổng quan UML 322 5.2.1 Kiến trúc 322 500 5.2.2 Siêu mơ hình 5.2.3 Góc nhìn kiến trúc biểu đồ 5.2.4 Cơ chế 5.2.5 Vấn đề, giải pháp giải vấn đề 5.2.6 Vấn đề giải pháp 5.2.7 Giải vấn đề 5.2.8 Chu kì lặp pha 5.2.9 Chi tiết UML 5.2.10 Tiến trình sử dụng UML 328 331 333 338 340 344 346 348 374 /nguồn phục vụ 443 6.4.3 Thiết kế cho hệ thống khách/nguồn phục vụ 445 6.5 Kĩ nghệ Web 6.5.1 Các thuộc tính ứng dụng dựa Web 6.5.2 Một khuôn khổ cho kĩ nghệ Web 6.5.3 Phát biểu/phân tích hệ thống dựa Web 6.5.4 Thiết kế ứng dụng dựa Web 6.5.5 Kiểm thử ứng dụng dựa Web 6.5.6 Vấn đề quản lí Phần Các chủ đề nâng cao Kĩ nghệ phần mềm 402 Phương pháp hình thức 402 Kĩ thuật đặc tả hình thức 403 6.2 Kĩ nghệ phần mềm phòng 6.2.1 Cách tiếp cận phòng 6.2.2 Đặc tả chức 6.2.3 Thiết kế phòng 6.2.4 Kiểm thử phòng 6.2.5 Tóm tắt 407 408 410 414 414 416 6.3 Kĩ nghệ phần mềm dựa cấu phần 6.3.1 Kĩ nghệ hệ thống dựa cấu phần 6.3.2 Tiến trình CBSE 6.3.3 Kĩ nghệ miền 6.3.4 Phát triển dựa cấu phần 6.3.5 Phân loại tìm kiếm cấu phần 6.3.6 Tóm tắt 418 418 419 421 422 430 434 6.4 Kĩ nghệ phần mềm khách/ nguồnphục vụ 435 6.4.1 Cấu trúc hệ thống khách/phục vụ 435 6.4.2 Kĩ nghệ phần mềm cho hệ thống khách 499 500 453 453 455 456 459 469 472 Giới thiệu Kĩ nghệ phần mềm vấn đề thời đại cho người quản lí hành nghề CNTT cần hiểu áp dụng vào thực tế phát triển sản phẩm CNTT Kĩ nghệ phần mềm giúp cho người có nhiều hiểu biết hơn, cung cấp tảng cần để xây dựng sản phẩm hệ thống chất lượng cao kỉ thứ hai mươi mốt Có thể nói kĩ nghệ phần mềm lĩnh vực tri thức kinh nghiệm hệ thống hoá để giúp cho người làm việc theo cách có phối hợp, có bản, có kỉ luật hoạt động sáng tạo sản phẩm mang tính kĩ nghệ, cơng nghiệp Sự phát triển xã hội lồi người từ sản xuất nơng nghiệp tiểu thủ công qua sản xuất công nghiệp Đặc trưng bước phát triển việc đưa vào cách làm việc công nghiệp, tạo dây chuyền sản xuất máy móc đóng vai trò làm sản phẩm hàng loạt nhau, cung cấp sản phẩm theo qui mô lớn cho xã hội Con người bị gắn vào qui trình cơng nghiệp trở thành phận Ngày lại chứng kiến việc chuyển biến kinh tế chuyển từ sản xuất công nghiệp sang sản xuất thông tin tri thức Đặc trưng bước phát triển việc khơi phục trở lại vai trò sáng tạo trung tâm người hoạt động kinh tế sản xuất Khác với sản xuất công nghiệp lấy máy móc làm động lực cho sản xuất, sản xuất thông tin tri thức lấy người sáng tạo làm động lực cho việc thay đổi kết cấu tiến trình sản xuất máy móc, để từ tạo sức sản xuất với qui mơ tồn cầu trình độ tổ chức cao 499 Chúng ta đứng trước đòi hỏi lớn lao làm chuyển đổi cách suy nghĩ làm việc người để bước vào kinh tế thông tin tri thức, tảng cơng nghiệp chưa thiết lập vững Điều đưa tới việc cần nhanh chóng tạo dựng tác phong kĩ nghệ, tác phong làm việc công nghiệp phát triển cơng nghiệp CNTT nói riêng, kinh tế nói chung Do kĩ nghệ phần mềm trở thành đòi hỏi khơng thể thiếu tri thức cần trang bị cho lực lượng lao động Cuốn sách biên soạn với mục đích trình bày nét yếu kĩ nghệ phần mềm, nhằm giúp cho bạn đọc có mắt tổng quan tiếp cận tới vấn đề Những vấn đề có tính lí thuyết không đề cập tới nhiều Tuy nhiên tài liệu tóm lược tồn diện vấn đề kĩ nghệ phần mềm cần thiết cho người làm quen với lĩnh vực Tài liệu sử dụng để biên soạn sách rút từ giảng khoá học Khởi động kĩ nghệ phần mềm tiến hành Khu công nghệ cao Hoà Lạc tháng 11/2001, số tư liệu tài liệu đào tạo kĩ sư CNTT Nhật sách “Kĩ nghệ phần mềm: cách tiếp cận người thực hành” Roger Pressman Chúng hi vọng tài liệu cung cấp cho bạn đọc góc nhìn bao qt lĩnh vực quan trọng cần triển khai rộng rãi Việc biên soạn vấn đề không tránh khỏi có nhiều thiếu sót hạn chế, mong độc giả đồng nghiệp bổ sung đóng góp thêm Hà Nội tháng 8/2002 500 Phần Tổng quan kĩ nghệ phần mềm Công nghệ, hiểu tập hợp kĩ thuật dùng ngành đó, có sở khoa học thống Cơng nghệ phần mềm hiểu gồm nhiều loại công nghệ tạo phần mềm khác nhau, cơng nghệ có nhiều kĩ thuật làm phần mềm khác Công nghệ thông tin (CNTT) hiểu bao gồm số vấn đề công nghệ điện tử, công nghệ máy tính, cơng nghệ viễn thơng, cơng nghệ phần mềm, cơng nghệ quản lí Một đặc điểm CNTT việc công nghệ dựa chuẩn có người am hiểu cơng nghệ sử dụng Kĩ nghệ (engineering) nói tới tập hợp cơng nghệ bố trí theo qui trình định, người dùng phương pháp thực qua công cụ để tạo sản phẩm định 1.1 Khoa học, kĩ nghệ thủ công Kĩ nghệ việc sử dụng phối hợp công nghệ cần thiết để sản xuất sản phẩm ngành (nguyên nghĩa từ kĩ nghệ khí, engine máy) Các định nghĩa Ba vấn đề cần xem xét liên quan tới kiến thức nói chung là: khoa học, công nghệ kĩ nghệ Khoa học (science) hệ thống tri thức người khám phá từ tiến trình tự nhiên hay hoạt động Khoa học tập trung vào tìm hiểu qui luật thực tế, nghiên cứu khả mô qui luật thực tế để từ nêu nguyên tắc cho người chế tạo phương tiện thiết bị Cơng nghệ (technology) nói tới cách thức, phương pháp người phát minh để làm việc đó, cụ thể hay trừu tượng Công nghệ sử dụng thành tựu khoa học để tác động vào giới vật chất lượng, thông tin 499 Cần phân biệt công nghệ nói đến kĩ thuật phát triển cho loại vấn đề đó, kĩ nghệ nói tới qui trình nghiêm ngặt phối hợp cơng nghệ, phương pháp công cụ để làm sản phẩm có chất lượng Triển khai tiếp số khái niệm liên quan xét thêm: kĩ thuật cơng nghiệp Kĩ thuật (technique) có nghĩa hẹp cách thức tiến hành công việc - kĩ thuật phần mềm bao gồm kĩ thuật kĩ thuật viết hệ điều hành, kĩ thuật làm chương trình điều khiển v.v Cơng nghiệp (industry) chữ bao trùm ngành lớn, bên cạnh yếu tố kĩ nghệ có thêm khía cạnh kinh tế, tài chính, tổ chức xã hội v.v Chẳng hạn công nghiệp xe hơi, kĩ nghệ (sản xuất) - sản xuất để ngoặc kĩ nghệ 500 hàm ý sản xuất - xe sử dụng đến kĩ thuật đúc, hàn cơng nghệ khí đến kĩ thuật làm lốp xe cơng nghệ cao su Khía cạnh công nghệ thường cách thức kĩ thuật để tạo sản phẩm cụ thể dạy đại học, khía cạnh khác kĩ nghệ phần mềm, dùng xemina ngắn ngày để bổ sung dùng "việc huấn luyện công việc" chủ yếu, nói tới việc thực hành tiến trình sản xuất phần mềm theo qui tắc, kỉ luật Để chế tạo sản phẩm thích hợp, cần phải xác định yêu cầu sản phẩm từ xác định tiến trình kĩ nghệ chế tạo tương ứng Tiến trình kĩ nghệ tổ hợp yếu tố người công nghệ hoạt động quản lí chung để cuối đưa tới chế tạo sản phẩm đáp ứng yêu cầu ban đầu đặt Nhưng để có sản phẩm thực tế, cần có cách thức tổ chức phối hợp hoạt động nhóm người nguồn tài nguyên, tài lực, theo tiến trình kĩ nghệ Cho nên điều cần đề cập tới nói tới kĩ nghệ phần mềm việc quản lí dự án làm sản phẩm Và để quản lí được, để phối hợp hoạt động sáng tạo theo qui trình đặt ra, người ta cần có ngơn ngữ chung mơ tả cho hoạt động tiến trình dự án Trong sách tập trung vào loại sản phẩm đặc biệt - phần mềm máy tính Từ vấn đề vừa trình bầy, rõ ràng để chế tạo sản phẩm phần mềm theo qui mơ kĩ nghệ người tham gia vào q trình cần có hiểu biết tối thiểu về: - tiến trình làm phần mềm cách quản lí tiến trình cách thể ghi chép lại kết phát sinh tiến trình 499 - công nghệ cụ thể thực công đoạn tiến trình làm phần mềm Tuy nhiên, trước vào chi tiết việc chế tạo phần mềm máy tính, xem xét số vấn đề chung tiến hoá kĩ nghệ phần mềm Kĩ nghệ thủ cơng Đặc điểm sản phẩm thủ công không phức tạp, chất lượng khơng Sản phẩm làm tốt, chất lượng cao, tuỳ người làm, trung bình, Mặt khác nhiều người làm chung với nhau, có nhiều người làm chung người làm việc giống nhau, hàng nghìn người đào đất đắp đê chẳng hạn Như công việc sản xuất sản phẩm thủ công không nhiều người làm, làm khơng nhanh đầu tư Trái lại, kĩ nghệ luôn nhằm sản phẩm phức tạp, nhằm tạo sản phẩm chất lượng cao không nhằm chất lượng cao, cá nhân trung bình làm Kĩ nghệ nhằm đạt mục đích sản xuất nhanh sản phẩm phức tạp, nhằm sản xuất tập thể, theo qui trình chặt chẽ Kĩ nghệ sẵn sàng đầu tư cao nhiều so với thủ công Và kĩ nghệ có thừa hưởng giai đoạn lịch sử lâu đời thủ công Cái máy dệt đại sử dụng số nguyên tắc mà người ta khám phá từ thời thủ cơng Tiến hố kĩ nghệ Kĩ nghệ phát triển lich sử loài người kĩ nghệ khí, có từ nhiều kỉ Lấy thí dụ, nhu cầu thực tế giao thơng đặt vấn đề xây dựng cầu cống qua sông Trước tiên người ta phải mô tả tính cần thiết cho cầu dự định xây dựng (chiều dài, chiều rộng, tải trọng) phải 500 biết "làm được" công nghệ có Bộ mơn thiết kế cầu kiến trúc sư kĩ sư khí, nhà xây dựng hiểu rõ Đặc điểm chung hoạt động kĩ nghệ người tham dự vào dự án kĩ nghệ phải có hiểu biết chung phần cơng việc mối liên hệ với cơng việc tồn thể nhóm Tất phải có khả đọc tài liệu kĩ nghệ quản lí (bản kế hoạch tổng thể, biểu đồ công việc găng, bảng phân việc, sơ đồ Gantt) Hoạt động kĩ nghệ đòi hỏi có mục tiêu/cột mốc thiết lập rõ ràng để đạt tới hồn cảnh thơng thường Mặt khác dự án kĩ nghệ thực với tổ chức có nhân viên có kĩ Điều có nghĩa cần tập trung người có đủ phẩm chất chun mơn vào việc hồn thành nhiệm vụ kĩ nghệ Do phát sinh nhu cầu phối hợp hoạt động nhiều người mang chức chun mơn khác Thường có hai loại người tham gia vào dự án kĩ nghệ: kĩ sư-kiến trúc sư nhà chuyên môn Trong dự án kĩ nghệ cần có kiến trúc sư có bằng, đào tạo bản, biết rõ nguyên tắc kĩ thuật qui trình làm việc: kĩ sư khí/kết cấu, kĩ sư dân dụng, người quản trị dự án v.v Mặt khác dự án kĩ thuật cần chuyên gia có chứng chỉ, người chuyên môn hoạt động sản xuất: thợ hàn, thợ bê tông v.v 1.2 Kĩ nghệ phần mềm Kĩ nghệ phần mềm gì? IEEE - hiệp hội người kĩ sư điện điện tử Mĩ, năm 1990 đề nghị định nghĩa kĩ nghệ phần mềm sau: 499 Kĩ nghệ phần mềm áp dụng cách có hệ thống kỉ luật phương pháp định lượng khâu phát triển, vận hành, bảo trì phần mềm Tức áp dụng nguyên tắc kĩ nghệ vào phần mềm Tại lại có kĩ nghệ phần mềm? Thứ phần mềm số nhỏ người viết, vài người viết vòng vài tháng Nhưng đến hệ phần mềm lớn hệ DOS IBM hay hệ mềm dùng cho chương trình khơng gian Mĩ, khơng phải vài người vài tháng mà hàng trăm người nhiều năm, mười năm Hệ mềm chương trình điều khiển viễn thơng, cơng ti quốc tế có 3, nhóm làm việc 3, nước khác nhau, nhóm hai, ba trăm người Chương trình điều khiển tổng đài điện thoại bán khắp nơi giới phát triển vòng năm, bao gồm hàng chục nghìn đơn vị người làm Số người tham gia phát triển đông tới vài trăm, thời gian phát triển sản phẩm lâu thời gian sử dụng chúng lâu Và phần mềm không giữ nguyên cả, thay đổi Nhu cầu người sử dụng ngày tăng, máy móc thiết bị điện tử ngày rẻ ngày làm nhiều chuyện Bởi người ta thấy cần phải có phương pháp tương đối kỉ luật cần có ngơn ngữ chung để trao đổi làm sản phẩm Và cần có kĩ nghệ phần mềm khách hàng đòi hỏi phương pháp ngơn ngữ Nếu có ngơn ngữ mơ tả chung khách hàng hiểu ngơn ngữ nắm sản phẩm tốt Kĩ nghệ phần mềm có ích lợi gì? Có vấn đề quan trọng cho nước phát triển nước phát triển phát triển nhanh Và phát triển có nghĩa thay đổi Những qui trình sản xuất vật phẩm, quản lí sở thơng tin quan, doanh nghiệp, nước phát triển cần thay đổi 500 nhanh theo tiến độ thay đổi Và thay đổi muốn thay đổi nhanh phải sẽ, phải vng tròn đâu Thêm bớt khơng ảnh hưởng đến chuyện khác Tức phải làm sản phẩm phần mềm sẽ, tiêu chuẩn công nghệ Một vấn đề khác để làm gia cơng cho người khác phải học hỏi cách làm giới Nếu làm gia công cho người khác nên biết người khác chờ đợi người kĩ sư phần mềm hiểu biết gì, phương pháp làm việc Người làm phần mềm từ hai ba chục năm thị trường trở thành loại sản phẩm quí Họ thay đổi công việc luôn, họ tới công ti tham dự chừng 4-5 năm, làm xong việc rồi, lại chuyển sang chỗ khác, việc khác Sản phẩm họ để lại người tiếp khác tiếp thu được? Cho nên phải có ngơn ngữ, cách trình bày chung để sản phẩm độc lập với người sản xuất Đó nguyên tắc tuyệt đối kinh tế thị trường: Sản phẩm người sản xuất độc lập với Làm việc tập thể làm việc riêng nhóm năm mười người Sản phẩm phải phù hợp với yêu cầu sản phẩm người nghĩ làm bán Trong thực tế, có trường hợp cá nhân xuất sắc nghĩ sản phẩm sau sản phẩm tràn ngập thị trường Ví dụ rõ trang tính điện tử mà người ta quen với tên Excel Đó sáng tác cá nhân người khơng phải chun gia tin học, người làm kế toán Anh ta thấy cần làm việc làm máy tính, đơn giản: chia cột chia hàng thực tính tốn Một ý kiến giản dị phải có người nêu ý kiến Nhưng trường hợp đặc biệt Thông thường muốn sản phẩm phù hợp u cầu phải có cơng tác tiếp thị Phải tiếp xúc với khách hàng lấy yêu cầu khách hàng Đấy khâu 499 khó áp dụng tin học, việc viết chương trình Người ta làm kĩ nghệ phần mềm? Người ta có số phương pháp phương pháp chưa phải chuẩn hoá Mọi người học tin học biết, máy tính vạn Nó vạn ý nghĩa người ta nghĩ cách giải vấn đề máy tính làm theo cách giải Điều nhà toán học người Anh Alain Turing chứng minh Như vạn vấn đề mơ tả rõ ràng giao cho máy tính thực Tuy nhiên lại khơng có phương pháp vạn để theo tự động máy tính giải tất vấn đề Máy tính tự động người ta trao cho máy mô tả cách làm rõ ràng Nhưng khơng có phương pháp vạn cho người để giải vấn đề Nếu có phương pháp vạn để viết phần mềm khơng cần người làm Như vậy, nói riêng khơng có phương pháp để viết phần mềm Phương pháp để viết phần mềm cho tính tốn xây dựng khác với phương viết phần mềm cho quản lí ngân hàng, khác với phương pháp viết phần mềm cho làm trang Web chẳng hạn Khơng có phương pháp tuyệt đối cho phần mềm Và cần nắm phương pháp tuỳ theo kinh nghiệm cụ thể Cần làm số phương pháp số miền vấn đề sau người làm phần mềm có kinh nghiệm chọn lựa phương pháp thích hợp bước đầu dự án Tuy nhiên có điều tương đối tốt số nhà làm phương pháp họp với đồng ý với để đưa gọi UML (Unified Modelling Language) - ngơn ngữ để mơ hình hố thống Họ thống với nhau, có 3-4 người gần họ có đồng thuận nghề với 500 lái việc quản lí liệu trở thành phức tạp nhiều hệ thống khách/nguồn phục vụ Cũng cần ý kĩ thuật phân bố quản trị liệu khác có sẵn cho người thiết kế:     Trích thủ cơng Người dùng phép chép thủ cơng liệu thích hợp từ nguồn phục vụ máy khách Cách tiếp cận có ích liệu tĩnh người dùng u cầu điều khiển việc trích để lại tay người dùng 6.4.3.4 Tổng quan cách tiếp cận thiết kế Porter gợi ý tập bước cho việc thiết kế tiến trình nghiệp vụ sơ cấp tổ hợp phần tử thiết kế qui ước với phần tử thiết kế hướng vật Nó giả thiết mơ hình yêu cầu xác định vật nghiệp vụ phát triển làm mịn trưúc bắt đầu việc thiết kế tiến trình nghiệp vụ sơ cấp Các bước sau dùng để suy thiết kế: Với tiến trình nghiệp vụ sơ cấp, nhận diện tệp tạo lập, cập nhật, tham chiếu hay xoá bỏ ảnh chụp nhanh Kĩ thuật tự động việc trích thủ cơng việc xác định "ảnh chụp nhanh" liệu phải truyền từ nguồn phục vụ sang khách khoảng xác định trước Cách tiếp cận có ích cho việc phân bố liệu tương đối tĩnh yêu cầu cập nhật không thường xuyên Dùng tệp nhận diện bước làm sở cho việc xác định cấu phần hay vật Tái tạo Kĩ thuật dùng nhiều liệu phải trì vị trí khác (như nguồn phục vụ hay khách khác nhau) Tại đây, mức độ phức tạp leo thang tính qn liệu, việc cập nhật, giữ an tồn, xử lí tất phải điều phối nhiều vị trí Xác định qui tắc có liên quan tới tiến trình phân tách qui tắc xuống mức phương pháp Phân mảnh Trong cách tiếp cận này, sở liệu hệ thống phân mảnh qua nhiều máy Mặc dầu hấp dẫn lí thuyết, việc phân mảnh khó cài đặt cách ngoại lệ thường không hay gặp Với cấu phần, tìm kiếm qui tắc nghiệp vụ thơng tin vật nghiệp vụ khác thiết lập cho tệp liên quan Khi yêu cầu, xác định cấu phần phụ cần tới để cài đặt cho phương pháp Porter gợi ý kí pháp biểu đồ cấu trúc (Hình 6.9) cho việc biểu diễn cấu trúc cấu phần tiến trình nghiệp vụ sơ cấp Tuy nhiên, cách kí hiệu khác lại dùng biểu đồ tuân thủ chất hướng vật phần mềm khách/nguồn phục vụ Tham chiếu tới hình vẽ này, ta thấy năm kí hiệu khác Thiết kế sở liệu và, đặc biệt hơn, thiết kế sở liệu cho hệ thống khách/nguồn phục vụ chủ đề bên phạm vi sách 499 500 Hình pháp biểu đồ cấu trúc cho cấu phần khách/nguồn 6.5.6.9KĩKínghệ Web phục vơ 6.5.1 Các thuộc tính ứng dụng dựa Web Sự Sựvật vật (cấu (cấuphần) phần) giao giaodiện diện ghép liệu Sự Sựvật vật (cấu (cấuphần) phần) cơsở sởdữ dữliệu liệu Hầu tranh luận hệ thống ứng dụng dựa Web (chúng ta gọi chung ứng dụng Web) khác với nhiều loại phần mềm máy tính khác thảo luận Chương Powell tóm tắt khác biệt ơng nói hệ thống dựa Web "bao gồm trộn lẫn việc xuất in ấn việc phát triển phần mềm, tiếp thị tính tốn, truyền thơng nội mối quan hệ bên ngồi, nghệ thuật cơng nghệ" Các thuộc tính sau thường hay gặp phải đại đa số ứng dụng Web: ghép điều khiển Sự vật (cấu phần) giao diện Dùng nhiều mạng Bởi chất nó, ứng dụng mạng chủ yếu dùng mạng Nó nằm mạng phải phục vụ nhu cầu cộng đồng khác hàng đa dạng Một ứng dụng mạng nằm Internet (do tạo khả truyền thơng tồn cầu mở) Như lựa chọn, ứng dụng đặt mạng nội (thực truyền thơng tồn tổ chức) mạng ngoại (truyền thông liên mạng) Điều khiển theo nội dung Trong nhiều trường hợp, chức ứng dụng Web dùng multimedia để trình bầy nội dung văn bản, đồ hoạ, âm thanh, video cho người dùng cuối Tiến hố liên tục Khơng giống phần mềm ứng dụng qui ước thường tiến hoá qua loạt việc đưa theo kế hoạch, theo khoảng thời gian, ứng dụng Web tiến hoá liên tục Điều thường thấy với số ứng dụng Web (đặc biệt nội dung chúng) cập nhật theo lịch hàng 499 500 Các đặc trưng ứng dụng Web sau hướng dẫn cho tiến trình: Ngay tức khắc Các ứng dụng Web có tính tức khắc khơng thấy có kiểu phần mềm Tức thời gian thị trường cho vị trí Web vấn đề vài ngày hay vài tuần Người phát triển phải dùng phương pháp cho lập kế hoạch, phân tích, thiết kế, cài đặt kiểm thử thích ứng cho lịch thời gian dồn nén cần cho việc phát triển ứng dụng Web nhu cầu áp dụng việc quản lí nguyên lí kĩ nghệ vững chãi trở thành quan trọng Để thực điều này, cần phát triển khuôn khổ kĩ nghệ Web bao gồm mơ hình tiến trình hiệu quả, đưa vào hoạt động khuôn khổ nhiệm vụ kĩ nghệ Mơ hình tiến trình cho kĩ nghệ Web gợi ý Hình 6.10 ThiÕt ThiÕtkÕ kÕ néi néidung dung An tồn Bởi ứng dụng Web có sẫn cho việc truy nhập mạng, nên khó, khơng nói khơng thể, giới hạn số người dùng cuối truy nhập vào ứng dụng Để bảo vệ nội dung nhạy cảm cung cấp mốt an toàn cho việc truyền liệu, biện pháp an toàn mạnh phải cài đặt qua toàn kết cấu hỗ trợ cho ứng dụng Web bên thân ứng dụng ThiÕt ThiÕtkÕ kÕ dÉn dÉnl¸i l¸i S¶n S¶nxt xt Thẩm mĩ Phần khơng thể chối bỏ hấp dẫn ứng dụng Web việc nhìn cảm nhận Khi ứng dụng thiết kế đưa thị trường hay bán sản phẩm hay ý tưởng, tính thẩm mĩ có nhiều điều cần quan tâm cho thành công thiết kế kĩ thuật Những đặc trưng tổng quát áp dụng cho ứng dụng Web với mức độ ảnh hưởng khác Các loại ứng dụng sau thường hay gặp cơng trình Web: Các đặc trưng hệ thống ứng dụng dựa Web có ảnh hưởng sâu sắc tới việc xử lí kĩ nghệ Web 6.5.2 Một khuôn khổ cho kĩ nghệ Web Khi ứng dụng Web tiến hố từ nguồn thơng tin tĩnh, hướng nội dung sang môi trường ứng dụng hướng người dùng, động, 499 ThiÕt ThiÕtkÕ kÕ kiÕn kiÕntróc tróc Hình 6.10 Mơ hình tiến trình kĩ nghệ Web ThiÕt ThiÕtkÕ kÕ giao giao diƯn diƯn Tiến trình kĩ nghệ Web bắt đầu với việc phát biểu - hoạt động nhận diện mục tiêu mục đích ứng dụng Web thiết lập phạm vi cho lần tăng Lập kế hoạch ước lượng chi phí dự án tổng thể, ước lượng rủi ro liên kết với nỗ lực phát triển, xác định lịch phát triển dần cho bước tăng ứng dụng Web ban đầu, với lịch kết tập thô cho bước tăng sau Phân tích thiết lập nên yêu cầu kĩ thuật cho ứng dụng Web nhận diện khoản mục nội dung tổ hợp vào Các yêu cầu thiết kế đồ hoạ (thẩm mĩ) xác định 500 Hoạt động chế tạo tổ hợp hai nhiệm vụ song song minh hoạ phía bên phải hình 6.10 Thiết kế nội dung sản xuất nhiệm vụ thành viên không kĩ thuật tổ kĩ nghệ Web phụ trách ý định nhiệm vụ thiết kế, sản xuất và/hoặc kiếm nội dung văn bản, đồ hoạ, âm video tích hợp vào ứng dụng Web Đồng thời, tập nhiệm vụ thiết kế kĩ thuật tiến hành thiết lập nên tập mục tiêu mục đích chung cho việc xây dựng ứng dụng Web Nó nhận diện phạm vi nỗ lực phát triển cung cấp phương tiện để xác định kết thành cơng Phân tích hoạt động kĩ thuật nhận diện yêu cầu liệu, chức hành vi cho ứng dụng Web Sinh trang hoạt động xây dựng dùng nhiều công cụ tự động cho việc tạo ứng dụng Web Nội dung xác định hoạt động chế tạo gộp với thiết kế kiến trúc, dẫn lái giao diện để tạo trang Web thực HTML, XML ngơn ngữ hướng tiến trình khác (như Java) Việc tích hợp với cấu phần phần (như CORBA, DCOM hay JavaBeans) thực hoạt động Kiểm thử cho phép luyện tập việc dẫn lái ứng dụng Web; cố gắng phát lỗi tiểu dụng, mẫu ; giúp đảm bảo ứng dụng Web vận hành mơi trường khác (như với trình duyệt khác nhau) Powell gợi ý tập câu hỏi nên trả lời vào lúc bắt đầu bước phát biểu: Mỗi bước tăng tạo phần tiến trình kĩ nghệ Web kiểm điểm đánh giá khách hàng Đây điểm mà thay đổi yêu cầu (việc mở rộng phạm vi xuất hiện) Những thay đổi tích hợp vào đường tiếp qua luồng tiến trình tăng dần 6.5.3 Phát biểu/phân tích hệ thống dựa Web Phát biểu phân tích hệ thống ứng dụng dựa Web biểu thị cho dãy hoạt động kĩ nghệ Web bắt đầu với việc nhận diện mục tiêu tổng thể cho ứng dụng Web kết thúc với việc phát triển mơ hình phân tích hay đặc tả yêu cầu cho hệ thống Việc phát biểu cho phép khách hàng người phát triển 499 6.5.3.1 Phát biểu  Động cho ứng dụng Web gì?  Tại ứng dụng Web lại cần tới?  Ai dùng ứng dụng Web? Câu trả lời cho câu hỏi đơn giản nên phát biểu đọng Một tất mục tiêu ứng dụng thơng tin nhận diện, lược sử người dùng xây dựng nên Lược sử người dùng thâu tóm "các tính có liên quan tới người dùng tiềm kể tảng họ, tri thức, sở thích nhiều thứ nữa." Một mục tiêu lược sử người dùng phát triển, hoạt động phát biểu hội tụ vào việc phát biểu phạm vi cho ứng dụng Web Trong nhiều trường hợp, mục tiêu phát triển lại tích hợp vào phát biểu phạm vi Tuy nhiên, bên cạnh đó, có ích mà mức độ tích hợp trơng đợi từ ứng dụng Web Tức thường cần tích hợp hệ thơng tin có (như ứng dụng sở liệu có) với đầu cuối dựa Web Vấn đề tính nối xem xét tới giai đoạn 500 6.5.3.2 Phân tích Các khái niệm nguyên lí thảo luận cho phân tích yêu cầu phần mềm áp dụng mà không cần xem xét lại cho hoạt động phân tích kĩ nghệ Web Phạm vi xác định hoạt động phát biểu trau chuốt thêm để tạo mô hình phân tích đầy đủ cho ứng dụng Web Bốn kiểu phân tích tiến hành kĩ nghệ Web: Phân tích nội dung Tồn phổ nội dung cần ứng dụng Web cung cấp nhận diện Nội dung bao gồm văn bản, đồ hoạ ảnh, liệu vi deo âm Việc mô hình hố liệu dùng để nhận diện mô tả vật liệu ddược dùng bên ứng dụng Web Phân tích tương tác Cách thức mà theo người dùng tương tác với ứng dụng Web mô tả chi tiết Các trường hợp sử dụng phát triển để cung cấp mô tả chi tiết tương tác Phân tích chức Các kịch sử dụng (trường hợp sử dụng) tạo phần phân tích tương tác xác định thao tác áp dụng cho nội dung ứng dụng Web kéo theo chức xử lí khác Tất thao tác chức mô tả chi tiết biện minh tiến hoá liên tục yêu cầu Web làm cho tài liệu trở thành lạc hậu trước hồn thành Mặc dầu điều trường hợp cực đoan, cần xác định mơ hình phân tích phục vụ làm tảng cho hoạt động thiết sau Tối thiểu, thông tin thu thập bốn nhiệm vụ phân tích trước nên xem xét lại, sửa đổi yêu cầu, tổ chức thành tài liệu mà truyền cho người thiết kế ứng dụng Web 6.5.4 Thiết kế ứng dụng dựa Web Bản chất tức khắc ứng dụng dựa Web kèm với sức ép tiến hoá liên tục buộc người kĩ sư Web phải thiết lập thiết kế giải vấn đề nghiệp vụ đồng thời phải xác định kiến trúc ứng dụng có khả tiến hố nhanh chóng qua thời gian Tất nhiên vấn đề chỗ việc giải vấn đề tức khắc (nhanh chóng) làm phát sinh thoả hiệp ảnh hưởng tới khả ứng dụng để tiến hoá theo thời gian Đây khó xử người thiết kế Để thực thiết kế dựa Web cách có hiệu quả, người thiết kế Web nên làm việc để dùng lại bốn phần tử kĩ thuật: Phân tích cấu hình Mơi trường kết cấu mà theo ứng dụng Web thường trú mơ tả chi tiết ứng dụng Web thường trú Internet, mạng nội hay mạng ngoại Bên cạnh đó, kết cấu (chẳng hạn kết cấu cấu phần mức độ theo sở liệu dùng để sinh nội dung) cho ứng dụng Web nên nhận diện giai đoạn Các nguyên lí phương pháp thiết kế Điều quan trọng cần lưu ý khái niệm nguyên lí thiết kế áp dụng cho ứng dụng Web Tính mơ đun hiệu (biểu lộ tính cố kết cao việc gắn thấp), che dấu thông tin, soạn thảo bước, trực cảm thiết kế phần mềm khác dẫn tới hệ thống ứng dụng dựa Web dễ thích ứng, nâng cao, kiểm thử sử dụng Mặc dầu đặc tả yêu cầu chi tiết khuyến cáo cho ứng dụng Web cỡ lớn, tài liệu hoi Có thể Phương pháp thiết kế cho hệ thống hướng vật thảo luận trước dùng lại ứng dụng Web 499 500 tạo Multimedia xác định "sự vật" tương tác qua giao thức truyền thông tương tự lỏng lẻo với việc truyền thơng báo Trong thực tế kí pháp biểu đồ đề nghị cho UML thích ứng cho việc dùng hoạt động thiết kế cho ứng dụng Web Bên cạnh đó, nhiều phương pháp thiết kế multimedia đề nghị Các qui tắc vàng Các ứng dụng multimedia tương tác (ứng dụng Web) xây dựng cho thập kỉ qua Qua thời gian đó, người thiết kế phát triển tập trực cảm thiết kế (các qui tắc vàng) mà áp dụng lại thiết kế ứng dụng Hình mẫu thiết kế Như lưu ý đầu sách này, hình mẫu thiết kế cách tiếp cận tổng quát để giải số vấn đề nhỏ thích ứng cho phạm vi vấn đề chuyên dụng rộng Trong hồn cảnh ứng dụng Web, hình mẫu thiết kế áp dụng khơng cho yếu tố chức ứng dụng mà cho tài liệu, đồ hoạ, điểm thẩm mĩ chung cho Web site Tiêu Tiêu dùng để cung cấp khuôn khổ khung cho hình mẫu thiết kế hay tài liệu dùng bên ứng dụng Web Mỗi bốn phần tử thiết kế thảo luận chi tiết mục tiếp sau 6.5.4.1 Thiết kế kiến trúc Thiết kế kiến trúc cho hệ thống ứng dụng dựa Web hội tụ vào việc xác định cấu trúc multimedia toàn thể ứng dụng Web ứng dụng hình mẫu thiết kế tiêu xây dựng để làm đầy cấu trúc (và đạt tới việc dùng lại) Một hoạt động song song, gọi thiết kế nội dung, dẫn cấu trúc tồn thể cách 499 bố trí chi tiết nội dung thơng tin trình bày phần ứng dụng Web Cấu trúc ứng dụng Web Cấu trúc kiến trúc tổng thể gắn với mục tiêu thiết lập cho ứng dụng Web, nội dung định trình bày, người dùng viếng thăm, triết lí dẫn lái thiết lập Người thiết kế kiến trúc chọn từ bốn cấu trúc khác phát triển thiết kế cho ứng dụng Web điển hình Cấu trúc tuyến tính (Hình 6.11) gặp phải dãy tương tác dự kiến trước (với vài biến thể hay phân li) thơng dụng Thí dụ cổ điển việc trình bày giảng trang thơng tin đồ hoạ có liên quan, đoạn video hay âm ngắn trình bày sau thông tin cần thiết trình bày Trình tự việc trình bày nội dung định trước nói chung tuyến tính Một thí dụ khác trình tự đưa vào đơn mua sản phẩm thơng tin riêng phải xác định theo trật tự đặc biệt Trong trường hợp vậy, cấu trúc vẽ hình 6.11 thích hợp Khi nội dung xử lí trở nên phức tạp hơn, luồng tuyến tính t vẽ bên trái hình vẽ nhường bước cho cấu trúc tuyến tính phức tạp mà nội dung khác gọi tới hay phân tán để thu nội dung phụ (cấu trúc vẽ bên phải Hình 6.11) xuất Cấu trúc lưới (Hình 6.12) tuỳ chọn kiến trúc mà áp dụng nội dung ứng dụng Web tổ chức theo loại theo hai hay nhiều chiều Chẳng hạn, ta xét tình cơng ti thương mại điện tử bán gậy chơi golf Chiều ngang lưới biểu diễn cho kiểu gậy bán (như gỗ, sắt, nêm, gậy ngắn) Chiều đứng biểu diễn cho đề nghị nhà chế tạo gậy chơi golf cung cấp Do đó, người dùng qua lưới theo chiều ngang 500 để tìm cột gậy ngắn theo chiều đứng để xem xét đề nghị nhà chế tạo bán gậy ngắn Kiến trúc ứng dụng Web có ích gặp nội dung đặn cao độ H×nh 6.13 CÊu tróc cÊp bËc Hình 6.12 Cấu trúc líi Cấu trúc cấp bậc (Hình 6.13) khơng hồi nghi kiến trúc ứng dụng Web thông dụng Không giống cấp bậc phần mềm phân hoạch cổ vũ cho luồng điều khiển theo nhánh đứng cấp bậc, cấu trúc cấp bậc ứng dụng Web thiết kế theo cách thức tạo khả (thông qua việc phân nhánh siêu văn bản) luồng điều khiển theo chiều ngang, qua phân nhánh chiều đứng cấu trúc Do đó, nội dung trình bầy nhánh bên trái cấp bậc có móc nối siêu văn dẫn tới nội dung tồn nhánh hay nhánh bên phải cấu trúc Tuy nhiên nên lưu ý việc phân nhánh cho phép nhanh chóng qua nội dung ứng dụng Web, dẫn tới lẫn lộn phần người dùng 499 Cấu trúc nối mạng hay "Web tuý" (Hình 6.13) tương tự theo nhiều cách với kiến trúc tiến hoá cho hệ thống hướng vật Các cấu phần kiến trúc (trong trường hợp này, trang Web) thiết kế cho chúng truyền điều khiển (qua móc nối siêu văn bản) thực tới cấu phần khác hệ thống Cách tiếp cận cho phép linh hoạt di chuyển đáng kể, đồng thời, gây lẫn lộn cho người dùng Cấu trúc kiến trúc thảo luận đoạn trước tổ hợp để tạo nên cấu trúc hợp thành Kiến trúc tổng thể ứng dụng Web có cấp bậc, phần cấu trúc để lộ đặc trưng tuyến tính, phần khác kiến trúc lại nối mạng Mục tiêu cho người thiết kế kiến trúc sánh cấu trúc ứng dụng Web với nội dung trình bầy xử lí tiến hành 500 ứng dụng Web theo cách dễ dàng Trong số nhiều hình mẫu thiết kế siêu văn đề nghị có: Vòng - hình mẫu đưa người dùng nút nội dung thăm trước Vòng Web - hình mẫu cài đặt "vòng lớn nối toàn siêu văn thành tua chủ đề" Đường viền - hình mẫu xuất vòng chạm lẫn nhau, cho phép việc dẫn lái qua đường xác định việc quay vòng Đối âm - hình mẫu bổ sung lời bình luận siêu văn bản, ngắt lời dẫn nội dung để cung cấp thơng tin phụ hay góc nhìn Thế giới gương - nội dung trình bầy việc dùng mạch dẫn khác nhau, mạch với quan điểm hay viễn cảnh khác Chẳng hạn, nội dung mô tả máy tính cá nhân cho phép người dùng chọn lời dẫn "kĩ thuật" hay "không kĩ thuật" mơ tả máy Hình 6.14 29.6 Cấu trúc nối mạng hay "Web tuý" Sàng - hình mẫu hướng dẫn người dùng qua hàng loạt tuỳ chọn (quyết định) để hướng người dùng tới nội dung đặc biệt dãy tuỳ chọn lựa hay định đưa Hình mẫu thiết kế Như lưu ý sách này, hình mẫu thiết kế cách tiếp cận tổng quát cho việc giải vấn đề nhỏ mà thích ứng cho phạm vi rộng vấn đề đặc thù Trong hoàn cảnh hệ thống ứng dụng dựa Web, hình mẫu thiết kế áp dụng mức kiến trúc, mức cấu phần, mức siêu văn (dẫn lái) Khi chức xử lí liệu yêu cầu bên ứng dụng Web, hình mẫu thiết kế mức kiến trúc mức cấu phần áp dụng Hình mẫu thiết kế mức siêu văn hội tụ vào thiết kế tính dẫn lái cho phép người dùng qua nội dung 499 Láng giềng - hình mẫu che phủ khn khổ dẫn lái thống qua tất trang Web phép người dùng có hướng dẫn dẫn lái quán tới vị trí bên ứng dụng Web Các hình mẫu thiết kế siêu văn dùng lại nội dung dịch thành định dạng cho phép việc dẫn lái qua ứng dụng Web 500 6.5.4.2 Thiết kế dẫn lái Một kiến trúc ứng dụng Web thiết lập cấu phần (trang, viết, tiểu dụng chức xử lí khác) kiến trúc nhận diện, người thiết kế phải xác định đường dẫn lái tạo khả cho người dùng truy nhập vào nội dung dịch vụ ứng dụng Web Để thực điều này, người thiết kế phải (1) nhận diện ngữ nghĩa việc dẫn lái cho người dùng khác (2) xác định chế (cú pháp) để đạt tới việc dẫn lái ứng dụng Web lớn thường có nhiều vai người dùng khác Chẳng hạn, vai khách thăm, khách hàng đăng kí, hay người dùng có đặc quyền Mỗi vai gắn với mức truy nhập nội dung khác dịch vụ khác Khách thăm có quyền truy nhập vào nội dung hạn chế khách hàng đăng kí có quyền truy nhập vào phạm vi thơng tin dịch vụ rộng nhiều Ngữ nghĩa việc dẫn lái cho vai khác Người thiết kế ứng dụng Web tạo đơn vị dẫn lái ngữ nghĩa (SNU) cho mục tiêu liên kết với vai người dùng Chẳng hạn, khách hàng đăng kí có sáu mục tiêu khác nhau, tất phát sinh việc truy nhập vào thông tin dịch vụ khác Một SNU tạo cho mục tiêu Trong giai đoạn khởi đầu thiết kế dẫn lái, cấu trúc ứng dụng Web (kiến trúc cấu phần) truy nhập tới để xác định hay nhiều WoN (way of navigating) cho mục tiêu người dùng Như lưu ý, WoN nhận diện nút dẫn lái (tức trang) móc nối việc dẫn lái chúng WoN tổ chức SNU Khi thiết kế tiến hành, chế cho móc nối dẫn lái nhận diện Trong nhiều tuỳ chọn móc nối dựa 499 văn bản, biểu tượng, nút chuyển mạch, biểu dụ đồ hoạ Người thiết kế phải chọn móc nối dẫn lái thích hợp với nội dung quán với trực cảm dẫn tới thiết kế giao diện chất lượng cao Bên cạnh việc chọn chế dẫn lái, người thiết kế nên thiết lập qui ước trợ giúp dẫn lái thích hợp Chẳng hạn, biểu tượng móc nối đồ hoạ nên "bấm được" việc làm xiên góc cạnh để làm cho hình ảnh ba chiều Phản hồi âm hay trực quan nên thiết kế để cung cấp cho người dùng báo tuỳ chọn dẫn lái chọn Với dẫn lái dựa văn bản, mầu sắc nên dùng để móc nối dẫn lái để cung cấp báo móc nối qua Đây vài hàng chục qui ước thiết kế làm cho việc dẫn lái thành thân thiện người dùng Bên cạnh qui ước đó, trợ giúp dẫn lái đồ site, mục lục, số, chế tìm kiếm tiện nghi trợ giúp động nên thiết kế vào lúc 6.5.4.3 Thiết kế giao diện Các khái niệm, nguyên lí phương pháp thiết kế giao diện tất áp dụng cho thiết kế giao diện người dùng cho ứng dụng Web Tuy nhiên, đặc trưng đặc biệt hệ thống ứng dụng dựa Web đòi hỏi số xem xét phụ thêm Giao diện người dùng ứng dụng Web "ấn tượng đầu tiên" Bất kể tới giá trị nội dung nó, phức tạp khả xử lí dịch vụ nó, ích lợi tổng thể thân ứng dụng Web, giao diện thiết kế nghèo nàn làm thất vọng người dùng tiềm thực tế làm cho người dùng bỏ khác Bởi khối lượng cực lớn ứng dụng Web cạnh tranh có thực vùng chủ đề, nên giao diện phải "bắt" người dùng tiềm Nielsen 500 Wagner gợi ý hướng dẫn đơn giản dựa việc thiết kế lại họ phần lớn ứng dụng Web:  Lỗi nguồn phục vụ, cho dù lỗi nhỏ, làm cho người dùng bỏ vị trí Web nhìn tìm thơng tin dịch vụ  Tốc độ đọc hình máy tính phải chậm xấp xỉ 25 phần trăm tốc độ đọc giấy in Do đó, đừng buộc người dùng đọc khối lượng lớn văn bản, đặc biệt văn giải thích việc vận hành ứng dụng Web hay trợ giúp dẫn lái  Tránh dấu hiệu "đang xây dựng" - chúng làm tăng hi vọng gây móc nối khơng cần thiết mà chắn làm thất vọng  Người dùng ưa chuộng không cuộn hình Thơng tin quan trọng nên đặt bên chiều cửa sổ duyệt điển hình  Menu dẫn lái tiêu đề nên thiết kế quán nên có sẵn trang có sẵn cho người dùng Thiết kế không nên dựa vào chức duyệt để trợ giúp cho dẫn lái  Tính thẩm mĩ khơng nên che lấp tính chức Chẳng hạn, nút đơn giản tuỳ chọn dẫn lái tốt hình ảnh hay biểu tượng đẹp mơ hồ có nội dung khơng rõ ràng  Các tuỳ chọn dẫn lái nên hiển nhiên, với người dùng tình cờ Người dùng khơng nên bị bắt phải tìm hình để xác định cách móc nối tới nội dung hay dịch vụ khác 499 Một giao diện thiết kế tốt làm cải thiện cảm nhận người dùng nội dung hay dịch vụ site cung cấp Nó khơng thiết phải hào nhống, nên cấu trúc tốt mang tính cơng thái học Thảo luận sâu sắc giao diện người dùng ứng dụng Web phạm vi sách 6.5.5 Kiểm thử ứng dụng dựa Web Chúng ta lưu ý kiểm thử tiến trình luyện thử phần mềm với ý định tìm (và chung sửa) lỗi Triết lí tảng khơng thay đổi cho ứng dụng Web Trong thực tế, hệ thống ứng dụng dựa Web nằm mạng liên tác với nhiều hệ điều hành khác, trình duyệt, phần cứng giao thức truyền thông, nên việc tìm lỗi biểu thị thách thức có ý nghĩa cho người kĩ sư Web Cách tiếp cận tới việc kiểm thử Web chấp nhận nguyên lí cho kiểm thử Web áp dụng chiến lược chiến thuật khuyến cáo cho hệ thống hướng vật Các bước sau tóm tắt cách tiếp cận này: Mơ hình nội dung cho ứng dụng Web xem xét để phát lỗi Hoạt động "kiểm thử" tương tự theo nhiều khía cạnh với việc biên tập tài liệu viết Trong thực tế, Web site lớn thu nhận dịch vụ biên tập chuyên nghiệp để phát lỗi in ấn, lỗi tả, lỗi quán nội dung, lỗi biểu diễn đồ hoạ, lỗi tham chiếu chéo Mơ hình thiết kế cho ứng dụng Web xem xét để phát lỗi dẫn lái Các trường hợp sử dụng, suy dẫn phần hoạt động phân tích, cho phép người kĩ sư Web thực tập kịch sử dụng theo thiết kế kiến trúc dẫn lái Về chất, kiểm thử không 500 thực giúp phát lỗi dẫn lái (như trường hợp dùng đạt tới nút dẫn lái) Bên cạnh đó, móc nối dẫn lái xem xét để đảm bảo chúng tương ứng với dẫn lái đặc tả SNU cho tùng nút người dùng hợp tập trang hợp tác (được xác định việc xem xét trường hợp sử dụng SNU) Các trường hợp kiểm thử suy dẫn để phát lỗi hợp tác ứng dụng Web lắp ráp kiểm thử cho chức toàn thể việc chuyển giao nội dung Giống việc làm hợp lệ qui ước, việc làm hợp lệ hệ thống ứng dụng dựa Web hội tụ vào hành động người dùng thấy người dùng nhận biết từ hệ thống Để trợ giúp việc suy kiểm thử hợp lệ, người kiểm thử phải dựa vào trường hợp sử dụng Trường hợp sử dụng cung cấp kịch có nhiều khả làm lộ lỗi yêu cầu tương tác với người sử dụng Các cấu phần xử lí lựa trang Web kiểm thử Khi ứng dụng Web xem xét, khái niệm đơn vị thay đổi Mỗi trang Web bao bọc nội dung, móc nỗi dẫn lái phần tử xử lí (mẫu, chữ viết, tiểu dụng) Không phải hay thực tế kiểm thử đặc trưng cách riêng biệt Trong nhiều trường hợp, đơn vị kiểm thử nhỏ trang Web Không giống việc kiểm thử đơn vị phần mềm qui ước, có khuynh hướng hội tụ vào chi tiết thuật tốn mơ đun liệu chảy qua giao diện mô đun, việc kiểm thử mức trang cho ứng dụng Web hướng theo nội dung, xử lí móc nối bao bọc trang Web Kiến trúc xây dựng kiểm thử tích hợp tiến hành Chiến lược cho việc kiểm thử tích hợp tuỳ thuộc kiến trúc chọn cho ứng dụng Web Nếu ứng dụng Web thiết kế theo cấu trúc tuyến tính, lưới hay cấp bậc đơn giản, có khả tích hợp trang Web giống cách tích hợp mơ đun cho phần mềm qui ước Tuy nhiên, kiến trúc cấp bậc hỗn hợp hay mạng (Web) dùng, kiểm thử tích hợp lại tương tự với cách tiếp cận dùng cho hệ thống hướng vật Việc kiểm thử dựa mạch dùng để tích hợp tập trang Web (một SNU dùng để xác định tập thích hợp) yêu cầu để đáp ứng cho biến cố người dùng Mỗi mạch lại tích hợp kiểm thử riêng rẽ Kiểm thử rà lại áp dụng để đảm bảo không hiệu phụ xuất Kiểm thử cụm tích 499 ứng dụng Web cài đặt nhiều cấu hình mơi trường khác kiểm thử cho tính tương hợp với cấu hình Ma trận tham chiếu chéo xác định tất hệ điều hành có, trình duyệt, phần cứng giao thức truyền thông tạo Thế việc kiểm thử tiến hành để phát lỗi liên kết với cấu hình có ứng dụng Web kiểm thử việc người dùng điều phối kiểm sốt Một số đơng người dùng bao gồm vai người dùng có chọn ứng dụng Web thực tập người dùng kết tương tác họ với hệ thống đánh giá lỗi nội dung việc dẫn lái, mối quan tâm sử dụng, mối quan tâm tương hợp, tính tin cậy ứng dụng Web hiệu Bởi nhiều ứng dụng Web tiến hố liên tục nên tiến trình kiểm thử hoạt động tiếp diễn, nhân viên hỗ trợ Web tiến hành, người dùng kiểm thử rà lại suy dẫn từ kiểm thử phát triển ứng dụng Web lần chế tạo 500 Internet, thiết kế giao diện người, thiết kế đồ hoạ, bố trí nội dung, kiểm thử ứng dụng Web Các vai trò sau nên phân bố thành viên tổ kĩ nghệ Web: 6.5.6 Vấn đề quản lí Người phát triển người cung cấp nội dung Bởi ứng dụng Web hướng nội dung cách quán, nên vai trò thành viên tổ kĩ nghệ Web phải hội tụ vào việc sinh thu thập nội dung Nhớ lại nội dung trải phạm vi rộng vật liệu, người phát triển người cung cấp nội dung xuất thân từ nhiều bối cảnh khác (phi phần mềm) Chẳng hạn, nhân viên tiếp thị bán hàng cung cấp thơng tin sản phẩm hình ảnh đồ hoạ, người tạo mơi giới cung cấp video âm thanh, người thiết kế đồ hoạ cung cấp thiết kế bố trí nội dung thẩm mĩ, người viết quảng cáo cung cấp nội dung dựa văn Bên cạnh đó, nhân viên nghiên cứu cần tới để tìm định dạng nội dung bên để thay hay tham chiếu bên ứng dụng Web Với tính tức khắc ứng dụng Web, điều hợp lí hỏi: "Chúng ta có thực cần dành thời gian quản lí nỗ lực ứng dụng Web khơng? Chúng ta có nên ứng dụng Web tiến hoá cách tự nhiên, với hay khơng có việc quản lí tường minh nào?" Một số người phát triển Web chọn hay khơng có việc quản lí nào, điều khơng làm cho họ đúng! Kĩ nghệ Web hoạt động kĩ thuật phức tạp Nhiều người tham dự vào đó, thường làm việc song song Việc tổ hợp nhiệm vụ kĩ thuật phi kĩ thuật phải xuất (đúng hạn khuôn khổ ngân sách) để cung cấp ứng dụng Web chất lượng cao biểu thị thách thức cho nhóm chun mơn Để tránh lẫn lộn, thất vọng, thất bại, việc lập kế hoạch phải có, rủi ro phải tính tới, lịch biểu phải thiết lập theo dõi, kiểm soát phải xác định Những điều hoạt động lõi mà gọi quản lí dự án Người xuất Web Nội dung đa dạng người phát triển cung cấp nội dung sinh phải tổ chức lại để đưa vào bên ứng dụng Web Bên cạnh đó, phải hành động người liên hệ nhân viên kĩ thuật chế tạo ứng dụng Web người cung cấp phát triển nội dung phi kĩ thuật Vai trò đáp ứng người xuất Web, người phải hiểu nội dung công nghệ ứng dụng Web kể HTML (hay việc mở rộng hệ tiếp XML), chức sở liệu, chữ viết, việc dẫn lái web site nói chung 6.5.6.1 Tổ kĩ nghệ Web Việc tạo ứng dụng Web thành cơng đòi hỏi phạm vi rộng kĩ Tilley Huang đề cập tới vấn đề họ nói: "Có nhiều khía cạnh khác cho phần mềm ứng dụng [Web] đến mức có khẩn thiết người phục hưng, người vận hành thoải mái nhiều môn " Trong tác giả tuyệt đối đúng, người "phục hưng" lại tương đối thiếu Tổ kĩ nghệ Web tổ chức giống cách tổ phần mềm tổ chức Tuy nhiên, người tham dự vai trò họ lại thường khác Trong số nhiều kĩ phải phân bố thành viên tổ kĩ nghệ Web có kĩ nghệ phần mềm dựa cấu phần, mạng, thiết kế kiến trúc dẫn lái, chuẩn/ngôn ngữ 499 Kĩ sư Web Kĩ sư Web trở nên tham dự vào phạm vi rộng hoạt động việc phát triển ứng dụng Web kể khêu gợi u cầu; lập mơ hình phân tích; thiết kế kiến trúc, dẫn lái giao diện; cài đặt ứng dụng Web; kiểm thử 500 Người kĩ sư Web nên có hiểu biết vững công nghệ cấu phần, kiến trúc khách/nguồn phục vụ, HTML/XML, công nghệ sở liệu tri thức làm việc khái niệm multimedia, phần cứng/phần mềm, an ninh mạng, vấn đề hỗ trợ Web site Chuyên viên hỗ trợ Vai trò phân bổ cho người có trách nhiệm tiếp tục hỗ trợ ứng dụng Web Bởi ứng dụng Web liên tục tiến hoá nên chuyên viên hỗ trợ chịu trách nhiệm cho việc sửa chữa, thích nghi nâng cao site, kể cập nhật nội dung, cài đặt thủ tục mẫu mới, thay đổi hình mẫu dẫn lái dụng cho dự án kĩ nghệ Web Nhưng thực hành, cách tiếp cận kĩ nghệ Web tới việc quản lí dự án khác biệt đáng kể Khởi đầu dự án Cho dù việc khốn ngồi chiến lược chọn cho việc phát triển ứng dụng Web, tổ chức phải thực số nhiệm vụ trước tìm nhà cung cấp khốn ngồi để làm cơng việc này: Nhiều hoạt động phân tích nên thực nội Khán giả cho ứng dụng Web nên nhận diện; người bảo trợ nội bộ, người có mối quan tâm tới ứng dụng Web liệt kê ra; mục tiêu tổng thể cho ứng dụng Web xác định xem xét; thông tin dịch vụ chuyển giao ứng dụng Web xác định; Web site cạnh tranh lưu ý tới; "cách đo" định tính định lượng ứng dụng Web thành công xác định Thông tin nên làm tư liệu đặc tả sản phẩm Người quản trị Thường gọi Web master, ơng chủ Web, người có trách nhiệm vận hành hàng ngày ứng dụng Web, bao gồm  Phát triển cài đặt sách cho việc vận hành ứng dụng Web  Thiết lập thủ tục hỗ trợ phản hồi  Thực thủ tục an ninh quyền truy nhập  Đo phân tích lưu thơng Web  Điều phối thay đổi thủ tục kiểm soát  Điều phối chuyên viên hỗ trợ Thiết kế đại thể cho ứng dụng Web nên phát triển nội Hiển nhiên, người phát triển Web cỡ chuyên gia tạo thiết kế đầy đủ, thời gian chi phí tiết kiệm góc nhìn chung ứng dụng Web vạch cho người làm khoán ngồi (điều sửa đổi giai đoạn sơ dự án) Thiết kế phải bao hàm báo kiểu khối lượng nội dung ứng dụng Web trình bầy kiểu xử lí tương tác (như mẫu, đưa vào đơn) cần thực Thông tin nên bổ sung vào đặc tả sản phẩm Người quản trị tham gia vào hoạt động kĩ thuật người kĩ sư Web chuyên viên hỗ trợ thực Một lịch dự án đại thể, chứa ngày tháng chuyển giao cuối mà ngày tháng cột mốc, phải xây dựng Cột mốc nên gắn vào phiên chuyển giao ứng dụng Web tiến hố 6.5.6.2 Quản lí dự án Về mặt lí thuyết hầu hết (nếu khơng nói tất cả) hoạt động quản lí dự án thảo luận chương trước áp 499 500 Mức độ giám sát tương tác người hợp đồng với nhà cung cấp nên định rõ Điều nên bao hàm việc tên người liên hệ nhà cung cấp xác định trách nhiệm chủ quyền người liên hệ, xác định điểm kiểm điểm chất lượng việc phát triển thực hiện, trách nhiệm nhà cung cấp truyền thông liên tổ chức Mức độ quản lí dự án trơng đợi hay thực Tính hình thức liên kết với nhiệm vụ quản lí dự án (được thực người cung cấp người hợp đồng) tỉ lệ với kích thước, chi phí độ phức tạp ứng dụng Web Với dự án phức tạp, lớn, lịch biểu dự án chi tiết xác định nhiệm vụ công việc, điểm kiểm tra SQA, sản phẩm công việc làm, điểm kiểm điểm khách hàng, cột mốc nên phát triển Người cung cấp người hợp đồng nên thẩm định rủi ro phát triển kế hoạch để di chuyển, điều phối quản lí rủi ro quan trọng Các chế cho việc đảm bảo chất lượng kiểm soát thay đổi nên xác định tường minh dạng viết Các phương pháp cho việc trao đổi hiệu người hợp đồng người cung cấp nên thiết lập Lựa nhà cung cấp ứng cử viên Trong năm gần đây, hàng nghìn công ti "thiết kế Web" lên để giúp doanh nghiệp thiết lập diện Web hay tham gia vào thương mại điện tử Nhiều người trở thành lão luyện với tiến trình kĩ nghệ Web, nhiều người khác tài tử Để tuyển người phát triển Web ứng cử viên, người có hợp đồng phải siêng thực hiện: (1) vấn khách hàng khứ để xác định tính chuyên nghiệp người cung cấp Web, khả đáp ứng cam kết lịch biểu chi phí, khả trao đổi có hiệu quả; (2) xác định tên kĩ sư Web nhà cung cấp dự án khứ thành công (và sau, chắn người có nghĩa vụ mặt hợp đồng để tham gia vào dự án bạn); (3) xem xét cẩn thận mẫu cơng việc nhà cung cấp tương tự góc nhìn cảm giác (và miền nghiệp vụ) với ứng dụng Web dự định kí hợp đồng Thậm chí trước yêu cầu giá đưa ra, họp mặt đối mặt cung cấp góc nhìn chủ chốt vào "sự thích hợp" người có hợp đồng nhà cung cấp Thẩm định lịch phát triển Bởi lịch phát triển ứng dụng Web trải thời kì tương đối ngắn (thường hay hai tháng), nên lịch phát triển nên có độ đóng cục cao Tức nhiệm vụ cơng việc cột mốc nhỏ nên lập lịch hàng ngày Việc đóng cục thời gian cho phép nhà cung cấp người hợp đồng nhận việc trượt lịch trước đe doạ tới ngày tháng hồn thành Quản lí phạm vi Rất phạm vi thay đổi dự án ứng dụng Web tiến triển, mơ hình tiến trình kĩ nghệ Web nên tăng dần Điều cho phép tổ phát triển "làm đông cứng" phạm vi cho lần tăng ứng dụng Web sớm sủa Lần tăng tiếp đề cập tới thay đổi phạm vi gợi ý việc duyệt xét lần tăng trước, lần tăng thứ hai bắt đầu, phạm vi lại bị làm đơng cứng tạm thời Cách tiếp cận tạo khả tổ kĩ nghệ Web làm việc điều tiết luồng thay đổi liên tục nhận đặc trưng tiến hoá liên tục hầu hết ứng dụng Web Thẩm định tính hợp lệ giá độ tin cậy ưỡc lượng Bởi tương đối liệu lịch sử phạm vi ứng dụng Web hay thay đổi dễ sợ, nên việc ước lượng mang tính rủi ro cố hữu Bởi lí này, số nhà cung cấp giữ lấy lề an toàn chủ yếu giá cho dự án Điều vừa hiểu thích hợp 499 500 Những hướng dẫn khơng có chủ ý làm sách hướng dẫn cho việc tạo ứng dụng Web giá thấp, hạn Tuy nhiên, chúng giúp cho người hợp đồng nhà cung cấp khởi đầu công việc cách trôi chảy với tối thiểu việc hiểu lầm Tài liệu tham khảo Roger S Pressman, Software Engineering A Practitioner's approach, fifth edition McGraw Hill, 860p., 2001 Grandy Booch, Object-oriented Analysis and Design with Application, second edition, The Benjamin/Cummings Publishing Company, Inc, 1994 Designing Object Systems, Steve Cook, John Danniels, Prentice Hall, 1994 Bruce Ecker, Thinking in Java, Prentice Hall, 2000 Hans-Erik Ericsson, Magnus Penker, UML Toolkit, JohnWiley & Sons, Inc., 1998 Sinan Si Albir, UML in a nutshell, O'REILLY, 1998 Perdita Stevens, Rob Pooley, using UML Software Engineering with Objects and Components, Addison-Wesley, 2000 Các giảng "Trại khởi động kĩ nghệ phần mềm" Hoà Lạc 11/2001 Textbook for Fundamental Information Technology Engineers, No 2, - Japan Information Processing Development Corporation, Central Academy of Information Technology 10 Text book for Software Design & Development Engineers, No.1, 2, 3, 4, - Japan Information Processing Development Corporation, Central Academy of Information Technology 499 500 ... 1.2 Kĩ nghệ phần mềm Kĩ nghệ phần mềm gì? IEEE - hiệp hội người kĩ sư điện điện tử Mĩ, năm 1990 đề nghị định nghĩa kĩ nghệ phần mềm sau: 499 Kĩ nghệ phần mềm áp dụng cách có hệ thống kỉ luật... trì phần mềm Tức áp dụng nguyên tắc kĩ nghệ vào phần mềm Tại lại có kĩ nghệ phần mềm? Thứ phần mềm số nhỏ người viết, vài người viết vòng vài tháng Nhưng đến hệ phần mềm lớn hệ DOS IBM hay hệ mềm. .. 8/2002 500 Phần Tổng quan kĩ nghệ phần mềm Công nghệ, hiểu tập hợp kĩ thuật dùng ngành đó, có sở khoa học thống Công nghệ phần mềm hiểu gồm nhiều loại công nghệ tạo phần mềm khác nhau, công nghệ có

Ngày đăng: 30/08/2019, 11:58

Từ khóa liên quan

Mục lục

  • Giới thiệu

  • Phần 1

  • Tổng quan về kĩ nghệ phần mềm

    • 1.1 Khoa học, kĩ nghệ và thủ công

      • Các định nghĩa

      • Kĩ nghệ và thủ công

      • 1.2 Kĩ nghệ phần mềm

      • 1.3 Tiến hoá phần mềm

      • 1.4 Qui trình phần mềm

      • 1.5 Về cách giải quyết vấn đề

        • 1.5.1 Từ lập trình đi lên

        • 1.5.2 Vấn đề, giải pháp và giải quyết vấn đề

        • 1.5.3 Vòng đời

        • 1.5.4 Chu kì và pha phát triển

        • 1.5.5 Chu kì và pha lặp

        • Phần 2

        • Các mô hình qui trình phát triển phần mềm

          • 2.1 Mô hình tiến trình phần mềm

            • 2.1.1 Mô hình tuần tự tuyến tính

            • 2.1.2 Mô hình làm bản mẫu

            • 2.1.3 Mô hình RAD

            • 2.1.4 Mô hình tiến trình phần mềm tiến hoá

            • 2.1.5 Mô hình tăng dần

            • 2.1.6 Mô hình xoáy ốc

            • 2.1.7 Mô hình phát triển tương tranh

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan