Bài giảng Nhập môn công nghệ phần mềm - Chủ đề 1: Tổng quan về công nghệ phần mềm cung cấp cho người học một số khái niệm về phần mềm, chất lượng phần mềm, công nghệ phần mềm, quy trình phần mềm. Mời các bạn cùng tham khảo.
Chủ đề 1: Tổng quan CNPM COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Mục tiêu • Biết khái niệm thiết yếu CNPM • Biết qui trình phần mềm • Biết tổ chức nhân vai trị thành viên hệ thống • Biết loại tài liệu kỹ thuật COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Nội dung • • • • Khái Khái Khái Khái niệm niệm niệm niệm về về Phần mềm Chất lượng phần mềm Cơng nghệ phần mềm Quy trình phần mềm COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Khái niệm phần mềm • Ví – – – – – – – – – – – dụ: xét số phần mềm sau Phần mềm quản lý học sinh cấp Phần mềm quản lý thư viện Phần mềm quản lý nhà sách Phần mềm quản lý khách sạn Phần mềm quản lý phòng mạch tư Phần mềm quản lý sổ tiết kiệm Phần mềm quản lý giải vơ địch bóng đá Phần mềm quản lý bán vé chuyến bay Phần mềm quản lý đại lý Phần mềm xếp thời khóa biểu … COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Khái niệm phần mềm • Phần mềm góc nhìn người sử dụng: – Chương trình thực thi máy tính thiết bị chuyên dụng khác, nhằm hỗ trợ cho nhà chuyên môn lĩnh vực chuyên ngành thực tốt thao tác nghiệp vụ – Ví dụ: • PM QL bán hàng: hỗ trợ lập chứng từ hóa đơn, đơn đặt hang, quản lý doanh thu, in báo cáo, … • PM QLSV trường ĐH: quản lý hồ sơ sinh viên, kết học tập, xét tốt nghiệp, học phí, … COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Khái niệm phần mềm • Mơi trường triển khai phần mềm – Máy tính: Desktop, Laptop, … – Thiết bị chuyên dụng: • Thiết bị di động: PDA, Pocket PC, Điện thoại di động… • Các thiết bị chuyên dụng khác: set-top box, router, firewall (phần cứng…) • Hỗ trợ làm tốt thao tác nghiệp vụ: – Tin học hóa nghiệp vụ làm thủ công, – Cải tiến chức nghiệp vụ thực máy tính, – Đề ra, xây dựng triển khai chức nghiệp vụ COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Khái niệm phần mềm • Phần mềm góc nhìn chun viên Tin học: – Đây hệ thống bao gồm thành phần bản: • Thành phần giao tiếp • Thành phần xử lý • Thành phần lưu trữ cần xây dựng để thực theo yêu cầu người sử dụng COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Khái niệm phần mềm • Thành phần giao tiếp (Giao diện): – Cho phép tiếp nhận yêu cầu việc sử dụng phần mềm từ người sử dụng (chọn công việc muốn thực cung cấp liệu nguồn liên quan đến cơng việc đó), từ thiết bị thu thập liệu (cân, nhiệt kế, tế bào quang điện…), từ phần mềm khác – Cho phép trình bày kết việc thực yêu cầu cho người dùng (kết công việc thực máy tính) điều khiển hoạt động thiết bị điều khiển (đóng/mở cửa, dùng hay cho chuyển động…) – Một cách tổng quát, thành phần giao tiếp cho phép nhập/xuất thơng tin với hình thức trình bày/giao tiếp tương ứng – Mục tiêu thành phần đưa thông tin từ giới bên phần mềm (người sử dụng, thiết bị, phần mềm khác…) bên trong, ngược lại COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Khái niệm phần mềm • Thành phần xử lý: – Kiểm tra tính hợp lệ thơng tin nguồn cung cấp từ người dùng theo quy định ràng buộc giới thực • Ví dụ: cho mượn tối đa sách, lớp học không 50 học sinh… – Tiến hành xử lý cho kết mong đợi theo quy định tính tốn có sẵn giới thực • Ví dụ: quy tắc tính tiền phạt trả sách về, quy định tính tiền điện, trả góp mua nhà… – Hoặc tiến hành xử lý theo thuật giải tự đề xuất • Ví dụ: xếp thời khóa biểu tự động, nén ảnh, phát sinh nước cờ máy tính… COMP1026 – Introduction to Software Engneering – Chapter 01 - HIENLTH Khái niệm phần mềm • Thành phần xử lý: – Việc xử lý dựa thông tin nguồn từ người sử dụng cung cấp • Ví dụ: tính nghiệm phương trình bậc dựa hệ số nhập vào liệu lưu trữ có sẵn • Ví dụ: tính tồn kho dựa phiếu nhập xuất lưu trữ hai • Ví dụ: tính tiền phạt dựa ngày trả sách nhập vào thông tin loại sách lưu trữ – Việc xử lý cho kết dùng để xuất cho người dùng xem qua thành phần giao diện, hay lưu trữ lại qua thành phần lưu trữ, hai COMP1026 – Introduction to Software Engneering – Chapter 01 - 10 HIENLTH Architect • Cơng việc – Ước lượng chi phí: nhân sự, thời gian thực – Làm việc với Project Manager xây dựng kế hoạch chi tiết cài đặt phần mềm – Hỗ trợ nhóm Test chuẩn bị mơi trường test, cài đặt cấu hình hệ thống – Hỗ trợ Techincal writer viết sưu liệu kỹ thuật, hướng dẫn cài đặt triển khai hệ thống COMP1026 – Introduction to Software Engneering – Chapter 01 - 88 HIENLTH Architect • Phần mềm sử dụng – Power Designer • Conceptual Data Model • Physical Data Model • Object-Oriented Model (UML Model) – Rational Rose (IBM Rational) • UML Model – Microsoft Project • Web Access • Sharepoint – Workflow – Visual Team System • Architect Role COMP1026 – Introduction to Software Engneering – Chapter 01 - 89 HIENLTH Developer • Vai trị – Tham gia vào giai đoạn cài đặt phần mềm – Thực kiểm tra đơn vị (Unit Test) – Sửa lỗi(Bug) • Cơng việc – Sử dụng cơng cụ môi trường phát triển phần mềm để viết code • Tạo giao diện (Dos/Win/Web) • Viết code xử lý COMP1026 – Introduction to Software Engneering – Chapter 01 - 90 HIENLTH Developer • Cơng việc – Sử dụng Third-party Component để phát triển tạo giao diện ứng dụng • ComponentOne • Infragistics • Intersoft – Sử dụng thư viện SDK để viết xử lý • Pocket PC SDK • DirectX SDK • OpenGL SDK COMP1026 – Introduction to Software Engneering – Chapter 01 - 91 HIENLTH Developer • Cơng việc – Sử dụng hệ quản trị sở liệu để cài đặt sở liệu • Table • View • Stored procedure •… – Tạo báo cáo, thống kê theo biểu mẫu (Report) – Sửa lỗi (Bug) phát sinh từ tester COMP1026 – Introduction to Software Engneering – Chapter 01 - 92 HIENLTH Developer • Phần mềm sử dụng – IDE (Integrite Development Environment) • Visual studio.Net 2008/2010/2013 • Borland Delphi • NetBean • Jbuilder • PHP • … COMP1026 – Introduction to Software Engneering – Chapter 01 - 93 HIENLTH Developer • Phần mềm sử dụng – DBMS (Database Management System) • Access • SQL Server 2005/2008/2012/2014 • Oracle 9i/10g/11g/12c • My SQL • DB2 (IBM) COMP1026 – Introduction to Software Engneering – Chapter 01 - 94 HIENLTH Developer • Phần mềm sử dụng – Report Tool • Crystal Report • Data Dynamic Report • ComponentOne Report – Project Management Tool • Developer Role – Workflow • Developer Role – Visual Team System • Developer Role COMP1026 – Introduction to Software Engneering – Chapter 01 - 95 HIENLTH Tester • Vai trị – Kiểm lỗi phần mềm – Kiểm lỗi đóng gói – Kiểm lỗi tài liệu • User guide • Installation Guide • Release Notes • Troubleshooting COMP1026 – Introduction to Software Engneering – Chapter 01 - 96 HIENLTH Tester • Cơng việc – Chuẩn bị mơi trường test • • • • Windows XP, 2000, 2003, 2008 Linux IE, FireFox, Netscape, Mozilla Test Database, Test data – Viết test case – Thực test test case môi trường khác – Mô tả Bug chi tiết bước để tạo bug – Theo dõi trình Fix Bug – Báo cáo kết test COMP1026 – Introduction to Software Engneering – Chapter 01 - 97 HIENLTH Tester • Phần mềm sử dụng – Web testing • Test Manager Role • Tester Role – Automation Test – Load testing – Code Analysis – Project Management Tool • Tester Role – Workflow • Tester role COMP1026 – Introduction to Software Engneering – Chapter 01 - 98 HIENLTH Packer • Vai trị – Làm việc với Developer, Architect, Tester để chuẩn bị đóng gói • Redistribute Component • Runtime Library • DB Script,… – Đóng gói phần mềm – Làm việc với Tester để tiến hành kiểm lỗi sửa lỗi đóng gói COMP1026 – Introduction to Software Engneering – Chapter 01 - 99 HIENLTH Packer • Phần mềm sử dụng – InstallShield – Wise Install – Project Management Tool • Packer Role – Workflow • Packer role –… COMP1026 – Introduction to Software Engneering – Chapter 01 - 100 HIENLTH Technical Writer • Cơng việc – Viết tài liệu kỹ thuật • • • • • Tài Tài Tài Tài Tài liệu liệu liệu liệu liệu khảo sát phân tích thiết kế hướng dẫn lập trình hướng dẫn đóng gói chương trình • • • • • Broche Installation guide User Manual Release Notes Upgrade or Hot fixing guide (Version History) – Tài liệu hướng dẫn người dùng COMP1026 – Introduction to Software Engneering – Chapter 01 - 101 HIENLTH Technical Writer • Phần mềm sử dụng – Microsoft Office – eHelp/RoboHelp – HTML Help/Help Workshop – PageMaker – Acrobat Writer/Distiller – Project Management Tool • Technical Role – Workflow • Technical role –… COMP1026 – Introduction to Software Engneering – Chapter 01 - 102 HIENLTH ... ngành Công nghệ Phần mềm – Xây dựng phần mềm có chất lượng – Dễ dàng xây dựng phần mềm từ phần mềm có sẵn lớp COMP1026 – Introduction to Software Engneering – Chapter 01 - 13 HIENLTH Chất lượng phần. .. Tính đắn - Dễ học - Dễ sử dụng - Giao diện trực quan - Tự nhiên Phần mềm Phần mềm khác Phần cứng Dưới góc nhìn Người sử dụng COMP1026 – Introduction to Software Engneering – Chapter 01 - 15 HIENLTH... Con người - Đầy đủ - Chính xác Tính đắn Phần mềm Phần mềm khác Phần cứng Dưới góc nhìn Người sử dụng COMP1026 – Introduction to Software Engneering – Chapter 01 - 14 HIENLTH Chất lượng phần mềm