1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình công nghệ phần mềm chuong 1

20 67 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 793,5 KB

Nội dung

Chương 1: Tổng quan công nghệ phần mềm CHƯƠNG TỔNG QUAN VỀ CƠNG NGHỆ PHẦN MỀM Cơng nghệ phần mềm -Software Engineering- hoạt động bao gồm: phát triển, đưa vào hoạt động, bảo trì, loại bỏ phần mềm cách có hệ thống Các kỹ sư phần mềm cung cấp với kỹ thuật, công cụ nhằm phát triển hệ thống phần mềm Như vậy, công nghệ phần mềm lĩnh vực nghiên cứu tin học, nhằm đề xuất nguyên lý, phương pháp, công cụ, cách tiếp cận phương tiện phục vụ cho việc thiết kế cài đặt sản phẩm phần mềm có chất lượng 1.1 MỞ ĐẦU Ngày nay, phát triển phần mềm ngày thực khó kiểm sốt được; dự án phần mềm thường kéo dài vượt chi phí cho phép Những nhà lập trình chun nghiệp phải cố gắng hoàn thành dự án phần mềm cách có chất lượng, hạn chi phí cho phép Mục đích chương đưa nhận định tạo nên tranh sở phương pháp tiếp cận khác công việc tạo nên công nghệ phần mềm Các vấn đề cần làm rõ, chi tiết thêm trình bày chương tiếp sau giáo trình 1.2 MỘT SỐ KHÁI NIỆM CHUNG Mục tiêu công nghệ phần mềm tạo phần mềm tốt, giảm đến tối thiểu may rủi gây cho người liên quan Trong trình đề cập, sử dụng thuật ngữ: Phần mềm (software): tập hợp câu lệnh viết nhiều ngơn ngữ lập trình, nhằm tự động thực số chức giải tốn Cơng nghệ (engineering): cách sử dụng công cụ, kỹ thuật cách giải vấn đề Cơng nghệ phần mềm (software engineering): việc áp dụng công cụ, kỹ thuật cách hệ thống việc phát triển ứng dụng dựa máy tính Đó việc áp dụng quan điểm, tiến trình có kỷ luật lượng hố được, có hệ thống để phát triển, vận hành bảo trì phần mềm Chương 1: Tổng quan công nghệ phần mềm Theo quan điểm nhiều nhà nghiên cứu, nhìn cơng nghệ phần mềm mơ hình phân theo ba tầng mà tất tầng nhằm tới mục tiêu chất lượng, chi phí, thời hạn phát triển phần mềm Mơ hình phân theo ba tầng công nghệ phần mềm mô tả sau: Công Công cụ cụ Phương pháp Phương pháp Quy Quy trình trình Ở tầng quy trình (process) liên quan tới vấn đề quản trị phát triển phần mềm lập kế hoạch, quản trị chất lượng, tiến độ, chi phí, mua bán sản phẩm phụ, cấu hình phần mềm, quản trị thay đổi, quản trị nhân (trong mơi trường làm việc nhóm), việc chuyển giao, đào tạo, tài liệu; Tầng phương pháp (methods) hay cách thức, công nghệ, kỹ thuật để làm phần mềm: liên quan đến tất công đoạn phát triển hệ thống nghiên cứu yêu cầu, thiết kế, lập trình, kiểm thử bảo trì Phương pháp dựa nguyên lý cho tất lĩnh vực công nghệ kể hoạt động mơ hình hố kỹ thuật mơ tả Tầng cơng cụ (tools) liên quan đến việc cung cấp phương tiện hỗ trợ tự động hay bán tự động cho tầng q trình phương pháp (cơng nghệ) Qua sơ đồ trên, ta thấy rõ công nghệ phần mềm khái niệm đề cập không tới cơng nghệ cơng cụ phần mềm mà tới cách thức phối hợp công nghệ, phương pháp cơng cụ theo quy trình nghiêm ngặt để làm sản phẩm có chất lượng Kỹ sư phần mềm (software engineer): người biết cách áp dụng rộng rãi kiến thức cách phát triển ứng dụng vào việc tổ chức phát triển cách có hệ thống ứng dụng Công việc người kỹ sư phần mềm là: đánh giá, lựa chọn, sử dụng cách tiếp cận có tính hệ thống, chun biệt, rõ ràng việc phát triển, đưa vào ứng dụng, bảo trì, thay phần mềm Do đặc điểm nghề nghiệp, người kỹ sư phần mềm phải có kỹ như: - Định danh, đánh giá, cài đặt, lựa chọn phương pháp luận thích hợp công cụ CASE - Biết cách sử dụng mẫu phần mềm (prototyping) - Biết cách lựa chọn ngôn ngữ, phần cứng, phần mềm - Quản lý cấu hình, lập sơ đồ kiểm soát việc phát triển tiến trình - Lựa chọn ngơn ngữ máy tính phát triển chương trình máy tính - Đánh giá định loại bỏ nâng cấp ứng dụng Chương 1: Tổng quan công nghệ phần mềm Mục tiêu kỹ sư phần mềm sản xuất sản phẩm có chất lượng cao phù hợp với quy trình phát triển chuẩn mực Việc phát triển (development): định phát triển sản phẩm phần mềm kết thúc sản phẩm phần mềm chuyển giao cho người sử dụng Việc sử dụng (operations): việc xử lý, vận hành ngày sản phẩm phần mềm Việc bảo trì (maintenance): thực thay đổi mang tính logic hệ thống chương trình để chữa lỗi cố định, cung cấp thay đổi công việc, làm cho phần mềm hiệu Việc loại bỏ (retirement): thường việc thay ứng dụng thời ứng dụng 1.3 NHÂN TỐ CON NGƯỜI VÀ PHÂN LOẠI NGHỀ NGHIỆP 1.3.1 Nhân tố người ngành công nghiệp phần mềm Đối với sản phẩn phần mềm, người khơng thể hồn thành mà kết lao động nhóm người-ta gọi nhóm phát triển phần mềm Mỗi thành viên nhóm khơng vị kỷ, thành lao động nhóm xen thành chung phải tuyệt đối trung thành với nhóm Như vậy, nhóm phát triển phần mềm gọi nhóm hợp lý? Sau vài yếu tố cần xem xét: - Nhóm có thành viên, - Nhóm tổ chức nào, - Tình hình thực tế thành viên nhóm, - Mơi trường, điều kiện mà nhóm làm việc, Mỗi thành viên nhóm phải có số kiến thức cần thiết tuỳ thuộc vào vai trò nhóm để phát triển phần mềm 1.3.2 Phân loại nghề nghiệp Yêu cầu phát triển Công nghệ Thông tin (CNTT) Việt nam đòi hỏi cần có người lao động tất ngành kinh tế biết sử dụng hữu hiệu CNTT cơng việc mình, đồng thời cần có người trực tiếp tham gia vào sản xuất, kinh doanh, vận hành CNTT Do cần có lớp người lao động sau:  Những người biết vận dụng sáng tạo CNTT vào nghiệp vụ chun mơn  Những người tham gia quản lí vận hành hệ thống CNTT  Những người tham gia trực tiếp vào việc phát triển xây dựng sản phẩm CNTT, Chương 1: Tổng quan công nghệ phần mềm Việc phân loại nghề nghiệp hệ thống thơng tin phân chia dựa vào tiêu chuẩn như: mức độ kinh nghiệm, loại hình cơng việc, 1.3.2.1 Mức độ kinh nghiệm Sơ cấp Nhân viên cán mức độ sơ đẳng trực tiếp giám sát chặt chẽ, họ làm công việc chuyên môn cấp độ tối thiểu Những cán mức độ sơ đẳng có kỹ năng, khả để tìm thông tin để mở rộng, thúc đẩy thông tin Thường phải khoảng hai năm để thực công việc đẳng cấp Trung cấp Những cán có trình độ trung cấp hầu hết làm việc độc lập, yêu cầu trực tiếp số hoạt động Những người bắt đầu mức độ trung cấp có đến năm kinh nghiệm Thời gian trung bình cấp độ từ – năm Cao cấp Các cán mức độ có trình độ định cơng việc kinh nghiệm kỹ thuật đào tạo, huấn luyện người khác Những nhân viên giám sát người khác, phụ thuộc vào quy mô, phức tạp dự án, họ thường xuyên có điều kiện tiên để lãnh đạo Những cán có từ – năm kinh nghiệm có năm để học kỹ Rất nhiều người kết thúc nghiệp học vấn họ cấp độ lưu lại vài năm để hoàn thành dự án, trở thành chuyên gia công nghệ ứng dụng Lãnh đạo Những nhà lãnh đạo làm việc Họ kiêm tất nhiệm vụ giám sát Một người lãnh đạo thường gọi chuyên gia phụ trách dự án Những chuyên gia có kinh nghiệm, kỹ trình độ đại học có mong muốn quản lý vị trí Chuyên gia kỹ thuật Chuyên gia kỹ thuật người có kinh nghiệm rộng rãi nhiều lĩnh vực Kinh nghiệm chuyên gia bao gồm phát triển ứng dụng, mạng, sở liệu hệ điều hành Các chuyên gia có trình độ quản lý, có bổn phận lực giống mà chịu trách nhiệm quản lý dự án Các chuyên gia làm việc vị trí hệ thống thơng tin khoảng 10 năm lâu trì lâu dài cấp độ Nhà quản lý Chương 1: Tổng quan công nghệ phần mềm Công việc quản lý cách độc lập, thể giá trị riêng cá nhân, mục tiêu tiến hành báo cáo, tường trình quản lý dự án Các nhà quản lý khơng thể trở thành chun gia kỹ thuật theo định hướng họ có kinh nghiệm làm việc hầu hết họ có trách nhiệm cách quản lý Đối với nhà quản lý kỹ thuật việc phân chia đặc điểm công việc kế hoạch mục tiêu, giám sát, quản lý cá nhân, hoạt động liên lạc, hoạt động quản lý dự án Sơ đồ mối liên hệ sau thể sau: Sơ cấp Trung cấp Cao cấp Lãnh đạo Chuyên gia kỹ thuật Nhà quản lý Mối liên hệ đường nghề nghiệp cho mức khác 1.3.2.2 Loại hình cơng việc Ở đây, loại hình cơng việc bàn luận đến dựa vào cách phân loại gồm: phát triển ứng dụng, hỗ trợ ứng dụng, chuyên ngành kỹ thuật, nhân viên vấn đề khác Phát triển ứng dụng Lập trình viên: Các lập trình viên chuyển đổi đồ án chi tiết kỹ thuật sang module mã tự kiểm tra đơn vị Các lập trình viên ln phiên chịu trách nhiệm phát triển ứng dụng bảo trì Những chuyên gia lập trình trình độ đại học thực nhiệm vụ bên ngồi việc lập trình Kỹ sư phần mềm: Một kỹ sư phần mềm thực chức nhà phân tích, nhà thiết kế lập trình viên Các phân tích gia trình độ đại học ln ln tham gia vào tổ chức có cấp độ IS để lập kế hoạch nghiên cứu khả thi Các kỹ sư phần mềm làm ba việc – phân tích, thiết kế lập trình đứng lãnh đạo dự án quản lý dự án Một kỹ sư quản lý phần mềm sơ cấp Chương 1: Tổng quan công nghệ phần mềm thường dành nhiều thời gian lập trình kỹ sư có trình độ cao cấp lại tập trung vào việc lập kế hoạch, nghiên cứu khả thi, phân tích thiết kế Kỹ sư tri thức (KE): Các kỹ sư tri thức suy luận mơ hình ngữ nghĩa từ chun gia để từ xây dựng hệ chuyên gia trí tuệ nhân tạo Các kỹ sư tri thức tương tự kỹ sư phần mềm chun mơn hố kỹ để áp dụng vào vấn đề trí tuệ nhân tạo Việc phát triển mơ hình chương trình cấu trúc trí tuệ đòi hỏi khả quan sát, kỹ vấn sâu sắc, khả trừu tượng hoá vấn đề chuyên môn cá nhân để tạo ý thức lập luận thông tin cần thiết khả phát triển dự đoán thơng tin tính xác với chun gia Hỗ trợ ứng dụng Chuyên gia ứng dụng: Chuyên gia ứng dụng có vùng vấn đề chun mơn hố cho phép họ tham khảo ý kiến đội dự án loại ứng dụng cụ thể Ví dụ nhà phân tích cao cấp chuyển tiền thời gian thực phân chia thời gian dự án chuyển tiền nước quốc tế, biết trước quy tắc, luật lệ phải tuân theo ngân hàng dự trữ liên bang tổ chức chuyển tiền khác Quản trị liệu: Người quản lý liệu quản lý thông tin nguồn thống Với chức này, phận quản lý liệu giúp cho người sử dụng xác định tất liệu sử dụng, liệu có ý nghĩa q trình thực chức cơng ty Những người quản lý liệu thiết lập bảo lưu chuẩn mực để thống liệu Khi liệu xác định, người quản lý liệu làm việc để định dạng xác định cấu trúc sở liệu để sử dụng với ứng dụng Với việc phát triển ứng dụng mới, người quản lý liệu làm việc với phận phát triển ứng dụng để định vị số liệu tự động với phận quản trị CSDL để cung cấp nhóm ứng dụng dễ dàng truy nhập sở liệu tự động hoá Quản trị sở liệu (DBA): Những người quản lý sở liệu quản lý môi trường liệu vật lý tổ chức DBA phân tích, thiết kế, xây dựng bảo lưu sở liệu môi trường phần mềm sở liệu Làm việc với người quản lý liệu xác định liệu DBA xác định sở liệu vật lý nạp thông tin thực tế vào chúng Một người quản lý sở liệu làm việc với nhóm phát triển ứng dụng để cung cấp truy nhập đến liệu tự động để định nghĩa rõ ràng sở liệu cần thiết cho thông tin tự động Kỹ sư trí tuệ nhân tạo: Các kỹ sư trí tuệ nhân tạo làm việc cố vấn giúp đội dự án xác định, thiết kế cài đặt trí tuệ vào ứng dụng Kỹ sư trí tuệ nhân tạo với kỹ sư tri thức dịch kiểm tra vấn đề miền liệu thơng tin lập luận ngơn ngữ trí tuệ nhân tạo Các kỹ sư trí tuệ nhân tạo đạt trình độ chun mơn cao kỹ sư tri thức 10 Chương 1: Tổng quan công nghệ phần mềm Nhà tư vấn: Người tư vấn biết vấn đề thực hành tất Số năm kinh nghiệm cao kiến thức có nhiều Lĩnh vực chun mơn bao gồm vài loại công việc đề cập đến phần Người tư vấn nhờ đến hầu hết trường hợp lắp đặt hệ thống cung cấp kỹ bên ngồi khơng sẵn có Bởi họ thường đào tạo đội ngũ bên trong suốt q trình thực cơng việc Khi nhờ đến, người tư vấn mong chờ có kỹ chuyên biệt áp dụng kỹ việc thực tư vấn Chuyên ngành kỹ thuật Nhà phân tích kỹ sư truyền thơng: Các nhà phân tích kỹ sư truyền thơng phân tích, thiết kế, đàm phán và/ cài đặt thiết bị phần mềm truyền thơng Họ đòi hỏi liên quan chặt chẽ tới kỹ thuật truyền thông làm việc mainframe mạng truyền thông dựa vào PC Để bắt đầu mức xuất phát tảng kiến thức phải có điện tử, kỹ thuật, ứng dụng, khoa học máy tính truyền thơng Chun gia mạng cục bộ: Các chuyên gia mạng cục đặt kế hoạch, lắp đặt, quản lý trì khả mạng cục Điểm khác chuyên gia mạng cục chuyên gia truyền thông phạm vi Các chuyên gia truyền thông làm việc với nhiều mạng kể mainframe; chuyên gia mạng cục làm việc mạng có giới hạn mặt địa lý cấu thành nhiều máy tính cá nhân Những người quản lý mạng cục vị trí nhiều công ty Một người quản lý mạng cục tạo người sử dụng mới, thực thay đổi mức mã bảo mật, cài đặt version phần mềm điều hành mạng cục bộ, cài đặt version sở liệu phần mềm sở mạng cục khác Giám sát tài nguyên cung cấp qua mạng cục bộ, cung cấp khả phục hồi cho mạng cục bộ, quản lý cấu hình mạng cục Lập trình viên hệ thống: Các lập trình viên hệ thống cài đặt bảo dưỡng hệ điều hành ứng dụng hỗ trợ phần mềm Định giá đặc điểm xem xét chúng có cần thiết thời điểm khơng kỹ mà lập trình viên hệ thống cần phát triển Giám sát hàng trăm ứng dụng để xem xét rắc rối có liên quan đến vấn đề hệ thống hay không nhiệm vụ quan trọng Chuyên gia hỗ trợ phần mềm (SSP): Hỗ trợ phần mềm ứng dụng tương tự khác với lập trình viên hệ thống SSP cài đặt bảo dưỡng gói phần mềm sử dụng nhà phát triển ứng dụng người sử dụng Chúng sở liệu, ngôn ngữ hỏi đáp, lưu phục hồi, bảng tính, quản lý khoảng trống đĩa, giao diện, truyền thông Nhân viên Chuyên gia bảo mật: Một chuyên gia bảo mật chịu trách nhiệm bảo mật sẵn sàng phục hồi thảm hoạ Để bảo mật, chuyên gia phải thiết lập chuẩn cho bảo mật liệu, giúp đỡ đội dự án việc định yêu cầu bảo mật 11 Chương 1: Tổng quan công nghệ phần mềm thiết lập chuẩn cho trung tâm bảo mật liệu Tương tự để phục hồi thảm hoạ, chuyên gia bảo mật giúp đỡ người quản lý đội dự án việc xác định liệu nguy cấp cần thiết cho tổ chức Sau chuyên gia giúp trung tâm liệu đội dự án việc phát triển thử nghiệm kế hoạch phục hồi thảm hoạ Nghiên cứu IBM tổ chức khác cho thấy cơng ty khơng có kế hoạch lưu phục hồi bị phá sản xẩy thảm hoạ Nghiên cứu tiến hành nhiều vùng địa lý khác nhau, với nhiều loại thảm hoạ khác nhiều năm Kiểm soát viên (EDP): Các kiểm soát viên EDP thực việc kiểm tra khả tin cậy thiết kế ứng dụng Bất kỳ ứng dụng trì quy định hợp pháp, trách nhiệm dùng hướng dẫn cơng ty bị tạo lại giao dịch phát tiến trình Các kiểm sốt viên EDP đảm bảo mát công ty nhỏ qua việc thiết kế ứng dụng tốt Những khía cạnh thiết kế kiểm sốt viên đánh giá rãnh kiểm soát, khả phục hồi bảo mật Đào tạo: Một người đào tạo kỹ thuật học công nghệ mới, sản phẩm đại lý, đặc điểm ngơn ngữ mới, sau dạy người khác tổ chức sử dụng Đào tạo thực nội tổ chức cơng ty đào tạo có chun mơn đảm nhận Người viết chuẩn kỹ thuật: Những người phát triển chuẩn làm việc với người quản lý để định mặt công việc họ muốn chuẩn hoá để tiêu chuẩn hoá yêu cầu thành sách thủ tục chuẩn hoá cho tổ chức Những kỹ quan trọng người phát triển chuẩn ngôn ngữ chữ viết truyền thông Phát triển tiêu chuẩn việc viết kỹ thuật hoạt động có liên quan với Người viết kỹ thuật lấy thông tin sản phẩm phần mềm, ứng dụng sản phẩm công nghệ thông tin khác viết tài liệu để mô tả đặc điểm, chức năng, công dụng chúng Người viết kỹ thuật phải có kỹ giao tiếp tốt lĩnh vực kỹ thuật phi kỹ thuật Người viết dùng kỹ giao tiếp kỹ thuật để nói phát triển hiểu biết sản phẩm giới thiệu Đảm bảo chất lượng (QA): Các dạng kiểm tra khác tuỳ thuộc vào sản phẩm duyệt Một phân tích đảm bảo chất lượng thường thực với kế hoạch phát triển bắt đầu Anh ta hay ta cần phải tham gia đến sản phẩm nhóm phát triển xuất Sau mà tài liệu có, người phân tích đảm bảo chất lượng phải xem xét thống nhất, hoàn thiện, xác uyển chuyển linh động Bất vấn đề xuất trình xem xét phải ghi lại để trình lên người quản lý dự án Những người phân tích đảm bảo chất lượng phải có kỹ giao tiếp, kỹ giải vấn đề để thực công việc kiểm tra chất lượng Họ cần phải có kinh nghiệm tất khía cạnh phát triển dự án để biết nên làm vấn đề nảy sinh từ đâu Đồng thời nhạy cảm khả phát vấn đề cần phê bình quan trọng Khơng muốn bị nói trước cơng chúng có lỗi 12 Chương 1: Tổng quan cơng nghệ phần mềm mặt lý trí họ biết cơng việc dự án có lợi từ phê bình Nhân viên đảm bảo chất lượng cần phải nhạy cảm với sách vấn đề phát Lập kế hoạch công nghệ: Các chuyên gia giám sát phát triển công nghệ xác định xu hướng, lựa chọn cơng nghệ thích hợp để thử nghiệm tổ chức cuối chạy đua thực kỹ thuật tổ chức Những nhân viên cao cấp cầu nối giới bên cộng đồng đại lý với công ty Đội ngũ nhân viên sơ cấp làm việc với nhân viên cao cấp để tìm dẫn hợp tác quản lý công nghệ Những vấn đề khác Hỗ trợ sản phẩm: Nhân viên hỗ trợ sản phẩm làm việc cho nhóm người dùng cuối bán hàng để cung cấp chuyên môn kỹ thuật liên quan đến sản phẩm hỗ trợ đường dây nóng khác Ngồi kiến thức kỹ thuật sản phẩm, cá nhân cơng việc phải có kỹ trả lời điện thoại tốt phải nói ngơn ngữ khơng chun người sử dụng vấn đề Tiếp thị sản phẩm: Nhân viên hỗ trợ tiếp thị làm việc cho nhà bán hàng để cung cấp thông tin kỹ thuật cho đại diện bán hàng tình tiếp thị Loại cơng việc đòi hỏi khả giao tiếp kỹ giao tiếp tốt với vài kiến thức tiếp thị, chẳng hạn thu hẹp phạm vi giao tiếp, đề cập đến kỹ thuật để giới thiệu cách hiệu với người đại diện bán hàng Tất công ty tư vấn phần cứng, phần mềm có người để làm cơng việc Thơng thường nhân viên cao cấp thực bạn có trình độ chun mơn lĩnh vực cần thiết bạn làm mà khơng cần nhân viên cao cấp Chuyên gia người sử dụng cuối: Chuyên gia người dùng cuối người chuyển yêu cầu sử dụng thành ngôn ngữ kỹ thuật cho nhóm phát triển sử dụng Trong vài tổ chức, chức người phân tích hệ thống kỹ sư phần mềmcông ty khác, có mơi giới người sử dụng cuối với phận sử dụng để thực chức Tóm lại cơng ty phải có kết hợp đặc điểm công việc khác tất phận 1.4 SẢN PHẨM PHẦN MỀM - ĐẶC TÍNH VÀ PHÂN LOẠI Xây dựng phần mềm hoạt động cơng nghệ phần mềm.Một phần mềm gồm hay nhiều ứng dụng (application) - tập hợp chương trình thực tự động hóa số nhiệm vụ nghiệp vụ Nghiệp vụ (Business) bao gồm tập hợp chức như: tìm hiểu thị trường, kiểm tốn, sản xuất quản lý nhân Mỗi chức chia nhỏ thành tiến trình thực Ví dụ: tìm hiểu thị trường tìm hiểu bán hàng, quảng cáo, đưa sản phẩm Mỗi tiến trình lại phân chia theo nhiệm vụ đặc thù chúng Ví dụ: việc bán hàng phải trì mối quan hệ với khách hàng, làm việc theo trình tự phục vụ dành cho khách hàng Các ứng dụng hỗ trợ cho nhiệm vụ cách đơn lẻ Trái lại ứng dụng tìm hiểu thị trường có đặc 13 Chương 1: Tổng quan cơng nghệ phần mềm điểm riêng, có chức riêng, ngồi cung cấp số thơng tin chung nhằm hồn thiện tất nhiệm vụ Mọi ứng dụng có số đặc điểm chung (tương đồng) số đặc điểm riêng Các đặc điểm chung ứng dụng thường đề cập là: đặc tính (characteristics) , tính đáp ứng (responsiveness) loại (type) ứng dụng 1.4.1 Các đặc tính phần mềm Các đặc tính phần mềm tất điểm chung cho ứng dụng: liệu, tiến trình, ràng buộc, giao diện 1.4.1.1 Dữ liệu Đầu vào: Dữ liệu vào liệu bên ngồi máy tính, chúng đưa vào cách sử dụng thiết bị đầu vào Thiết bị đầu vào sử dụng để đưa liệu vào máy tính là: bàn phím, máy qt, truyền từ máy tính khác Đầu ra: Dữ liệu ngược lại so với liệu vào chỗ, đầu liệu đưa ngồi máy tính Một số thiết bị đầu máy in, hình hiển thị, máy tính khác Sự lưu trữ liệu tìm kiếm liệu: Dữ liệu mô tả dạng vật lý, máy đọc khn dạng liệu Việc tìm kiếm liệu hiểu bạn truy nhập vào liệu dạng lưu trữ Việc lưu trữ tìm kiếm ln với (cả mức quan niệm lẫn chương trình phần mềm) Việc lưu trữ liệu đòi hỏi hai kiểu định nghĩa liệu kiểu vật lý kiểu logic 1.4.1.2 Xử lý Xử lý bao gồm chuỗi lệnh kiện có liên quan với làm việc với liệu Kết xử lý là: làm thay đổi sở liệu, đưa liệu trả lời thiết bị đầu cuối, máy in in giấy, yêu cầu trang thiết bị, sản sinh chương trình, lưu trữ luật, thơng tin mới, suy diễn tình huống, phần tử 1.4.1.3 Ràng buộc Ràng buộc bao gồm: ràng buộc thứ tự trước, ràng buộc thứ tự sau, ràng buộc thời gian, ràng buộc cấu trúc, ràng buộc điều khiển ràng buộc tham chiếu  Ràng buộc thứ tự trước (Prerequisite Constraint): Bắt buộc thứ tự trước điều kiện phải đáp ứng để bắt đầu q trình xử lý  Ràng buộc thứ tự sau (Postrequisite Constraint): Ràng buộc loại điều kiện cần phải thỏa mãn để q trình xử lý hồn thành Cụm câu lệnh đưa vào cuối trình xử lý  Ràng buộc thời gian (Time Constraint): Bao gồm ràng buộc thời gian xử lý, thời gian phân chia cho trình xử lý, thời gian yêu cầu 14 Chương 1: Tổng quan cơng nghệ phần mềm q trình xử lý bên ngoài, thời gian xử lý đồng bộ, thời gian trả lời cho trình xử lý với giao diện  Ràng buộc mặt cấu trúc: Có thể hiểu bao gồm việc xác định loại đầu vào đầu liệu cho phép, trình xử lý thực mối quan hệ trình với  Ràng buộc điều khiển: Liên quan đến việc trì mối quan hệ liệu  Ràng buộc suy diễn: Đó khả xảy từ ứng dụng, dựa vào kết trước đó, dựa vào quan hệ liệu, ta dẫn đến kết khác 1.4.1.4 Giao diện Quan trọng giao diện người sử dụng - phương tiện giao tiếp người sử dụng chương trình Sau giao diện thủ cơng - mẫu báo cáo, số giao diện chuẩn hóa giao diện mạng LAN Institue of Electrical and Electronic Engineers, chuẩn OSI (Open System Interface) International Standards Organization, 1.4.2 Tính đáp ứng Tính đáp ứng ứng dụng thời gian sử dụng đáp ứng yêu cầu từ người dùng ứng dụng Nó định nghĩa định hướng thời gian mà ứng dụng xử lý như: xử lý theo lô, xử lý theo kiểu trực tuyến hay xử lý theo thời gian thực Xử lý theo lô Ứng dụng xử lý theo lô ứng dụng mà phiên giao dịch (transactions) gom lại theo thời gian thực theo nhóm Tại thời điểm xác định, công việc xếp thành lô đưa vào xử lý 2.Xử lý theo kiểu trực tuyến Ứng dụng trực tuyến định vị trực tiếp nhớ sử dụng cách phiên giao dịch kiện mà không cần phải nạp lại ứng dụng vào nhớ 3.Xử lý theo thời gian thực Ứng dụng thời gian thực xử lý phiên giao dịch kiện dựa thời gian thực tế mà trình xử lý xảy Sau đó, kết trạng thái sẵn sàng để phục vụ điều khiển tiến trình vật lý Những thay đổi thu từ trình xử lý thời gian thực khơi phục lại trạng thái ban đầu Để ý chương trình xử lý theo thời gian thực xử lý nhiều giao dịch cách tương tranh - trình xử lý song song tương tranh tất giao dịch hoạt động thời điểm xử lý tương tranh hiểu tất giao 15 Chương 1: Tổng quan công nghệ phần mềm dịch tiến trìnhgiao dịch thực thời điểm 1.4.3 Phân loại phần mềm Phân loại phần mềm định nghĩa định hướng cơng việc ứng dụng, ví dụ theo kiểu hướng giao dịch, hỏi đáp, trợ giúp định, 1.4.3.1 Ứng dụng hướng giao dịch Ứng dụng hướng giao dịch có tên hệ thống xử lý giao dịch (TPS – Transaction Processing Systems) sử dụng nhằm hỗ trợ hoạt động ngày công việc, bao gồm: xử lý đơn hàng, quản lý kiểm kê, ghi quỹ, Chúng đặc trưng ứng dụng mà yêu cầu, liệu trình xử lý biết rõ có cấu trúc tốt Theo nghĩa biết rõ, chức phải có tính lập lại, thân thiện rõ ràng Theo nghĩa cấu trúc tốt, vấn đề phải xác định cách đầy đủ rõ ràng Các yêu cầu định danh đội ngũ xây dựng phần mềm 1.4.3.2 Ứng dụng sơ liệu Ứng dụng sở liệu sử dụng ứng dụng xử lý câu hỏi liệu Ngôn ngữ truy vấn liệu chuẩn SQL cho phép người sử dụng đặt câu hỏi dạng: họ biết họ cần khơng biết làm cách để lấy liệu Các phần mềm máy tính đưa phương pháp xử lý truy cập tối ưu để thực thao tác Ở đây, có ba loại câu hỏi chính: 1- Tương tác: liệu sử dụng xong không cần nữa? 2- Dữ liệu lưu trữ để sử dụng lại thay đổi tương lai? 3- Dữ liệu lưu trữ để sử dụng thường xuyên số trình lập lại? Ứng dụng truy vấn hỗ trợ khái niệm kho chứa liệu (data warehouse) Đó sơ đồ lưu trữ xây dựng quan điểm: hầu hết liệu cần phải giữ lại cho truy nhập truy vấn trực tuyến Tại lưu lại phiên cũ phần lớn phần tử sở liệu, lần vào giao dịch ghi liên quan đến số trình hoạt động 1.4.3.3 Ứng dụng hỗ trợ định (Decision Supports System - DSS) DSS làm nhiệm vụ xác định giải toán Khác với ứng dụng truy vấn mà người chuyên nghiệp nhà quản lý sử dụng để tìm kiếm tổng hợp liệu trình hoạt động (như ví dụ trên), với ứng dụng hỗ trợ định, họ phân tích, xác định xu hướng, thực phân tích liệu mặt thống kê hay tốn học từ giải tốn khơng cấu trúc Dữ liệu dùng cho DSS thường lấy từ ứng dụng sử dụng giao dịch 16 Chương 1: Tổng quan cơng nghệ phần mềm Vì thông tin thường không đầy đủ, DSS thường giải tốn phương pháp lặp, áp dụng mơ hình toán học thống kê để tới định Dữ liệu hỗ trợ và/hoặc hiệu chỉnh thường đưa trở lại q trình mơ hình hố để làm mịn phân tích Ta thường gặp số hệ thống xem sản phẩm phụ DSS như: + Hệ thống thông tin thi hành (Excutive Information System - EIS) sản phẩm phụ DSS EIS hỗ trợ định thực cung cấp khả tìm kiếm mơi trường cách tự động Các hệ thi hành hàng đầu phải xử lý vấn đề với thông tin không đầy đủ, khơng xác, khơng rõ ràng có liên quan đến tương lai EIS tích hợp thơng tin từ sở liệu bên với ứng dụng nội để tạo khả mơ hình hố tìm kiếm thông tin tự động Sự khác EIS với DSS liệu không hồn chỉnh, khơng rõ ràng chí khơng xác + Hệ thống hỗ trợ định theo nhóm (Group DSS - GDSS) dạng đặc biệt ứng dụng DSS GDSS có nhật ký ghi lại trình xây dựng định để hỗ trợ nhóm người có trách nhiệm định (decision maker) GDSS tập trung chủ yếu vào trình tương tác có khơng có phân tích thống kê mơ hình hố liệu nhóm Các phần mềm sở liệu GDSS có xu hướng xây dựng DSS, bao gồm số bảng tính thủ tục biểu diễn tổng kết bên tham gia dạng số đồ thị Các chức điển hình GDSS là: 1) Ghi lại ý kiến vô danh 2) Tuyển cử dân chủ bầu nhà lãnh đạo 3) Thảo luận bầu cử để đạt thoả thuận nhóm 1.4.3.4 Hệ chuyên gia (Expert Systems - ES) Các ứng dụng hệ chuyên gia ứng dụng tin học tự động hoá tri thức khả lập luận nhiều chuyên gia lĩnh vực cụ thể ES phân tích đặc trưng tình để đưa lời khuyên, khuyến nghị phác hoạ kết luận trình lập luận tự động Một hệ ES bao gồm bốn thành phần chính: hệ thống thu thập tri thức, sở tri thức, mô tơ suy diễn (còn gọi sở luật) hệ thống diễn giải + Hệ thống thu thập tri thức phương tiện xây dựng sở tri thức Nói chung, nhiều tri thức hệ thống “thơng minh” Hệ thống thu thập tri thức phải cung cấp kiện khởi đầu, quy tắc mẹo mực (heuristic rules of thumb) dễ dàng bổ sung tri thức Thông thường, lập luận mà làm cách để tới phương án Từ phân tích q trình người suy nghĩ phân tích vấn đề áp dụng để xây dựng ứng dụng Tại ta lại làm việc đó? Đó q trình suy diễn nội tâm khó diễn giải Khó khăn không riêng Suy luận thông tin từ tri thức chuyên gia khó khăn để xây dựng hệ chuyên gia có hiệu + Cơ sở tri thức phiên tự động hệ thống hoá tri thức chuyên gia cộng với mẹo áp dụng tri thức Thiết kế sở tri thức khó suy luận thơng tin dù thiết kế bị giới hạn hệ thống cài đặt Vì 17 Chương 1: Tổng quan cơng nghệ phần mềm vậy, ngôn ngữ đặt biệt cho ES thiết kế, cho phép xác định mối quan hệ mẩu thông tin sử dụng cách mềm dẻo thơng tin lập luận + Vì mục đích lập luận tìm giải pháp cho tình huống, ES sử dụng lập luận suy diễn để xây dựng nhiều giải pháp cho tình cho trước Một vài giải pháp đưa thơng tin khơng hồn chỉnh lập luận phần Xác suất xác giải pháp hệ thống đưa thường đo mức độ hữu ích giải pháp Các vấn đề liên quan đến quy tắc đạo đức thường xét đến ES so với ứng dụng khác + Thành phần quan trọng cuối ES khả diễn giải lập luận cho người sử dụng Tìm lại trình suy diễn điều quan trọng giúp người sử dụng có kinh nghiệm sử dụng hệ thống xác định mức độ tin cậy vào kết ES đưa 1.4.3.5 Các hệ thống nhúng (Embedded systems) Đây ứng dụng vốn phần hệ thống lớn Thường, thân ứng dụng đơn giản phức tạp chúng giao diện để tạo độ xác hồn hảo, tính theo thời gian thực (real - time) phạm vi đời sống hệ thống lớn Việc phát triển ứng dụng kết hợp địa phận nhà thiết kế theo học ngành khoa học máy tính nhà thiết kế hệ thống thơng tin 1.5 MỘT SỐ MƠ HÌNH XÂY DỰNG PHẦN MỀM 1.5.1 Mơ hình tuyến tính (The linear sequential model) Đơi lúc gọi mơ hình kinh điển (classic model) hay mơ hình thác nước (waterfall model) Mơ hình xem q trình xây dựng sản phẩm phần mềm bao gồm nhiều giai đoạn tách biệt, sau hồn tất giai đoạn chuyển đến giai đoạn sau Có hai hoạt động phổ biến thực giai đoạn là: kiểm tra - phê chuẩn quản lý cấu hình Tổng kết giai đoạn kiểm tra, phê chuẩn quản lý cấu hình mục tiêu sản phẩm Việc kiểm tra đưa khuôn mẫu đắn tương ứng sản phẩm phần mềm đặc tính Sự phê chuẩn đưa chuẩn mực phù hợp hay chất lượng sản phẩm phần mềm mục đích q trình hoạt động Tuy vậy, thường dự án có hàng ngàn trang tài liệu mà không ngoại trừ tác giả đọc đến Thơng tin ứng dụng nằm đầu người việc trao đổi thông tin trở ngại lớn để có thành công hệ thống Kết luận văn phương tiện tốt để mô tả yêu cầu phức tạp ứng dụng Thêm vào đó, mơ hình bộc lộ số nhược điểm quan trọng như:  Mối qua hệ giai đoạn 18 Chương 1: Tổng quan công nghệ phần mềm  Hệ thống phải kết thúc giai đoạn khó thực đầy đủ yêu cầu khách hàng Mơ hình tóm tắt sau: Phân tích yêu cầu Thiết kế Cài đặt thử nghiệm đơn thể Thử nghiệm tổng thể Bảo trì phát triển 1.5.2 Mơ hình mẫu (Prototyping model) Thơng thường, khách hàng đưa mục tiêu họ cách chung chung mà họ không đưa cách cụ thể vào, tiến trình xử lý chúng Thêm vào đó, khơng thể khơng quan tâm đến thuật tốn sử dụng, tính tương thích sản phẩm phần mềm với mơi trường như: phần cứng, hệ điều hành Trong trường hợp này, mơ hình mẫu lựa chọn tốt cho người lập trình Những điểm mơ hình mẫu tóm tắt theo sơ đồ sau: Phác thảo nét Xây dựng phần mềm S Sử dụng phần mềm Hệ thống thích hợp Đ Chuyển giao phần mềm 19 Chương 1: Tổng quan cơng nghệ phần mềm Mơ hình mẫu cách để phá vỡ khắt khe, cứng nhắc chu trình dự án Tuy vậy, mơ hình mẫu, sử dụng sai làm hỏng phân tích thiết kế, khơng hồn thiện mẫu thành ứng dụng thực vấn đề cần quan tâm Thêm vào hệ thống khơng chuẩn hóa, chi tiết việc xử lý, việc kiểm tra tính hợp lệ liệu đòi hỏi kiểm tốn bị bỏ quên việc đưa mẫu vào sản xuất Trong tương lai, tạo mẫu thích hợp với đánh giá thiết kế, cải tiến cách dùng phần cứng phần mềm Tạo mẫu thường đôi với ngôn ngữ lập trình bậc cao ngày có nhiều cơng cụ đặt mẫu tích hợp với CASE 1.5.3 Mơ hình xoắn ốc (The spiral model) Mơ hình Boehm đưa nên đơi lúc gọi mơ hình Boehm's (The Boehm's spiral model) Nó xem kết hợp mơ hình thác nước mơ hình mẫu đồng thời thêm thành phần - phân tích rủi ro Bao gồm bốn hoạt động chính:  Planning: Xác định mục tiêu, tương tác ràng buộc  Risk analysis: Phân tích lựa chọn định/giải rủi ro  Engineering : Phát triển sản phẩm  Customer evaluation: Đánh giá kết xây dựng Mơ hình tóm tắt sau: Phân tích rũi ro Kế hoạch Phân tích rũi ro sở yêu cầu ban đầu Lập kế hoạch thu tập yêu cầu ban đầu Phân tích rũi ro sở phản ứng khách hàng Kế hoạch dựa đánh giá khách hàng Hướng hoàn thiện hệ thống Đánh giá sản phẩm Bản mẫu Tiếp tục phát triển hệ thống? Khách hàng đánh giá Các mẫu Xây dựng sản phẩm Trong vòng xốy ốc, mục đích, lựa chọn, ràng buộc định nghĩa nguy xác định phân tích Nếu phân tích lỗi có vài u cầu khơng chắn, tạo mẫu dược tiến hành để giúp đỡ nhà phát 20 Chương 1: Tổng quan công nghệ phần mềm triển khách hàng Mô mơ hình khác sử dụng để xác định vấn đề làm mịn yêu cầu Khách hàng đánh giá công việc đưa gợi ý Trên sở ý kiến đó, phần lập kế hoạch phân tích lỗi xuất Mơ hình xốy ốc mơ hình hướng tiếp cận thực để phát triển hệ thống lớn Nó sử dụng mơ hình mẫu chế loại trừ lỗi, cho phép nhà phát triển áp dụng mơ hình mẫu chu trình phát triển Nó kế thừa cách tiếp cận hệ thống bước từ chu kỳ sống cổ điển kết hợp với trình lặp lại phù hợp với thực tế Giống quy trình khác, mơ hình xốy ốc công cụ vạn Đối với hệ thống lớn, khó điều khiển tiến hóa phần mềm Nó đòi hỏi phải có kỹ đánh giá lỗi Cuối cần phải có thêm thời gian để kiểm nghiệm phương pháp 1.5.4 Mơ hình đài phun nước Đây mơ hình cách tiếp cận hướng đối tượng, hệ thống xem hệ thống thực thể tác động qua lại để đạt mục đích Mơ hình tương ứng với mơ hình thác nước cách tiếp cận hướng thủ tục Ở đây, ta thấy có phần lặp giao bước phân tích, thiết kế cài đặt Các điểm mơ hình tóm tắt sau: Bảo trì Lập trình hướng đối tượng Thiết kế hướng đối tượng Ứng dụng Phát triển tương lai LTHĐT Các đối tượng chương trình TKHĐT Các đối tượng không gian lời giải PTHĐT Phân tích hướng đối tượng Các đối tượng khơng gian tốn 1.5.5 Mơ hình phát triển dựa thành phần 21 Chương 1: Tổng quan công nghệ phần mềm Xuất phát từ quan điểm: "Buy not build", tư tưởng phát triển dựa thành phần lắp ráp hệ thống từ thành phần có Do vậy, kiến trúc phần mềm hệ thống dựa vào kiến trúc phần mềm thành phần phần mềm tiêu chuẩn nên hệ thống đạt chất lượng cao Phương pháp phát triển dựa thành phần gần tương tự phương pháp phát triển hướng đối tượng Hoạt động công nghệ bắt đầu với lớp tham dự để phát triển hệ thống Nếu lớp tìm thấy thư viện thích nghi tốt, chúng lấy phát triển hệ thống Ngược lại, chúng phát triển để sử dụng bổ sung vào thư viện sử dụng lại Thành phần phần mềm sử dụng lại có độ xác cao nói khơng chứa lỗi Mặc dầu khơng thường xuyên chứng minh mặt hình thức với việc sử dụng lại, lỗi tìm thấy loại trừ; chất lượng thành phần cải thiện kết Khi thành phần sử dụng lại ứng dụng thơng qua tiến trình phần mềm, tốn thời gian để tạo kế hoạch, mơ hình, tài liệu, mã liệu mà chúng cần thiết để tạo hệ thống Thêm vào, chức mức phân phối cho người sử dụng với đầu vào cơng sức hơn, vậy, hiệu suất phần mềm cải thiện Những điểm mơ hình tóm tắt sau: Kế hoạch Phân tích lỗi Giao tiếp với khách hàng Đánh giá khách hàng Xây dựng hay dừng hệ thống 1.6 Thành phần để xây dựng hệ thống Hợp cho phiên hệ thống thứ n Tìm kiếm thư viện thành phần Bổ sung thành phần vào thư viện Sử dụng thành phần thích hợp Xây dựng thành phần khơng thích hợp PHƯƠNG PHÁP PHÁT TRIỂN PHẦN MỀM Khác với thời kỳ đầu tin học, chương trình phụ thuộc nhiều vào thiết bị người ta quan tâm đến "mẹo vặt" lập trình, ngày người ta quan tâm đến nguyên lý phương pháp để phát triển phần mềm Các nguyên lý phương pháp đề xuất nhằm nâng cao suất lao động cho nhóm phát triển phần mềm Năng suất bao gồm tính đắn sản phẩm, tính dễ đọc, dễ sửa đổi, dễ thực hiện, tận dụng tối đa khả thiết bị mà không bị phụ thuộc vào thiết bị 22 Chương 1: Tổng quan công nghệ phần mềm Có nhiều phương pháp đề cập như: phương pháp hướng chức năng, phương pháp hướng đối tượng, phương pháp ngữ nghĩa, chí khơng phương pháp để phát triển phần mềm Bên cạnh phương pháp để định cho việc tạo phân tích thiết kế, người ta ý đến phương pháp làm để đưa người dùng tham gia vào quy trình gọi phương pháp luận xã hội 1.7 VAI TRÒ CỦA NGƯỜI DÙNG TRONG GIAI ĐOẠN PHÁT TRIỂN PHẦN MỀM Trong ứng dụng trước xây dựng thường xun khơng có bàn bạc với người sử dụng, cô lập công nghệ phần mềm người dùng dẫn đến hệ thống có khả làm việc mặt kỹ thuật, thông thường không đáp ứng nhu cầu người sử dụng, thường xuyên làm gián đoạn q trình làm việc Để có tham gia người sử dụng trình phát triển ứng dụng, phương thức đòi hỏi họp ngồi lề tất người sử dụng có liên quan người hệ thống - thường người gặp từ đến 10 ngày để phát triển mô tả chức chi tiết yêu cầu ứng dụng Các họp ban ngày sử dụng phân tích mới, họp ban đêm lập tài liệu kết ban ngày để xem xét lại tiếp tục chắt lọc ngày Có nhiều lợi ích từ việc tham gia người sử dụng phát triển ứng dụng  Trước tiên xây dựng cam kết người sử dụng - người đương nhiên đảm nhiệm quyền sở hữu hệ thống  Thứ hai, người sử dụng chuyên gia thực công việc tự động - lại đại diện hồn tồn thơng qua phát triển  Thứ ba, nhiệm vụ người sử dụng thực bao gồm việc thiết kế hình, mẫu, báo cáo, phát triển tài liệu người sử dụng, phát triển tiến hành kiểm tra công nhận, Sự tham gia người sử dụng không ước muốn mà mệnh lệnh tiến trình sản phẩm phát triển ứng dụng hồn tồn hiệu Khía cạnh quan trọng tham gia người sử dụng phải có ý nghĩa Người sử dụng phải người định người mong muốn tham gia vào trình phát triển Sử dụng đội ngũ nhân viên cấp thấp định nhà quản lý mở rộng cách để kéo người sử dụng vào ứng dụng phát triển Mục tiêu việc tham gia người sử dụng cho người phát triển hệ thống không phát triển hệ thống làm việc với đối tác kẻ thù Khi người sử dụng tham gia họ tạo quy định khơng mang tính kỹ thuật Những kỹ sư phần mềm giải thích hướng dẫn người sử dụng tạo quy định kỹ thuật, ví dụ việc thiết kế 23 Chương 1: Tổng quan cơng nghệ phần mềm hình, giải thích tác động suy luận quy định kỹ thuật yếu Việc tham gia người sử dụng có nghĩa người sử dụng điều khiển dự án, tạo nên phần lớn quy định có tính định cuối tất định lớn Các kỹ sư phần mềm nhân viên hệ thống quản lý thông tin khác hoạt động kỹ thuật viên phục vụ, chức họ Câu hỏi Nhân tố người có vai trò ngành cơng nghiệp phần mềm? Tại lại có phân loại nghề nghiệp Các đặc tính phần mềm Việc phân loại phần mềm có đem lại lợi ích việc phát triển phần mềm Phân tích đặc điểm mơ hình phát triển phần mềm Khi xây dựng phần mềm, người ta dựa vào yếu tố để chọn mơ hình phát triển (Vòng đời?) Hãy lợi ích có người sử dụng tham gia vào trình phát triển phần mềm 24 ... Qua sơ đồ trên, ta thấy rõ công nghệ phần mềm khái niệm đề cập không tới công nghệ cơng cụ phần mềm mà tới cách thức phối hợp công nghệ, phương pháp công cụ theo quy trình nghiêm ngặt để làm sản... nét Xây dựng phần mềm S Sử dụng phần mềm Hệ thống thích hợp Đ Chuyển giao phần mềm 19 Chương 1: Tổng quan công nghệ phần mềm Mơ hình mẫu cách để phá vỡ khắt khe, cứng nhắc chu trình dự án Tuy vậy,... phần mềm Mơ hình phân theo ba tầng công nghệ phần mềm mô tả sau: Công Công cụ cụ Phương pháp Phương pháp Quy Quy trình trình Ở tầng quy trình (process) liên quan tới vấn đề quản trị phát triển phần

Ngày đăng: 01/04/2019, 10:42

TỪ KHÓA LIÊN QUAN

w