1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ CƯƠNG CÔNG NGHỆ PHẦN MỀM

18 369 1

Đ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 18
Dung lượng 220,07 KB

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

Nội dung

MỀM 217 1. Phần mềm là gì? Nêu các đặc trưng của nó. Có những loại ngôn ngữ nào để phát triển phần mềm • Khái niệm: PM đc mô tả bởi 3 bộ phận cấu thành : Các tập lệnh trên máy tính khi được thực hiện sẽ tạo ra các dịch vụ và đem lại những kết quả mong muốn cho người dùng. Các cấu trúc dữ liệu( lưu trữ trên các bộ nhớ) làm cho chương trình thao tác hiệu quả với các thông tin thích hợp với nội dung thông tin được số hóa. Các tài liệu để mô tả thao tác, cách sử dụng và bảo trì pm. • Các đặc trưng cơ bản. Pm được kỹ nghệ , không được chế tạo theo nghĩa cổ điển: Pm được thiết kế chế tạo, nhưng k được định hình từ trc. Quá trình thiết kế , sx phụ thuộc con người và môi trg phát triển. Quá trình phát triển pm quyết định giá thành và chất lượng pm. Pm không hỏng đi nhưng thoái hóa theo thời gian. Phần lớn phần mềm được xây dựng theo đơn đặt hàng. Sự phức tạp và tính thay đổi đổi là bản chất của pm. Ngày nay, pm đươc phát triển theo nhóm. • Các loại ngôn ngữ để phát triển pm. Ngôn ngữ máy Hợp ngữ Các ngôn ngữ bậc cao Ngôn ngữ thế hệ thứ tư 2. Định nghĩa kỹ nghệ phần mềm.Những yếu tố chủ chốt trong kỹ nghệ phần mềm là gì. • Những yếu tố chủ chốt. Kỹ nghệ phần mềm là kỹ nghệ phát triển 1 hệ thống, gồm 1 loạt các bước chứa đựng 3 yếu tố chủ chốt:  phương pháp: liên quan đến giải pháp kỹ thuật giải quyết các vấn đề.  công cụ, liên quan đến phương tiện trợ giúp  thủ tục. liên quan đến cách tổ chức và quản lý quá trình làm phần mềm • Định nghĩa: là việc thiết lập và sử dụng đúng đắn các nguyên lý công nghệ có được để tạo ra phần mềm 1 các kinh tế, tin cậy, làm việc hiệu quả trên máy tính thược 3. Tiến trì phần mềm là gì?mô hình tiến trình là gì? Hãy trình bày mô hình của 1 số tiến trình cơ bản. • Tiến trình phần mềm: là 1 loạt các bước hoạt động dự kiến trước một lộ trình mà theo đó có thể tạo ra 1 phần mềm chất lượng, hiệu quả và đúng thời hạn. • Mô hình tiến trình : (process model) là sự mô tả tiến trình 1 cách đơn giản hóa khi xem xét nó từ 1 cách nhìn cụ thể • Mô hình 1 số tiến trình:

Trang 1

CÔNG NGHỆ PHẦN MỀM 217

1. Phần mềm là gì? Nêu các đặc trưng của nó Có những loại ngôn ngữ nào để phát triển phần mềm

• Khái niệm: PM đc mô tả bởi 3 bộ phận cấu thành :

- Các tập lệnh trên máy tính khi được thực hiện sẽ tạo ra các dịch vụ và đem lại những kết quả mong muốn cho người dùng

- Các cấu trúc dữ liệu( lưu trữ trên các bộ nhớ) làm cho chương trình thao tác hiệu quả với các thông tin thích hợp với nội dung thông tin được số hóa

- Các tài liệu để mô tả thao tác, cách sử dụng và bảo trì pm

• Các đặc trưng cơ bản

- Pm được kỹ nghệ , không được chế tạo theo nghĩa cổ điển:

Pm được thiết kế chế tạo, nhưng k được định hình từ trc Quá trình thiết kế , sx phụ thuộc con người và môi trg phát triển Quá trình phát triển pm quyết định giá thành và chất lượng pm

- Pm không hỏng đi nhưng thoái hóa theo thời gian

- Phần lớn phần mềm được xây dựng theo đơn đặt hàng

- Sự phức tạp và tính thay đổi đổi là bản chất của pm

- Ngày nay, pm đươc phát triển theo nhóm

• Các loại ngôn ngữ để phát triển pm

- Ngôn ngữ máy

- Hợp ngữ

- Các ngôn ngữ bậc cao

- Ngôn ngữ thế hệ thứ tư

2. Định nghĩa kỹ nghệ phần mềm.Những yếu tố chủ chốt trong kỹ nghệ phần mềm là gì.

• Những yếu tố chủ chốt

- Kỹ nghệ phần mềm là kỹ nghệ phát triển 1 hệ thống, gồm 1 loạt các bước chứa đựng 3 yếu tố chủ chốt:

 phương pháp: liên quan đến giải pháp kỹ thuật giải quyết các vấn đề

 công cụ, liên quan đến phương tiện trợ giúp

 thủ tục liên quan đến cách tổ chức và quản lý quá trình làm phần mềm

• Định nghĩa: là việc thiết lập và sử dụng đúng đắn các nguyên lý công nghệ có được để tạo ra phần mềm 1 các kinh tế, tin cậy, làm việc hiệu quả trên máy tính thược

3. Tiến trì phần mềm là gì?mô hình tiến trình là gì? Hãy trình bày mô hình của 1 số tiến trình cơ bản.

• Tiến trình phần mềm: là 1 loạt các bước hoạt động dự kiến trước- một lộ trình

mà theo đó có thể tạo ra 1 phần mềm chất lượng, hiệu quả và đúng thời hạn

• Mô hình tiến trình : (process model) là sự mô tả tiến trình 1 cách đơn giản hóa khi xem xét nó từ 1 cách nhìn cụ thể

• Mô hình 1 số tiến trình:

- Mô hình thác nước:

Trang 2

- mô hình làm bản mẫu:

Trang 3

- mô hình xoắc ốc:

- mô hình RUP: ( Rational unified process) là mô hình phát triển phần mềm

dành riêng cho hướng đối tượng gồm 3 đặc trưng: lấy kiến trúc làm trung tâm, điều kiển bởi các ca sử dụng, lặp và tăng dần Gần tương đồng với mô hình xoắc ốc, Tuy nhiên , mỗi bước lặp của RUP, nd các hđ có những đặc trưng riêng gắn với ngôn ngữ mô hình hóa thông nhất –UML

- Các mô hình phát triển tiến hóa:

Trang 4

 Mô hình phát triển tăng dần:

4. Thế nào là 1 phần mềm được kỹ nghệ tốt.

Các thuộc tính của phần mềm được kỹ nghệ tốt là có thể bảo trì được, đáng tin cậy, có hiệu quả, khả dụng và giá thành chấp nhận được

5. Chất lượng phần mềm là gì? Các tiêu chí của chất lượng phần mềm.

Đạt được các tiêu chí:

- Đạt được các mục tiêu thiết kế đề ra của tổ chức

- Chi phí vận hàng là chấp nhận được

- Đáp ứng được các chuẩn mực của một httt hiện hành

- Sp tạo ra có giá trị xác đáng

- Bảo trì được

- Khả dụng

- Mềm dẻo- có khả năng làm thích nghi được: có thể kiểm tra , mở rộng ứng dụng

và phát triển tiếp được

- Có tính khả chuyển: có thể chuyển từ môi trường làm việc này sang môi trường làm việc khác

Trang 5

CHƯƠNG 2

1. Yêu cầu phần mềm là gì ? phân biệt giữa yêu cầu và nhu cầu có thể phân yêu cầu theo những đối tượng đọc nào và đặc trung mỗi loại đọc đó.

Yêu cầu phần mềm mô tả những việc mà hệ thống làm và những ràng buộc phải tuân thủ khi hoạt động

Phân biệt yêu cầu và nhu cầu:

- Nhu cầu là những mong muốn của người dung gửi cho nhà lập trình bằng ngôn ngữ tự nhiên và biểu đồ

- Yêu cầu là mô tả của nhà lập trình bằng đặt tả yêu cầu về hệ thống dựa trên nhu cầu

Có thể phân yêu cầu theo 2 đối tượng đọc: Người dùng, Hệ thống

- Yêu cầu người sử dụng là những phát biểu bằng ngôn ngữ tự nhiên cùng biểu đồ

để mô tả dịch vụ mà hệ thống cung cấp và các ràng buộc khi nó hoạt động Đó

là những phát biểu hướng người dùng

- Yêu cầu hệ thống nêu ra những chi tiết của hệ thống và các ràng buộc của nó

Nó được dùng làm cơ sỏ cho hợp đồng giữa người mua và người phát triển phần mềm

2. Trình bày các bước của tiến trình phát hiện và phân tích yêu cầu Trình bày các kỹ thuật khác nhau để nhận biết và phân tích yêu cầu.

Một chu kỳ của tiến trình bắt đầu bằng việc tìm hiểu lĩnh vực ứng dụng và kết thúc bằng việc thẩm định các yêu cầu Sự hiểu biết về các yêu cầu được tăng cường sau mỗi chu kỳ Các hoạt động chung của 1 tiến trình thường bao gồm: Tìm hiểu miền ứng dụng: Đó là các hoạt động nghiệp vụ, nội dung của nó, các quy tắc nghiệp vụ cần tuân thủ, sản phẩm của nó, lĩnh vực liên quan

Thu thập các yêu cầu: đó là quá trình giao tiếp với những người liên quan đến

hệ thống để phát hiện ra các yêu cầu của họ đối với hệ thống

Phân loại các yêu cầu: Hoạt động này bao gồm việc tập hợp lại các yêu cầu thu được và sắp xếp nó vào loại tương ứng

Giải quyết xung đột: Hoạt động này liên quan đến việc tìm ra các xung đột và tìm cách giải quyết chúng

Sắp ưu tiên: Giữa các yêu cầu bao giờ cũng có những yêu cầu quan trọng hơn Bằng cách giao tiếp với những người liên quan, nhà phân tích nhận ra được tầm quan trọng của mỗi yêu cầu và thực hiện sắp xếp chúng

Kiểm tra yêu cầu: Các yêu cầu cần được kiểm tra theo từng nghiệp vụ để xem chúng có đầy đủ không, nhất quán không và có phù hợp với những gì mà những người liên quan trông chờ ở hệ thống không

Các kỹ thuật nhận biết và phân tích yêu cầu:

Tiếp cận yêu cầu định hướng cách nhìn

Kỹ thuật xác định yêu cầu định hướng cách nhìn – VORD

Kỹ thuật phân tích yêu cầu dựa trên mô hình

Kỹ thuật phân tích hình thức hóa

Trang 6

3. Trình bày những hạn chế của đặc tả ngôn ngữ tự nhiên Ngôn ngữ tự nhiên

có cấu trúc là gì? Ưu và nhược điểm của nó.

Hạn chế của đặc tả bằng ngôn ngữ tự nhiên:

- Người đọc và người viết đặc tả ngôn ngữ tự nhiên phải giải thích các từ theo cùng một nghĩa ,ngôn ngữ tự nhiên có bản chất là mập mờ nên để đạt được yêu cầu trên là rất khó khăn

- Ngôn ngữ tự nhiên quá mềm dẻo do đó các yêu cầu lien quan đến nhau co thể được biểu diễn bằng các hình thức hoàn toàn khác nhau và người phát triển không nhận ra được các mối liên quan này

- Thiếu khả năng mô đun hóa: Cấu trúc của ngôn ngữ tự nhiên không cân xứng với cấu trúc của các yêu cầu hệ thống

- Các yêu cầu khó được phân hoạch một cách hữu hiệu do đó hiệu quả của việc thay đổi chỉ có thể xác định được bằng cách kiểm tra tất cả các yêu cầu chứ không phải một nhóm các yêu cầu liên quan

Ngôn ngữ tự nhiên có cấu trúc là một dạng mở rộng của ngôn ngữ tự nhiên,nó phụ thuộc vào các định dạng hoặc mẫu chuẩn được sử dụng để biểu diễn yêu cầu

Ưu, nhược điểm của ngôn ngữ tự nhiên có cấu trúc:

- Ưu điểm: Giữ được phần lớn những đặc điểm dễ hiểu của ngôn ngữ tự nhiên,có cấu trúc rõ ràng ,chính xác của ngôn ngữ lập trình

- Nhược điểm: Mức độ đồng nhất bị lạm dụng trong đặc tả

4. Đặc tả bằng ngôn ngữ mô tả chương trình là gì? Ưu điểm của nó.

Ngôn ngữ mô tả chương trình – PDL(Program Decription Language) là tương

tự với một ngôn ngữ lập trình nào đó nhưng trừu tượng hơn,có nhiều tính năng đặc tả hơn ngôn ngữ tự nhiên có cấu trúc

Ưu điểm của nó là có thể kiểm tra lỗi cú pháp và ngữ nghĩa bằng các công cụ lập trình phần mềm,những mâu thuẫn và sai sót có thể được phát hiện nhờ việc kiểm tra này

5. Thẩm định yêu cầu là gì? Cần phải thẩm định những nội dung gì của yêu cầu? có những kỹ nghệ gì để thẩm định yêu cầu? trình bày tóm tắt nội dung

của nó

Thẩm định yêu cầu là xét xem đặc tả yêu cầu có thật sự xác định được hệ thống

mà khách hàng mong muốn không

Những nội dung cần thẩm định

Tính đúng đắn: hệ thống cần bao quát được các nhu cầu khác nhau của người dùng và yêu cầu phải đáp ứng được cả cộng động người sử dụng

Tính đầy đủ: phải xác định được mọi chức năng và ràng buộc mà người sử dụng

hệ thống mong muốn

Tính nhất quán: mọi yêu cầu đều không được phép xung đột với bất kỳ một yêu cầu nào khác

Trang 7

Tính hiện thực: không có một điểm nào trong đặc tả yêu cầu là không thực hiện được

- Tính kiểm tra được: yêu cầu pahir viết sao cho có thể kiểm tra được

Kỹ thuật thấm định yêu cầu và nội dung của nó:

- Rà soát yêu cầu: là công việc thủ công , đòi hỏi nhiều người đọc quá trình rà soát cần được quản lý, có thể tổ chức rộng hơn với nhiều nguời tham gia Nó có thể chính thức hoặc không chính thức Xung đột , mâu thuẫn , lỗi và thiếu sót trong yêu cầu được phát hiện và ghi nhận trong quá trình rà soát

- Làm bản mẫu: là kỹ thuật rất quan trọng ; mô hình hệ thống thực hiện được có thể trình diễn cho người sử dụng Đào tạo người sử dụng sử dụng hệ thống

- Tạo sinh các ca kiểm thử: mọi yêu cầu là có thể kiểm thử được Nếu các ca kiểm thử được thực hiện như 1 phần cảu công việc thẩm định thì dễ phát hiện

ra các vẫn đề của yêu cầu Nếu kiểm thử khó khan hay không thể kiểm thử được thì yêu cầu khó triển khai và phải xem lại

- Phân tích tính nhất quán được tự động: với yêu cầu được biểu diễn ở dạng mô hình với các ký pháp cấu trúc hay hình thức hóa thì các công cụ CASE có thể được sử dụng để kiểm tra tính nhất quán cảu mô hình Ys nghĩa với đặc tả hệ thống lớn

6. Trình bày làm bản mẫu phần mềm Lợi ích của làm bản mẫu phần mềm trong xã định yêu cầu bản mẫu phần mềm còn có thể dùng làm gì.

Tiến trình làm bản mẫu phần mềm là bàn mẫu hệ thống giúp người sử dụng thử nghiệm thực tế, duyệt lại yêu cầu có phê phán

Lợi ích của làm bản mẫu phần mềm trong xác định yêu cầu:

- Khắc phục hiểu lầm giữa người phát triển phần mềm và người sử dụng

- Phát hiện sự thiếu hụt các dịch vụ người dùng

- Nhận ra sự khó sử dụng or nhầm lẫn các dịch vụ người dùng

- Đội ngũ phát triển phần mềm có thể tìm ra được các yêu cầu không đầy đủ or không nhất quán ngay khi phát triển bản mẫu

- Giúp thuyết minh cho tính khả thi và tính hữu ích của ứng dụng đối với các nhà quản lý

- Bản mẫu được dùng làm cơ sở cho việc viết đặc tả sản phẩm

Bản mẫu phần mềm còn có thể sử dụng cho mục tiêu:

- Dùng để huấn luyện người sử dụng trước khi hệ thống được phân phối

- Dùng trong quá trình thử nghiệm hệ thống để chạy back-to-back Điều này có nghĩa là cùng các thử nghiệm như nhau vừa dùng để thử bản mẫu vừa dùng để thử hệ thống Hai kết này khác nhau, nghĩa là có sai sót

CHƯƠNG 3

Trang 8

1. Tầm quan trọng của thiết kế phần mềm nêu các giai đoạn thiết kế cần trải qua.

- Tầm quan trọng của thiết kế phần mềm:

+ Là cách chuyển hóa một cách chính xác các yêu cầu của khách hàng thành

mô hình thiết kế hệ thống

+ Giúp cho các nhóm tham gia tránh được các rủi ro và đạt đến phần mềm hiệu quả

+ Là tài liệu cung cấp đầy đủ các thông tin cần thiết cho người lập trình để bảo trì hệ thống sau này

- Các giai đoạn thiết kế cần trải qua:

+ Thiết kế sơ bộ: là thiết kế kiến trúc tổng thể

+ Thiết kế chi tiết:

• Thiết kế logic: mô tả các phần mềm của hệ thống và các mối quan hệ giữa chúng

• Thiết kế vật lý: chọn các giải pháp công nghệ hiện hữu, phù hợp

2. Trình bảy ý tưởng của các chiến lược phát triển hệ thống hướng cấu trúc

và hướng đối tượng

- Chiến lược phát triển hệ thống hướng cấu trúc:

+ Hệ thống được phân chia thành các chức năng, bắt đầu ở mức cao nhất, sau đó làm mịn dần dần để thành thiết kế với các chức năng chi tiết hơn

+ Trạng thái của hệ thống thể hiện qua cơ sở dữ liệu chung và được chia sẻ cho các thao tác trên nó

- Chiến lược phát triển hệ thống hướng đối tượng:

+ Hệ thống được nhìn nhận như một bộ các đối tượng tương tác với nhau + Mỗi đối tượng là một thể hiện của một lớp được xác định bởi các thuộc tính

và các phương thức

+ Các lớp có thể được thừa kế từ một vài lớp đối tượng cao hơn

+ Các đối tượng liên kết với nhau bằng cách trao đổi các thông điệp thực hiện một dịch vụ chung

3. Khái niệm về thiết kế tốt và các hướng dẫn bảo đảm chất lượng thiết kế

- Một thiết kế tốt có thể phải cho phép sản sinh mã hữu hiệu; phải tối thiểu công sức để chuyển thành chương trình, hoặc thiết kế phải là tốt nhất cho bảo trì (không chỉ dễ bảo trì mà còn ít tốn kém)…

- Các hướng dẫn đảm bảo chất lượng thiết kế:

+ Tổ chức phân cấp để kiểm soát một cách thông minh các thành phần

+ Tổ chức theo các môđun để phân hoạch một cách logic các thành phần thực hiện thành những chức năng

+ Sử dụng cách biểu diễn phân biệt và tách biệt giữa dữ liệu và thủ tục

+ Tổ chức theo các môđun dùng chung cho các chức năng đặc trưng đặc biệt + Hình thành giao diện để rút gọn độ phức tạp của việc ghép nối giữa các môđun với môi trường bên ngoài cũng như giữa chúng với nhau

Trang 9

+ Sử dụng lại các thành phần phần mềm đã có, trong đó có các mã nguồn, các mẫu thiết kế…

4. Các bước thiết kế hướng cấu trúc Nêu ưu nhược điểm của nó

* Các bước thiết kế hướng cấu trúc:

- thiết kế dữ liệu

- thiết kế mô hình dữ liệu logic

- thiết kế cơ sở dl vật lí

- thiết kế xử lí

- thiết kế xử lí logic

- thiết kế kiến trúc modun

* Ưu, nhược điểm:

- Ưu điểm:

• các phương pháp thiết kế, công cụ trợ giúp đạt đến mức hoàn thiện

• có nhiều hệ quản trị dl mạnh trợ giúp việc lưu trữ và khai thác đã đạt mức độ

tự động hóa cao Vì thế rất thích hợp với bài toán xử lý trên các dl có thể mô tả

ở dạng bảng

- Nhược điểm:

• hạn chế với các bài toán dl đa dạng và đòi hỏi sự tương tác của nhiều đối tượng khác nhau

• khó sử dụng lại, sai sót một số bộ phận có thể lan truyền sang càng phần khác của hệ thống

5. Các bước thiết kế hướng đối tượng Nêu ưu và nhược điểm của nó

* Các bước thiết kế hướng đối tượng:

- xác định kiến trúc của hệ thống

- sắp thứ tự ưu tiên các gói

- với mỗi gói, thiết kế cho mỗi ca sử dụng thuộc gói bằng cách xác định các lớp thiết kế tham gia triển khai các lớp phân tích - xây dựng biểu đồ tương tác giữa các lớp

- thiết kế chi tiết các lớp

- phân tích và hoàn thiện biểu đồ lớp dựa trên các mẫu thiết kế * Ưu nhược điểm:

- Ưu điểm:

• dễ bảo trì

• các đối tượng có thể dùng lại được

• thiết kế có tính dễ hiểu

- Nhược điểm: không dễ dàng nhận ra các đối tượng của một hệ thống

CHƯƠNG 4

1. Trình bày các phương pháp lập trình phổ biến

• Lập trình thủ tục là pp lập trình tiên tiến bao gồm 2 khái niệm :

- Sử dụng các thủ tục:

Trang 10

 Chia chương trình lớn thành các chương trình con( thủ tục) thực hiện các công việc xác định

 Các thủ tục có thể gọi lại nhiều lần, gọi lẫn nhau và gọi chính n

 Chia để trị, giảm độ phức tạp của chương trình

- Lập trình có cấu trúc:

 Sử dụng các câu lệnh có cấu trúc hoặc tạo ra các câu lệnh có cấu trúc phức tạp

từ các câu lệnh đơn giản hơn

 Câu lệnh có cấu trúc là câu lệnh có mục đích rõ ràng, điểm đầu và điểm kết thúc tường minh

• Lập trình hướng đối tượng dựa trên 3 đặc trưng cơ bản : bao gói/che dấu thông tin, kế thừa, đa hình

- Bao gói/che dấu thông tin:

 gồm 2 việc liên quan mật thiết với nhau:Gắn kết dữ liệu và các phương thức xử

lý trên các dữ liệu thành 1 thể thống nhất gọi là (lớp) đối tượng; Che dấu các cài đặt và cấu trúc dữ liệu cụ thể của đối tượng

 Đối tượng chỉ đưa ra kết quả thông qua việc cấp các dịch vụ trên giao diện xác định, chúng ta có thể tách đc giao diện với phần cài đặt cụ thể của (lớp ) đối tượng

 Dễ dàng sử dụng lại, dễ bảo trì nâng cấp

 Đảm bảo đc trạng thái của đối tượng luôn là đúng đắn

- Kế thừa :

 Cho phép xây dựng 1 lớp đối tượng mới kế thừa lớp đối tượng đã có

 Thúc đẩy việc sử dụng lại trong bản thân mỗi phần mềm cũng như giữa các phần mềm với nhau

- Đa hình:

 Cơ chế cho phép nhìn nhận đối tượng theo các góc nhìn khác nhau, đồng thời cho phép các đối tượng khác nhau giải nghĩa cùng 1 thông điệp theo cách thức khác nhau

 Tạo nên sự mềm dẻo

 Là cơ chế nền tảng cho việc thực hiện các thiết kế mở và xây dựng các mẫu thiết kế

• Lập trình hàm:

- Pp lập trình dựa trên việc đánh giá các biểu thức toán học và tạo ra các giá trị mới từ các giá trị đã có

- Lập trình hàm đánh giá 1 biểu thức bằng việc thực hiện việc đánh giá các bộ phận( 1 cách song song) thông qua việc sử dụng các hàm khác hoặc chính nó và tạo ra kết quả mà không thay đổi các trạng thái đã có

 Dễ dàng song song hóa,không tạo ra các hiệu ứng phụ do không dùng chung dữ liệu

 Nn lập trình hàm tiêu biểu : LISP và Scheme

• Lập trình logic

Ngày đăng: 13/07/2017, 08:22

TỪ KHÓA LIÊN QUAN

w