Câu 1: sử phát triển của phần mềm: gồm 3 giai đoạnGiai đoạn thứ nhất: ( ~ 1960): phần cứng thay đổi liên tục, theo tính chuyên dụng xử lý theo lô môi trường lập trình có tính cá nhân sản xuất đơn chiếc>ngôn ngữ: mã máy, đặc thù cho từng máy>lập trình: là 1 nghệ thuật theo bản năng, chưa có phương phápGiai đoạn 2: (~ giữa thập kỷ 70) Phần mềm đa nhiệm, đa người sử dụng Hệ thống thời gian thực Xuất hiện lưu trữ trực tuyến> phần mềm trở nên phức tạp dẫn đến nhiều dự án thất bại >chi phí tăng cao dẫn đến nhu cầu tăng caoNgôn ngữ: có cấu trúc: PL1, Algos60, Fortran, COBOLLập trình: có phương pháp lập trìnhPhát triển hệ thống: chưa có phương phap, kinh nghiệm là chínhGiai đoạn 3: ( ~ đến nay) Hệ thống phân tán Mạng cục bộ, toàn cầu Bộ vi xử lý phát triển mạnh>phần mềm ngày càng phức tạp>sử dụng nhiều máy tính cá nhân, phần mềm nhúng>số người dùng tăng nhanhNgôn ngữ: ngôn ngữ bậc cao, hướng đối tượngPhát triển hệ thống: có phương pháp, công cụ tự độngTiêu chuẩn đánh giá 1 phần mềm tốt:là phần mềm có chất lượng thỏa mãn:Những yếu tô bên ngoài của 1 sản phẩm như: tốc độ nhanh, chạy ổn định, dễ sử dụng, dễ thích nghi với những thay đổi và một số yếu tố như: tính đúng đắn, tính bền vững, tính có thể mở rộng đc, tính sử dụng lại, tính tương thích , tính hiệu quả, tính bảo trì đc, tính tin cậy…Những yếu tó chất lượng bên trong như tính dễ đọc, dễ hiểu, sản phẩm trực quan sinh động…
Mô hình Thác nước Đặc trưng - Là mô hình cổ điển - Phương pháp áp dụng lần - Điều khiển hiệu - Phạm vi: giới hạn vòng lặp - Vòng đời (thời gian thực hiện) dài - Các pha thực tuần tự, kết pha trước đầu vào pha sau - ƯĐ: • Phù hợp với dự án nhỏ • Phù hợp với dự án có yêu cầu xác định - NĐ: • Rất khó khăn việc thay đổi pha thực • Không phù hợp với dự án lớn • Không phù hợp với mô hình thực tế Chữ V Quy mô dự án - Không thích hợp với hệ thống không rõ ràng (mục tiêu pha không rõ) - Thích hợp yêu cầu tìm hiểu rõ ràng thay đổi giới hạn cách rõ ràng suốt trình thiết kế - Phù hợp với dự án nhỏ - Thời gian thực lâu - Các tiến trình kiểm thử thêm vào, tiến hành song song với pha - Pha sau thực pha trước thực xong - Kết nối kiểm thử với phân tích thiết kế - Các bước chi tiết mô hình thác nước - ƯĐ: • Sau lập trình sửa lỗi có kiểm thử song song với phần trước • Giảm bớt thời gian so với mô hình thác nước • Có thể đạt phần mềm có chất lượng, pha tương thích với nhau, hỗ trợ cho - NĐ: • Nhiều giai đoạn • Người sd hội tham gia suốt thời gian giai đoạn trung gian từ thiết kiểm thử - Thích hợp với trường hợp toán không quán - Phù hợp với dự án nhỏ - Thời gian thực lâu Bản mẫu - Bản mẫu chương trình mẫu thực phần hay tất chức mong muốn mức sơ lược - Tuần tự làm mẫu: Tập hợp yêu cầu -> thiết kế nhanh -> xây dựng mẫu ->đánh giá khách hàng-> làm mịn -> quay lại thiết kế nhanh để điều chỉnh -> xây dựng sản phẩm - Mô hình mẫu thường sd • rõ mục đích chung PM, chưa rõ chi tiết đầu vào hay xử lý chưa rõ yêu cầu đầu • giải thuật, kỹ thuật dùng làm mẫu chưa nhanh, chưa tốt, miễn có mẫu để thảo luận gợi y/c người dùng - Thích hợp với toán bé, yêu cầu không chắn, thời gian chậm như “hệ sơ khai” để thu thập y/c ngưoif dùng qua thiết kế nhanh - ƯĐ: • Theo kịp thay đổi khách hàng • Giảm thiểu rủi ro • Phù hợp với hệ thống rủi ro cao, chiến lược cài đặt chưa rõ ràng, yêu cầu không chắn - NĐ: • Khách hàng cho mẫu hệ thống thực, nhiên mẫu thay đổi trình xây dựng thiết kế -> mong đợi khách hàng không thực tế • Người phát triển có lựa chọn không tốt, phù hợp với nguyên mẫu không phù hợp với hệ thống thực • Nguyên mẫu không giống hoàn toàn với hệ thống cuối cùng, dẫn đến phản ứng KH k tốt Do hoàn thiện dần nên nhiều tính cấu trúc không cao -> khó kiểm soát, bảo trì Phát triển ứng dụng nhanh • - mô hình phát triển PM gia tăng, tăng dần bước với chu trình phát triển ngắn (60 – 90 ngày) - Quy mô dự án lớn, thời gian nhanh, y/c rõ ràng - xây dựng dựa hướng thành phần với khả tái sd - gồm số nhóm, nhóm làm RAD theo pha: mô hình nghiệp vụ, mô hình liệu, mô hình xử lý, tạo ứng dụng, kiểm thử đánh giá - Mô hình nghiệp vụ (business modeling): luồng thông tin mô hình hóa để trả lời câu hỏi: • Thông tin điều khiển xử lý nghiệp vụ? Thông tin sinh ra? Ai sinh nó? Thông tin đến đâu? Ai xử lý chúng? • • • • - Mô hình tiến trình liệu: • Data modeling: đối tượng liệu cần để hỗ trợ • nghiệp vụ (business) Định nghĩa thuộc tính đối tượng xác lập quan hệ đối tượng • • Process modeling: Các đối tượng liệu chuyển sang luồng thông tin thực chức nghiệp vụ Tạo mô tả xử lý để cập nhật (thêm, sửa, xóa, khôi phục) đối tượng liệu • - Tự sinh ứng dụng kiểm thử: • Application Generation: Dùng kỹ thuật hệ để tạo phần mềm từ thành phần có sẵn tạo thành phần tái sử dụng lại sau Dùng công cụ tự động để xây dựng phần mềm • Testing and Turnover: Kiểm thử thành phần kiểm chứng giao diện (các thành phần cũ kiểm thử dùng lại) (tiếp cột bên) - ƯĐ: Dễ thực ứng dụng môđun hóa đòi hỏi tính cao Theo kịp thay đổi khách hàng Giảm thiểu rủi ro - NĐ: Cần nguồn nhân lực dồi để tạo nhóm cho chức Yêu cầu hai bên phải có trách nhiệm cao RAD tốt cho ứng dụng, với ứng dụng môđun hóa đòi hỏi tính cao Mạo hiểm kỹ thuật cao không nên dùng RAD Xoắn ốc Spiral Boehm 1987 - Quy trình phát triển PM biểu diễn vòng xoắn ốc - Các pha quy trình phát triển gồm: Thiết lập mục tiêu Đánh giá giảm thiểu rủi ro Phát triển đánh giá Lập kế hoạch - Mô hình xoắn ốc phù hợp với • Các hệ phần mềm quy mô lớn, dự án lớn, phức tạp • Hệ thống cần phát triển nhiều phiên - Nhấn mạnh việc đánh giá rủi ro - Phần mềm xây dựng theo nhiều chu kỳ Mỗi chu kỳ tương ung với sp giai đoạn ptrien - Ưu điểm: • Hạn chế rủi ro sớm • Nhận phản hồi (feedbacks) từ khách hàng sớm • Dễ kiểm soát mạo hiểm mức tiến hóa - NĐ: • Khó thuyết phục khách hàng phương pháp tiến hóa xoắn ốc kiểm soát • Chưa dùng rộng rãi mô hình tuyến tính chế thử • Các hệ thống có yêu cầu chưa xác định rõ ràng Xoắn ốc WINW IN - Là mô hình xoắn ốc nhằm thỏa hiệp người phát triển khách hàng, hai “Thắng”(win-win): • Khách có phần mềm thỏa mãn yêu cầu • Người phát triển có kinh phí thỏa đáng thời gian hợp lý - Các hoạt động việc xác định hệ thống: • Xác định cổ đông (stakeholders) • Xác định điều kiện thắng cổ đông • Thỏa hiệp điều kiện thắng bên liên quan - Ưu điểm: • Hạn chế rủi ro sớm - Mô hình xoắn ốc WINWIN phù hợp với • Các hệ phần mềm quy mô lớn, dự án lớn, phức tạp • Hệ thống cần phát triển nhiều phiên • Các hệ thống có yêu cầu chưa xác định rõ ràng • • Nhận phản hồi (feedbacks) từ khách hàng sớm Dễ kiểm soát mạo hiểm mức tiến hóa - NĐ: • Khó thuyết phục khách hàng phương pháp tiến hóa xoắn ốc kiểm soát Chưa dùng rộng rãi mô hình tuyến tính chế thử Đề 1: Câu 1: sử phát triển phần mềm: gồm giai đoạn Giai đoạn thứ nhất: ( ~ 1960): - phần cứng thay đổi liên tục, theo tính chuyên dụng - xử lý theo lô - môi trường lập trình có tính cá nhân - sản xuất đơn ->ngôn ngữ: mã máy, đặc thù cho máy ->lập trình: nghệ thuật theo năng, chưa có phương pháp Giai đoạn 2: (~ thập kỷ 70) - Phần mềm đa nhiệm, đa người sử dụng - Hệ thống thời gian thực - Xuất lưu trữ trực tuyến -> phần mềm trở nên phức tạp dẫn đến nhiều dự án thất bại ->chi phí tăng cao dẫn đến nhu cầu tăng cao Ngôn ngữ: có cấu trúc: PL1, Algos60, Fortran, COBOL Lập trình: có phương pháp lập trình Phát triển hệ thống: chưa có phương phap, kinh nghiệm Giai đoạn 3: ( ~ đến nay) - Hệ thống phân tán - Mạng cục bộ, toàn cầu - Bộ vi xử lý phát triển mạnh ->phần mềm ngày phức tạp ->sử dụng nhiều máy tính cá nhân, phần mềm nhúng ->số người dùng tăng nhanh Ngôn ngữ: ngôn ngữ bậc cao, hướng đối tượng Phát triển hệ thống: có phương pháp, công cụ tự động Tiêu chuẩn đánh giá phần mềm tốt:là phần mềm có chất lượng thỏa mãn: Những yếu tô bên sản phẩm như: tốc độ nhanh, chạy ổn định, dễ sử dụng, dễ thích nghi với thay đổi số yếu tố như: tính đắn, tính bền vững, tính mở rộng đc, tính sử dụng lại, tính tương thích , tính hiệu quả, tính bảo trì đc, tính tin cậy… Những yếu tó chất lượng bên tính dễ đọc, dễ hiểu, sản phẩm trực quan sinh động… Câu 3: hệ thống thông tin quản lý cửa hàng bán linh kiện máy tính: khách hàng yêu cầu mua hàng phận kế toán có trách nhiệm kiểm tra hàng, hàng lập hóa đơn hóa đơn gửi cho phận thủ kho thủ kho có trách nhiệm xuất hàng bán cho khách cuối tháng báo cáo tình hình hàng tồn kho, công nợ cho ban giám đốc yêu cầu: 1: nên sử dụng mô hình để xây dựng phần mềm giải thích 2: yêu cầu chức phi chức hệ thống 3: hệ thống có thực thể huộc tính nào! 1.nên sử dụng mô hình chữ V để xây dựng phần mềm • Lý lựa chọn mô hình chữ V - Bái toán việc “ quản lý bán linh kiện máy tính cửa hàng”, quy mô áp dụng : Mang tính đặc trưng cho cửa hàng (bán linh kiện), không quán Quy mô không lớn Chương trinh đơn giản, chức đưa cho phần mềm cần rõ ràng, dễ sử dụng người sử dụng - Cửa hàng có quy mô vừa nhỏ, kiểm tra kiểm thử diễn thường xuyên Nội dung công việc gần rõ ràng nên phù hợp lựa chọn mô hình chữ V Đó yếu tố lựa chọn mô hình - Trong mô hình chữ V hoạt động kiểm thử diễn song song với hoạt động liên quan nên nhanh chóng phát sai sót để quay lại sửa chữa thích hợp với đối tượng lập trình có kinh nghiệm - Mô hình chữ V kết nối kiểm thử với phân tích thiết kế nên tránh lỗi dễ dàng kiểm soát lỗi hơn-điều có ý nghĩa quan trọng yêu cấu chức phi chức * Yêu cầu chức Bao gồm chức chính: Nhập lưu phiếu nhập hàng Nhập in hoá đơn cho khách hang tới mua hàng Cập nhập loại hàng số lượng loại hàng Thống kê, lập báo cáo hàng tồn, hàng bán Người sử dụng tìm kiếm tất CSDL tập Hệ thống cung cấp giao diện thich hợp để ng dùng sử dụng dễ dàng * Yêu cầu phi chức Yêu cầu sản phẩm: - Hệ thống quản lí bán hàng phải có khả sử dụng nhanh, cài đặt C++ C# - Có ngôn ngữ tiếng việt tiếng anh - Hệ thống dễ dàng thay đổi mở rộng cần thiết Yêu cầu hệ thống : - Hệ thống phải tương thích với Window XP Window 7, - Quy trình xây dựng hệ thống tài liệu chuyển giao phải thoả mãn quy tắc tài liệu hệ thống quản lí bán hàng - Quản lý sở liệu (CSDL) Access 2007 SQL server - Có khả mở rộng nâng cấp (ví dụ: thêm loại thông tin CSDL, thêm chức quét mã vạch cho hệ thống…) - Tương thích với thiết bị hỗ trợ (ví dụ: máy in, máy Fax…) hệ thống gồm thực thể thuộc tính - Khach hang( Ma KH, ten, dchi,sdt) Loai hang( Ma loai, ten loai) Hang( Ma hang, ten hang, so luong) Nhan vien( Ma NV, ten NV,ngsinh,gtinh,que quan, dchi, sdt) Hoa don( Ma HD, lap HD, Gia tri HD) HoaDon ChiTietHD có KhachHang 1 Hang Loai hang n có có n có NhanVien HoaDon n lập n Chitiet HD Hang HoaDon đề 2: câu 1:khái niệm vòng đời phần mềm Là khoảng thời gian tính từ phần mềm đề xuất bỏ đi: cụ thể từ đặt hàng, phát triển, sử dụng đến bị loại bỏ giai đoạn: phân tích đặc tả yêu cầu, thiết kế phần mềm, lập trình kiểm thử,cài đặt, bảo trì đặc điểm hoat đọng giai đoạn: phân tích đặc tả yêu cầu: đặc tả dịch vụ mà hệ thống cung cấp, ràng buộc để xây dựng vận hành hệ thống, khâu trình xây dựng phần mềm - Hoạt động giai đoạn là: + Phát yêu cầu + Phân tích yêu cầu thương lượng với khách hàng + Mô tả yêu cầu + Mô tả hệ thống + Kiểm tra tính hợp lý yêu cầu + Quản trị yêu cầu Thiết kế phần mềm: thiết kế cấu hình phần cứng cấu trúc phần mềm để có đc hệ thống thỏa mãn yêu cầu đặt - Đặc điểm: chọn chiến lược cài đặt quản lý liệu + Tìm nguồn tài nguyên chung chế điều khiển truy nhập chúng + Thiết kế chế điều khiển thích hợp cho hệ thống, kể quản lý nhiệm vụ + Xem xét điều kiện rang buộc để xử lý ntnao - Hoạt động giai đoạn là: + Thiết kế giao diện + Thiết kế chương trình + Thiết kế tập tin liệu Lập trình: trình chuyển đổi từ thiết kế chi tiết sang mã lệnh Lựa chọn ngôn ngữ lập trình phụ thuộc vào cấu hình máy, số lượng ngôn ngữ lập trình có sẵn, thói quen sử dụng ngôn ngữ lập trình Người lập trình cần xác định thông tin tối thiểu cho module chương trình Kiểm thử: giai đoạn quan trọng phát triển phần mềm, mấu chốt đảm bảo chất lượng phần mềm tiến trình xem xét lại đặc tả, thiết kế, mã hóa nhằm phát lỗi phần mềm kiểm thử thành công phát lỗi, kiểm thử ko phát lỗi kiểm thử dở Một phép kiểm thử bao gồm: tên module kiểm thử, liệu vào, liệu r among muốn, liệu thực tế, đành giá chất lượng phần mềm qua kết mong muốn thực tế Cài đặt: lập kế hoach cài đặt: chuyển đổi phần cứng, CSDL, công nghệ quản lý, phong cách làm việc…biến đổi liệu từ hệ thống cũ sang mới, biên soạn tài kiệu hệ thống Bảo trì: pha cuối vòng đời gồm hoạt đọng quản lý hoạt động bảo trì chuẩn hóa hoạt động bảo trì Câu 2: nêu nguyên tắc thiết kế giao diện Các nguyên tắc thiết kế giao diên – Sự quen thuộc người sử dụng: giao diện phải xây dựng dựa thuật ngữ khái niệm mà người sử dụng hiểu khái niệm liên quan đến máy tính Ví dụ: hệ thống văn phòng nên sử dụng khái niệm thư, tài liệu, cặp giấy … mà không nên sử dụng khái niệm thư mục, danh mục … – Thống nhất: hệ thống nên hiển thịở mức thống thích hợp Ví dụ: câu lệnh menu nên có định dạng … – Tối thiểu hoá bất ngờ: yêu cầu xử lý theo cách biết trước người sử dụng dự đoán thao tác yêu cầu tương tư – Khả phục hồi: hệ thống nên cung cấp số khả phục hồi từ lỗi người sử dụng cho phép người sử dụng khôi phục lại từ chỗ bị lỗi Khả bao gồm cho phép làm lại, hỏi lại hành động xoá, huỷ … – Hướng dẫn người sử dụng: hệ thống trợ giúp, hướng dẫn trực tuyến … – Tính đa dạng: hỗ trợ nhiều loại tương tác cho nhiều loại người sử dung khác Ví dụ: nên hiển thị phông chữ lớn với người cận thị Nguyên tắc quan trọng quen thuộc người sử dụng Một phần mềm tạo ra, mục đích hướng tới cho tất đối tượng người sử dụng dùng cách dễ dàng, đơn giản dễ hiểu phần mềm thành công Khi giao diện phần mềm ảnh hưởng đến khách hàng Giao diện có thân thiện, dễ hiểu người dùng sử dụng chức bên phần mềm Nếu từ đầu giao diện khó hiểu người dùng chức cần thiết đâu để dùng Từ họ k dùng phần mềm đó, dẫn đến thất bại Vì quen thuộc người dùng nguyên tắc quan trọng Câu : Hệ thống quản lý bãi xe Khi xe vào, người trông xe đối chiếu với bảng phân loại xe, tìm xem có chỗ trống bãi đỗ xe hay không Nếu chỗ trống cho loại xe ghi thông tin vào vé xe cho xe vào gửi đồng thời lưu thông tin vào hệ thống.Nếu không chỗ trống thông báo để khách hàng tìm bãi đỗ xe khác.Khi khách hàng trả xe,người trông coi đối chiếu thông tin ghi vé xe, phát vé giả thông tin sai không cho lấy xe Nếu sai thu tiền khách lưu thông tin vào hệ thống a) Mô hình phat triển PM dùng cho hệ thống : b) Sơ đồ mức đỉnh : c)Thiết kế hoạt động kiểm thử cho chức « toán » : Test case : toán Mô tả Vé đú ng , xe đú ng Các bước thực Kết mong đợi Kết thực [...]... quen thuộc của người sử dụng Một phần mềm được tạo ra, mục đích hướng tới là cho tất cả đối tượng người sử dụng đều dùng được một cách dễ dàng, đơn giản và dễ hiểu nhất thì đó mới là một phần mềm thành công Khi đó giao diện phần mềm là cái ảnh hưởng đầu tiên đến khách hàng Giao diện có thân thiện, dễ hiểu thì người dùng mới có thể sử dụng được các chức năng bên trong của phần mềm Nếu ngay từ đầu giao... đoạn quan trọng nhất phát triển phần mềm, là mấu chốt của đảm bảo chất lượng phần mềm là tiến trình xem xét lại đặc tả, thiết kế, mã hóa nhằm phát hiện lỗi phần mềm kiểm thử thành công khi phát hiện ra lỗi, kiểm thử ko phát hiện ra lỗi là kiểm thử dở Một phép kiểm thử bao gồm: tên module kiểm thử, dữ liệu vào, dữ liệu r among muốn, dữ liệu ra thực tế, đành giá chất lượng phần mềm qua 2 kết quả mong muốn... gồm: tên module kiểm thử, dữ liệu vào, dữ liệu r among muốn, dữ liệu ra thực tế, đành giá chất lượng phần mềm qua 2 kết quả mong muốn và thực tế Cài đặt: lập kế hoach cài đặt: chuyển đổi phần cứng, CSDL, công nghệ quản lý, phong cách làm việc…biến đổi dữ liệu từ hệ thống cũ sang mới, biên soạn tài kiệu hệ thống Bảo trì: là pha cuối cùng của vòng đời gồm 2 hoạt đọng là quản lý hoạt động bảo trì... Phát hiện yêu cầu + Phân tích yêu cầu và thương lượng với khách hàng + Mô tả các yêu cầu + Mô tả hệ thống + Kiểm tra tính hợp lý của yêu cầu + Quản trị các yêu cầu Thiết kế phần mềm: là thiết kế cấu hình phần cứng và cấu trúc phần mềm để có đc hệ thống thỏa mãn yêu cầu đặt ra - Đặc điểm: chọn chiến lược cài đặt và quản lý dữ liệu + Tìm ra nguồn tài nguyên chung và cơ chế điều khiển truy nhập chúng... thì người dùng mới có thể sử dụng được các chức năng bên trong của phần mềm Nếu ngay từ đầu giao diện đã khó hiểu thì người dùng sẽ không biết các chức năng cần thiết ở đâu để dùng Từ đó họ sẽ k dùng phần mềm đó, dẫn đến thất bại Vì vậy sự quen thuộc của người dùng là nguyên tắc quan trọng nhất Câu 3 : Hệ thống quản lý bãi xe Khi xe vào, người trông xe sẽ đối chiếu với bảng phân loại xe, tìm xem có