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

Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Nguyễn Văn Danh

9 3 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 663,83 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Nhập môn công nghệ phần mềm - Chương 1: Tổng quan về công nghệ phần mềm cung cấp cho người học các kiến thức: Phần mềm và lớp phần mềm, kiến trúc các thành phần của phần mềm, công nghệ phần mềm, qui trình công nghệ phần mềm, phương pháp và công cụ phát triển phần mềm.

Trang 1

Trường CĐ-KT Lý Tự Trọng

Khoa Công Nghệ Thông Tin

nghệ phần mềm của Nguyễn Tiến Huy –

ĐH-KHTN

Môn: Công Nghệ Phần Mềm

GV: Nguyễn Văn Danh

Chương I: Tổng quan về CNPM

Sinh viên biết các khái niệm cơ bản về công nghệ phần mềm,

quy trình xây dựng phần mềm

 Phần mềm và lớp phần mềm

Kiến trúc các thành phần của phần mềm

Công nghệ phần mềm

Qui trình công nghệ phần mềm

Phương pháp và công cụ phát triển phần mềm

GV: Nguyễn Văn Danh

I Phần mềm và lớp phần mềm

1. Phần mềm

Định nghĩa: là hệ thống các chương trình được thực

hiện trên máy tính 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

các thao tác nghiệp vụ của mình.( Đây là quan điểm

của các người sử dụng phần mềm)

- Nhà chuyên môn

- Lĩnh vực chuyên nghành

- Thao tác nghiệp vụ

Trang 2

2 Lớp phần mềm

Là hệ thống các phần mềm trên cùng lĩnh vực hoạt động

nào đó  chúng có cấu trúc & chức năng giống nhau

GV: Nguyễn Văn Danh

3 Phân loại phần mềm

Có nhiều cách phần loại phần mềm khác nhau Phân loại

dụa trên mục đích của người sử dụng phần mềm( trên

góc độ người sử dụng) & phân loại dựa trên mục đích tạo

lập phần mềm

Phân loại dựa trên mục đích sử dụng phần mềm:

Phần mềm hệ thống

Phần mềm khoa học kỹ thuật

Phần mềm nhúng

Phần mềm ứng dụng web

Phần mềm thương mại ( Quản lý tiền lương, QL nhân viên)

GV: Nguyễn Văn Danh

II Phân loại phần mềm

phân loại dựa trên mục đích tạo lập (góc độ người lập

trình)

 Phần mềm theo hơp đồng: là phần mềm viết ra cho một khách

hàng cụ thể với các yêu cầu cụ thể, có thời gian và chi phí cụ thể

và phải có trách nhiệm bảo trì phần mềm

 Phần mềm khung: Là phần mềm được tạo ra nhằm nhanh chóng

triển khai một phần mềm theo hợp đồng được tiện lợi Đây là

phần mềm khong đưa cho người sử dụng và có những đăc điểm

như sau: không có khách hàng cụ thể, không có yêu cầu cụ thể

 Phần mềm đóng gói: Là phần mềm đươc làm ra để bán rộng rãi

cho mọi người Đặc điểm là khong có khách hàng cụ thể, không

có các yêu cầu cụ thể, không bảo trì mà chỉ có phân bản nâng cấp

Trang 3

III Kiến trúc phần mềm

GV: Nguyễn Văn Danh

III Kiến trúc phần mềm

Bảng tóm tắt các hàm cùng ý nghĩa tương ứng:

STT Thành phần Hàm Ý Nghĩa Ghi Chú

1 Thành phần giao diện

Hàm nhập

Hàm xuất

Nhập yêu cầu, dữ liệu nguồn, xuất kết quả đã xử lý

Cần xác định hình thức nhập/xuất và tổ chức dữ liêu tương ứng

2 Thành phần xử

Hàm kiểm tra

Hàm xử lý

Kiểm tra tính hợp lệ

dữ liệu Xử lý tính toán phát sinh, biến đổi trên dữ liệu

Sử dụng hàm nhập, hàm đọc, hàm xuất, hàm ghi

3 Thành phần dữ liệu

Hàm đọc

Hàm ghi

Đọc dữ liệu từ bộ nhớ phụ vào bộ nhớ chính Ghi dl từ bộ nhớ chính vào bộ nhớ phụ

Cần xác định cách thức tổ chức lưu trữ dữ liệu GV: Nguyễn Văn Danh

IV Chất lượng phần mềm

Một phần mềm được đánh giá có chất lượng tuỳ vào những

yếu tố sau:

Tính đúng đắn: chạy tốt, chạy đúng theo yêu cầu người sử dụng

 Tính tiến hoá: là khả năng đáp ứng của phần mềm khi qui định

của nghiệp vụ thay đổitheo thời gian, hoặc tốc độ thực hiện theo

máy móc

 Tính hiệu quả: Việc chiếm bộ nhớ trong hay bộ nhớ ngoài sao cho

hiệu quả

 Tính tương thích: Là khả năng tương tác giữa phần mềm với các

phần mềm khác

 Tính tiện dụng: Phần mềm dễ học dễ sử dụng, thân thiện với

người dùng

 Trong 5 tính chất trên, tính chất nào là quan trọng nhất

Trang 4

V Công nghệ phần mềm

 Bauer(1969): Việc thiết lập và sử dụng các nguyên lý

công nghệ đúng đắn để thu được phần mềm một cách

kinh tế vừa tin cậy vừa làm việc hiệu quả trên các

máy thực

 Ghezzi(1991) Một lĩnh vực của khoa học máy tính

liên quan đến việc xây dựng các phần mềm vừa lớn

vừa phức tạp bởi một hay một số nhóm kỹ sư

 Sommervile(1995): là lĩnh vực liên quan đến lý

thuyết, phương pháp và công cụ dùng cho phát triển

phần mềm

GV: Nguyễn Văn Danh

V Công nghệ phần mềm

 Kawamura(1995): là lĩnh vực học vấn về các kỹ

thuật, phương pháp luận công nghệ học trong toàn

bộ quy trình phát triển phần mềm nhằm nâng cao cả

chất và lượng của sản xuất phần mềm

 Pressman(1995): là bộ môn tích hợp cả qui trình, các

phương pháp, các công cụ để phát triển phần mềm

máy tính

Ta có thể đưa định nghĩa tóm tắt như sau:

Công nghệ phần mềm là một nghành khoa học nghiên

cứu về việc xây dựng các phần mềm có chất lượng trong

khoảng thời gian và chi phí hợp lý

GV: Nguyễn Văn Danh

VI Đối tượng nghiên cứu

CNPM đưa ra 3 đối tượng nghiên cứu chính:

 Quy trình công nghệ phần mềm:

oLà hệ thống các giai đoạn mà quá trình phát triển phần

mềm trải qua

oCần xác định rõ mục tiêu, kết quả nhận được, kết quả

chuyển giao

Phương pháp phát triển phần mềm: hệ thống các

hướng dẫn để thực hiện một giai đoạn nào đó

Công cụ và môi trường phát triển phần mềm: Hệ thống

các phần mềm trợ giúp trong lĩnh vực xây dựng phần

mềm

Trang 5

1 Qui trình công nghệ phần mềm

GV: Nguyễn Văn Danh

1.1 Các bước cơ bản xây dựng phần mềm:

1.1.1 Xác định:

Hình thành đề tài  ước lượng công việc

Khách hàng muốn gì?

Thu thập thông tin

1.1.2 Phát triển:

 Xây dựng chương trình

Kiểm tra tính đúng đắn

1.1.3 Bảo trì( vận hành)

 Giúp chương trình chạy ổn định với điều kiện mới

Làm phù hợp với hiện tại

1.2 Một số mô hình triển khai xây dựng

phần mềm

GV: Nguyễn Văn Danh

1.2.1 Mô hình thác nước

1.2.1.1 Mô hình thác nước 2 giai đoạn

Giai đoạn Mục tiêu Kết quả nhận được Kết quả chuyển giao

Xác định yêu

cầu

Xác định chính xác

các yêu cầu đặt ra cho

phần mềm

Thông tin về các hoạt động của thế giới thực Danh sách các yêu cầu, cùng với các thông tin

mô tả chi tiết về các yêu cầu

Lập trình

Tạo lập phần mềm

mong muốn theo yêu

cầu

Danh sách các yêu cầu cùng thông tin liên quan

Chương trình thực hiện được trên máy tính

Giai đoạn Mục tiêu Kết quả nhận được Kết quả chuyển giao

Xác định yêu

cầu

Xác định chính xác

các yêu cầu đặt ra cho

phần mềm

Thông tin về các hoạt động của thế giới thực Danh sách các yêu cầu, cùng với các thông tin

mô tả chi tiết về các yêu cầu

Lập trình

Tạo lập phần mềm

mong muốn theo yêu

cầu

Danh sách các yêu cầu cùng thông tin liên quan

Chương trình thực hiện được trên máy tính

1.2.1.2 Mô hình thác nước 3 giai đoạn

Giai đoạn Mục tiêu Kết quả nhận được Kết quả chuyển giao

Xác định yêu

cầu

Xác định chính xác

các yêu cầu đặt ra cho

phần mềm

Thông tin về các hoạt động của thế giới thực

Danh sách các yêu cầu, cùng với các thông tin

mô tả chi tiết về các yêu cầu

Thiết kế

Mô tả các thành phần

của phần mềm

Danh sách các yêu cầu cùng thông tin liên quan

Mô tả thành phần giao diện

Mô tả thành phần xử lý

Mô tả thành phần dữ liệu

Lập trình

Tạo lập phần mềm

mong muốn theo yêu

cầu

Mô hình phần mềm Chương trình phần mềm

nguồn với cấu trúc cơ sở

dữ liệu tương ứng

Trang 6

1.2.1.3 Mô hình thác nước 4 giai đoạn

GV: Nguyễn Văn Danh

Giai đoạn Mục tiêu Kết quả nhận được Kết quả chuyển giao

Xác định yêu

cầu

Xác định chính xác các

yêu cầu đặt ra cho phần

mềm

Thông tin về các hoạt động của thế giới thực

Danh sách các yêu cầu, cùng với các thông tin mô tả chi tiết về các yêu cầu

Phân tích

Mô tả thế giới thực thông

qua các mô hình

Danh sách các yêu cầu cùng thông tin liên quan

Mô hình xử lý( hệ thống các công việc cùng với quan hệ giữa chúng)

Mô hình dữ liệu(ERD)

Thiết kế

Mô tả các thành phần của

phần mềm trước khi cài

đặt

Mô hình thế giới thực Mô tả thành phần giao diện

Mô tả thành phần xử lý

Mô tả thành phần dữ liệu

Lập trình

Tạo lập phần mềm mong

muốn theo yêu cầu

Mô hình phần mềm Chương trình phần mềm

nguồn với cấu trúc cơ sở dữ liệu tương ứng

1.2.1.4 Mô hình thác nước 5 giai đoạn

GV: Nguyễn Văn Danh

Xác định YC

Phân tích

Thiết kế Triển khai

Vận hành Bảo trì Thời gian Bước

1.2.1.4 Mô hình thác nước 5 giai đoạn

Giai đoạn Mục tiêu Kết quả nhận được Kết quả chuyển giao

Xác định yêu

cầu

Xác định chính xác các

yêu cầu đặt ra cho phần

mềm

Thông tin về các hoạt động của thế giới thực

Danh sách các yêu cầu, cùng với các thông tin mô tả chi tiết về các yêu cầu

Phân tích

Mô tả thế giới thực thông

qua các mô hình trước

khi thiết kế

Danh sách các yêu cầu cùng thông tin liên quan

Mô hình xử lý( hệ thống các công việc cùng với quan hệ giữa chúng)

Mô hình dữ liệu(ERD) Thiết kế

Mô tả các thành phần của

phần mềm trước khi cài

đặt

Mô hình thế giới thực Mô tả thành phần giao diện

Mô tả thành phần xử lý

Mô tả thành phần dữ liệu

Triển khai

Tạo lập phần mềm mong

muốn theo yêu cầu

Kiểm tra độ tin cậy

chương trình

Mô hình phần mềm Danh sách các yêu cầu cần cho việc kiểm tra PM

Chương trình phần mềm nguồn với cấu trúc cơ sở dữ liệu tương ứng

Bảo trì

Đảm bảo phần mềm vận

hành tốt

Phần mềm đã hoàn thành Các phản ảnh của khách

hàng trong quá trình sử

Trang 7

1.2.2 Mô hình bản mẫu phần mềm

GV: Nguyễn Văn Danh

Khảo sát, thu thập thông tin sơ bộ Xây dựng mẫu ban đầu

Làm mịn mẫu Khảo sát, lấy ý kiến người dùng Đánh giá

Mẫu hoàn chỉnh

HT đã

dự án

từ mẫu

Sử dụng

thêm pp

vòng đời

Loại bỏ mẫu Tồi Hạn chế

Tốt

1.2.3 Mô hình xoắn ốc

GV: Nguyễn Văn Danh

Risk analysis Risk analysis Risk analysis Risk analysis Proto-type 1 Prototype 2 Prototype 3 Opera-tional protoype

Concept of Operation Simulations, models, benchmarks S/W

requirements Requirement validation Design V&V

Product design Detailed design Code Unit test Integr ation test Acceptance test Service Develop, verify

next-level product

Evaluate alternatives identify, resolve risks Determine objectives

alternatives and

constraints

Plan next phase

Integration and test plan

Development plan

Requirements plan

Life-cycle plan

REVIEW

2 Các phương pháp phát triển phần mềm

2.1 Tổng quan: có nhiều phương pháp phát triển phần mềm

Mỗi PP có những hướng dẫn cụ thể các công việc cần thực hiện

trong từng giai đoạn trong qui trình xây dựng phần mềm

Trang 8

2 Các phương pháp phát triển phần mềm

GV: Nguyễn Văn Danh

2.2 Phân loại: Gồm 2 loại dựa vào tính chất của công việc:

 Phương pháp xây dựng:

 Phương pháp hướng chức năng

 Phương pháp hướng dữ liệu

 Phương pháp hướng đối tượng

 Phương pháp tổ chức quản lý:

 Xây dựng phương án

 Tổ chức nhân sự

 Ước lượng rủi ro

 Lập và theo dõi kế hoạch triển khai

Chúng ta chỉ quan tâm đến các phương pháp xây dựng Phần còn

lại anh chị tham khảo giáo trình” Quản lý dự án xây dựng các hệ

thống thông tin”

2.3 Các phương pháp xây dựng phần

mềm

GV: Nguyễn Văn Danh

2.3.1 Cách tiếp cận:

a. Từ trên xuống: Đây là cách giải quyết vấn đề theo

hướng phân tích

Ta bắt đầu từ những thành phần chính của hệ thống sau

đó các thành phần này sẽ được phân tích thành các phần

chi tiết và cụ thể hơn Quá trình này tiếp diễn cho đến

khi đáp ứng ý muốn của nhà xây dựng phần mềm

b. Từ dưới lên:

Ngược lại với PP trên, giải quyết theo hướng tổng hợp

2.3.2 Cách tiến hành:

2.3.2.1 Phương pháp hướng chức năng:

Áp dụng nguyên lý chia để trị

Chia các công việc lớn mà hệ thống cần thực hiện

thành các công việc nhỏ hơn và độc lập nhau

2.3.2.2 Phương pháp hướng dữ liệu:

Chú trọng nhiều đến thành phần dữ liệu trong hệ thống

Tách dữ liệu ra khỏi quá trình xử lí

Tách biệt cơ sở dữ liệu và các ứng dụng (tổ chức cơ sở

dữ liệu riêng)

Trang 9

GV: Nguyễn Văn Danh

2.3.2.3 Phương pháp hướng đối tượng:

Một hệ thống phần mềm là tập hợp các đối tượng có khả

năng tương tác với nhau

Hệ thống được chia thành các đối tượng bao gồm cả dữ

liệu và xử lý -> cả hệ thống là sự ghép nối các đối tượng

bằng truyền thông

2.3.2 Cách tiến hành:

3 Công cụ và môi trường phát triển phần mềm

GV: Nguyễn Văn Danh

3.1 Khái niệm: Các công cụ và môi trường là các phần mềm

hỗ trợ chính người phát triển trong quá trình xây dựng phần

mềm

3.2 Phần mềm hỗ trợ thực hiện các giai đoạn:

3.2.1 Hỗ trợ phân tích: Win A&D, Analyst Pro,…

3.2.2 Phần mềm hỗ trợ thiết kế: Quick UML, Power

Designer , Oracle Designer,…

3.2.3 Phần mềm hỗ trợ lập trình:

3.2.4 Phần mềm kiểm chứng

3.2.5 Phần mềm lập kế hoạch

Ngày đăng: 08/05/2021, 14:09

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm