A. Tổng quan phần mềm.
1. Các khái niệm cơ bản.
• Phần mềm là gì :Phần mềm (Software) là một tập hợp những câu lệnh hoặc chỉ thị (Instruction) được viết bằng một hoặc nhiều ngôn ngữ lập trình theo một trật tự xác định, và các dữ liệu hay tài liệu liên quan nhằm tự động thực hiện một số nhiệm vụ hay chức năng hoặc giải quyết một vấn đề cụ thể nào đó.
Phần mềm dưới góc nhìn của người sử dụng :
-Chương trình thực thi được trên máy tính hoặc các thiết bị chuyên dụng khác
-Nhằm hỗ trợ cho các nhà chuyên môn trong từng lĩnh vực chuyên ngành thực hiện tốt hơn các thao tác nghiệp vụ của mình.
Phần mêm dưới góc nhìn của chuyên viên tin học:
-Thành phần giao tiếp
-Thành phần xử lý
-Thành phần lưu trữ
• Công nghệ (Engineering): là cách sử dụng các công cụ, kỹ thuật để giải quyết vấn đề.
• Công nghệ phần mềm (SE – Software Engineering): Áp dụng các công cụ, các kỹ thuật một cách có hệ thống để phát triển các ứng dụng dựa trên máy tính.
2 . Một số khái niệm cơ bản liên quan.
• Kỹ sư phần mềm (Software Engineer)
• Phát triển phần mềm (SW Developtment) – quá trình từ khi quyết định SX PM đến khi chuyển giao cho KH
• Sử dụng (Operations) – Sử lý, vận hành PM
• Bảo trì (Maintenance) – Quá trình khắc phục lỗi, thay đổi logic -> Phần mềm tốt hơn
• Loại bỏ (Retirement) – Thay thế ứng dụng bằng ứng dụng mới
3 .Tiến hóa của công nghệ phần mềm.
• Những năm đầu (từ 1950 đến 1960):
-Số lượng máy tính rất ít và phần lớn mỗi máy đều được đặt hàng chuyên dụng cho một ứng dụng đặc biệt.
- Phương thức chính là xử lý theo lô (batch),
- Môi trường lập trình có tính chất cá nhân
- Thời kỳ này phát triển phần mềm chưa được quản lý
• Thời kỳ năm 1960 đến giữa những năm 1970:
- Các hệ thống đa nhiệm, đa người sử dụng (ví dụ: Multics, Unix,...) xuất hiện dẫn đến khái niệm mới về tương tác người máy.
- Tiến bộ lưu trữ trực tuyến làm xuất hiện thế hệ đầu tiên của hệ quản trị CSDL.
- Số lượng các hệ thống dựa trên máy tính phát triển, nhu cầu phân phối mở rộng, thư viện phần mềm phát triển, quy mô phần mềm ngày càng lớn làm nẩy sinh nhu cầu sửa chữa khi gặp lỗi .
- Chưa được quản lý.
• Thời kỳ giữa những năm 1970 đến đầu năm 1990:
- Hệ thống phân tán (bao gồm nhiều máy tính, mỗi máy thực hiện một chức năng và liên lạcvới các máy khác) xuất hiện làm tăng quy mô và độ phức tạp của phần mềm ứng dụng trên chúng.
- Mạng toàn cục và cục bộ, liên lạc số giải thông cao phát triển mạnh làm tăng nhu cầu thâmnhập dữ liệu trực tuyến.
- Công nghệ chế tạo các bộ vi xử lý tiến bộ nhanh khiến cho máy tính cá nhân, máy trạm để bàn, và các thiết bị nhúng phát triển mạnh khiến cho nhu cầu về phần mềm tăng nhanh.
- Thị trường phần cứng đi vào ổn định, chi phí cho phần mềm tăng nhanh và có khuynh hướng vượt chi phí mua phần cứng.
• Thời kỳ sau 1990
- Kỹ nghệ hướng đối tượng là cách tiếp cận mới đang nhanh chóng thay thế nhiều cách tiếp cận phát triển phần mềm truyền thống trong các lĩnh vực ứng dụng
- Sự phát triển của Internet làm cho người dùng máy tính tăng lên nhanh chóng dẫn đến sự phát triển nhanh của phần mềm và phần cứng
- Phần mềm trí tuệ nhân tạo ứng dụng các thuật toán phi số như hệ chuyên gia, mạng nơ ron nhân tạo được ứng dụng
4. Khủng hoảng phần mềm.
• Những vấn đề trong sản xuất phần mềm
Không có phương pháp mô tả rõ ràng định nghĩa yêu cầu của người dùng, sau khi bàn giao sản phẩm dễ phát sinh những trục trặc.
Với những phần mềm quy mô lớn, tư liệu đặc tả đã cố định thời gian dài, do vậy khó đáp ứng nhu cầu thay đổi của người dùng 1 cách kịp thời trong thới gian đó.
Nếu không có phương pháo luận thiết kế nhât quán mà thiết kế theo cách riêng của nhóm hay công ty thì sẽ dẫn đến suy giảm chất lượng phần mềm do phụ thuộc quá nhiều vào con người.
Nếu không có chuẩn về làm tư liệu quy trình sản xuất phần mềm, thì những đặc tả không rõ rang sẽ làm giảm chất lượng phần mềm.
Nếu không kiểm thử tính đúng đắn của phần mềmở tưng giai đoạn mà chỉ kiểm thử ở giai đoạn cuối và phát hiện lỗi thì bàn giao sản phẩm không đúng hạn.
Nếu coi trọng việc lập trình hơn khâu thiết kếthì thường dẫn đến làm giảm chất lượng phần mềm
Nếu coi thường việc tái sử dụng phần mềm, thì năng suất lao động sẽ giảm
Phần lớn trong quy trình phát triển phần mềm có nhiều thao tác do con người thực hiện. do vậy năng suất lao động thường bị giảm
Không chứng minh đc tính đúng đắn của phần mềm, do vậy độ tin cậy sẽ giảm
Chuẩn 1 phần mềm tốt không thể đo đc 1 cách định lượngdo vậy không thể đánh giá đc một hệ thống đúng đắn hay không.
Khi đầu tư nhân lực lớn vào bảo trì sẽ làm giảm hiệu suất lao động của nhân viên
Công việc bảo trì kéo dài làm ảnh hưởn tới chất lượng của tư liệu và ảnh hưởng xấu đến những việc khác
Quản lý dụ án lỏng lẻokéo theo lịch trình cũng ko rõ rang
Không có tiêu chuẩn để ước lượng nhân lựcvào dự toán kéo dài thời hạn và vượt kinh phí dự án.
5 . Thách thức.
• Thách thức PTPM gia tăng, nguyên nhân:
Khả năng PM không thể SD hết được tiềm năng của phần cứng.
Khả năng XD phần mềm không bắt nhịp được với nhu cầu SD PM tăng lên, đặc biệt là khi Internet phát triển
Quy mô và độ phức tạp của PM ngày càng tăng
Khả năng bảo trì hệ thống PM cũ tồn tại khó khăn và chi phí lớn
B . Phần mềm
1. Phần mềm được thể hiện với 3 bộ phận cấu thành.
• Các tập lệnh: là phần giao tiếp với phần cứng, tạo thành từ các nhóm lệnh chỉ thị cho máy tính biết trình tự thao tác xử lý dữ liệu.
-Bao gồm :
Phần mềm cơ bản.
Phần mềm ứng dụng.
• Cấu trúc dữ liệu :là phần được lưu trữ trên bộ nhớ,gồm việc lưu trữ thông tin được mã hóa.
• Các tài liệu kỹ thuật liên quan: là các tài liệu mô tả quá trình thiết kế và hướng dẫn sử dụng phần mềm.
2. Đặc trưng của phần mềm.
• Phần mềm không hỏng đi mà sẽ thoái hóa theo thời gian:
• Không được lắp ráp từ thành phần có sẵn.
Được phát triển mà không biết trước được hiệu quả và giá thành cụ thể.
Thường được xây dựng theo đơn đặt hàng của khách
• Phần mềm là hệ thống logic, không phải là hệ thống vật lý.
• Bản chất là có sự phức tạp và tính thay đổi.
• Được phát triển chủ yếu theo nhóm.
3. Phân loại phần mềm.
-Phần Mềm:
+Mức Độ Hoàn Thiện
Phần mềm đơn lẻ
Phần mềm mang tính hệ thống
+Chức Năng Thục Hiện
Phần mềm hệ thống
Phần mềm ứng dụng
Phần mềm công cụ
+Lĩnh Vực Phục Vụ
Phần mềm nghiệp vụ
Phần mềm nhúng
Phần mềm máy tính cá nhân
Phần mềm web.
4. Tiêu chuẩn phần mềm tốt.
• Đạt được mục tiêu thiết kế đề ra
• Chi phí vận hành là chấp nhận được
• Đáp ứng được chuẩn mực của hệ thống thông tin hiện hành vd: tính sẵn sàng, an toàn…
• Sản phẩm tạo ra có giá trị xác đáng, thiết thực, góp phần làm nâng cao chất lượng SP
• Bảo trì được, không tốn kém
• Có tính khả dụng – dễ dàng đối với nhiều đối tượng
• Mềm dẻo, có khả năng thích nghi cho việc phát triển tiếp
• Tính khả chuyển: Dễ dàng chuyển đổi môi trường
C . Công nghệ phần mềm
1. Khái niệm.
Công nghệ phần mềm hay kỹ nghệ phần mềm (tiếng Anh: software engineering) là sự áp dụng một cách tiếp cận có hệ thống, có kỷ luật, và định lượng được cho việc phát triển, sử dụng và bảo trì phần mềm ( nguồn wikipedia)
-Theo Fritz Bauer
Kỹ nghệ phần mềm là quá trình sử dụng các nguyên tắc kỹ thuật có cơ sở để xây dựng các phần mềm một cách kinh tế để hoạt động tin cậy và chạy hiệu quả trên hệ thống máy thật
-Theo IEEE
Việc áp dụng cách nghiên cứu và tiếp cận có hệ thống, quy tắc, có thể xác định số lượng để phát triển, vận hành và bảo trì phần mềm; nghĩa là áp dụng kỹ thuật vào phần mềm
2. Các vấn đề liên quan đến công nghệ phần mềm.
• Kỹ nghệ phần mềm đề cập đến việc xây dựng các chương trình lớn.
• Trung tâm của vấn đề là kiểm soát sự phức tạp
• Tiến hóa phần mềm
• Quan tâm nhất đến hiệu quả của phát triển phần mềm
• Sự phối hợp thường xuyên giữa các cá nhân trong là cần thiết trong các dự án phần mềm lớn
• Bản thân phần mềm phải hỗ trợ người dùng hiệu quả
• Kỹ nghệ phần mềm là lĩnh vực mà ở đó các thành viên tạo ra sản phẩm vì lợi ích của lĩnh vực khác
3. Các vấn đề chủ chốt của công nghệ phần mềm.
• CNPM là công nghệ có phân lớp
• Là một quá trình gồm một loạt các bước chứa đựng 3 yếu tố chủ chốt:
Phương pháp (Method)
Công cụ (Tools)
Thủ tục (Procedure)
-----
Download Tài Liệu:
[You must be registered and logged in to see this link.]
Được sửa bởi Nguyễn Đình Quý ngày 2015-03-14, 00:11; sửa lần 1.