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

bài giảng phát triển vận hành và bảo trì phần mềm - chương 1 phát triển và bảo trì phần mềm

41 585 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 41
Dung lượng 179,03 KB

Nội dung

1.1.3 Một cách nhìn tổng quanvề công nghệ phần mềm • CNPM có thể chia làm 3 giai đoạn lớn: – Giai đoạn định nghĩa : Phân tích hệ thống software engineering; hoạch định đề tài dự án softw

Trang 2

GIỚI THIỆU MÔN HỌC

Trang 4

• Tài liệu tham khảo

[1] Software Engineering a Practitioner's

approach ; Roger S.Pressman

[2] Designing Object System ; Steve Cook,

John Danniels [3] Analyzing Requirement and Defining

Solution Architechtures ; Ian Lewis - Bruce

Nielson [4] UML toolkit ; Hans-Erick Ericsson

[5] A Discipline for software engineering ;

Watts S.HumphreyGIỚI THIỆU MÔN HỌC(tt)

Trang 5

[6] Microsotf Application Architecture Guide; 2nd

Edition; Microsoft Corporation ISBN: 9780735627109; 2009

[7] With the J2EE TM Platform, Second Edition;

Inderjeet Singh, BethStearns, Mark Johnson, and the Enterprise Team, 2002

Trang 6

• Hình thức đánh giá:

»Thang điểm môn học: 10

»Thi giữa kỳ và điểm kiểm tra thường xuyên: chiếm 30% kết quả cuối cùng

»Thi cuối kỳ: chiếm 70% kết quả cuối cùng

GIỚI THIỆU MÔN HỌC (tt)

Trang 7

NỘI DUNG

Chương 1 : TỔNG QUAN

Chương 2: PHÁT TRIỂN PHẦN MỀM Chương 3: VẬN HÀNH PHẦN MỀM Chương 4: BẢO TRÌ PHẦN MỀM

Trang 8

Chương 1: TỔNG QUAN

Mục đích:

Nhắc lại một số lý thuyết trong môn học công nghệ phần mềm để thấy được những kiến thức mà môn học sẽ đặt trọng tâm

Trang 10

1.1 Nhắc lại một số khái niệm

liên quan đến CNPM

1.1.1 Định nghĩa CNPM

* Định nghĩa CNPM cổ điển (Fritz Bauer)

Công nghệ phần mềm là sự thiết lập và sử dụng các nguyên tắc khoa học nhằm mục đích tạo ra các sản phầm phần mềm một cách kinh tế mà các sản phầm phần mềm lại hoạt động một cách hiệu quả và tin cậy trên các máy tính”

Trang 11

* Định nghĩa khác về CNPM

- CNPM là các quy trình đúng kỷ luật và có định lượng được áp dụng cho sự phát triển, thực thi

và bảo trì các hệ thống thiên về phần mềm.

- CNPM tập trung vào quy trình, sự đo lường, sản phẩm, tính đúng thời gian và chất lượng

Trang 12

1.1.2 Tiến trình, phương pháp, công cụ

Trang 13

• Công cụ (tools):

- Cung cấp các hỗ trợ tự động hay bán tự động đối với tiến trình và phương pháp.

- Các công cụ được tích hợp thành CASE

(Computer Aided Software Engineering)

- Một số Case Tools như: UML, Enterprise Architecture, Rasional Rose…

Trang 14

1.1.3 Một cách nhìn tổng quan

về công nghệ phần mềm

• CNPM có thể chia làm 3 giai đoạn lớn:

– Giai đoạn định nghĩa : Phân tích hệ thống (software engineering); hoạch định đề tài dự án (software project management); phân tích yêu cầu (requirement analysis)

– Giai đoạn phát triển : Thiết kế phần mềm (software developtment); sinh mã (code generation); kiểm tra phần mềm (software testing)

– Giai đoạn vận hành và bảo trì : Sửa lỗi (correction), thay đổi môi trường thực thi (adaptation), nâng cấp (enhancement)

Trang 15

1.2 MÔ TẢ CHU TRÌNH PHÁT TRIỂN P/M

1.2.1 Sản xuất p/m – một bài toán phức tạp

1.2.2 Chu trình phát triển p/m

1.2.3 Các giai đoạn ↑ P/M

Trang 16

1.2.1 Sản xuất p/m – một bài toán phức tạp

=> k/n phát triển?

Trang 17

Một số lý do thường gặp:

– Developers khó nhận thức thấu đáo các mối quan hệ tiềm ẩn và phức tạp cần được thể hiện chính xác trong các ứng dụng lớn – Khả năng nắm bắt các dữ liệu phức tạp của con người tại một thời điểm là có hạn

– Khó định lượng chính xác hiệu xuất của các thành phần và thỏa mãn chính xác sự mong chờ từ phía người dùng

– Lựa chọn p/c và p/m thích hợp cho 1 solution là 1 trong những thách thức lớn đối với Designers

Trang 18

Một số lý do thường gặp:

• P/M cần phải có khả năng thích ứng và

mở rộng

=> P/m đứng vững trước những biến đổi trong môi

trường dù từ phía cộng đồng người dùng hay công nghệ

Trang 19

=> Một số khuyết điểm thường gặp:

– Không hỗ trợ tốt các chức năng nghiệp vụ cần thiết (Hiểu ko đúng những gì người dùng cần)

– Hệ thống ko thể thích ứng cho phù hợp với những thay đổi về yêu cầu

– Các Module không khớp với nhau

– Phần mềm khó bảo trì và nâng cấp, mở rộng

– Phát hiện trễ các lỗ hổng của dự án

Trang 20

Một số khuyết điểm thường gặp:

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

Hiệu năng của phần mềm thấp

– Các thành viên trong nhóm không biết được ai đã thay đổi cái gì, khi nào, ở đâu, tại sao phải thay đổi.

Trang 21

(Analyst), nhà thiết kế (Designer),

người lập trình (Developer) ngoài ra cần sự hợp tác của người dùng (User)

và các chuyên gia lĩnh vực (Domain Expert) để phát triển và thực hiện một

hệ thống thông tin

Trang 22

Nhà phân tích

• Là người nghiên cứu yêu cầu của

khách hàng/người dùng để:

- Đ/nghĩa phạm vi cho bài toán,

- nhận dạng nhu cầu của một tổ chức,

- xác định xem nhân lực, phương pháp và công nghệ máy tính có thể

=> nhằm cải thiện một cách tốt nhất công tác của tổ chức này ( => p/m có ý nghĩa, được mong muốn)

Trang 23

Nhà thiết kế

• T/kế hệ thống theo hướng cấu trúc của

database, screens, forms và reports

• Quyết định các y/cầu về p/cứng và

triển.

Trang 24

Chuyên gia lĩnh vực

(Domain Experts)

• Là những người hiểu thực chất vấn đề

và tất cả những sự phức tạp của hệ thống cần tin học hoá

=> Q/trình p/triển p/m sẽ có rất nhiều thuận lợi nếu đội ngũ làm p/mềm có được sự trợ giúp của họ

Trang 25

Lập trình viên

• Là những người dựa trên các phân tích

và thiết kế để viết chương trình (coding) cho hệ thống bằng ngôn ngữ lập trình đã được thống nhất.

Người dùng

Là đối tượng phục vụ của hệ thống cần được phát triển

Trang 26

1.2.3 Các giai đoạn ↑ P/M

Trang 27

a) Nghiên cứu sơ bộ

• Trả lời câu hỏi: “Đây có đúng là một hệ thống để thực hiện không/được mong muốn không?”

• Hình thành các ý tưởng cho dự án Ý tưởng này đi // với việc nắm bắt các yêu cầu mà xuất hiện trong giai đoạn khởi đầu để hoàn tất 1 phát biểu: “Hệ thống mà chúng ta mong muốn sẽ làm được những việc như sau …….”

Trang 28

• Các hoạt động thường được thực hiện

trong giai đoạn này:

- Thu thập các ý tưởng : Đến từ nhiều nguồn khác nhau (khách hành, chuyên gia lĩnh vực, các nhà p/triển khác, chuyên gia về kỹ nghệ, các bản nghiên cứu khả thi, xem xét các hệ thống đang tồn tại)

– Nhận biết rủi ro (rủi ro của dự án, rủi ro của sản phẩm, rủi ro của doanh nghiệp)

– Nhận biết các giao diện bên ngoài

– Nhận biết các chức năng chính mà hệ thống cần cung cấp

– Tạo một vài nguyên mẫu người dùng để

“minh chứng các k/n của hệ thống”

Trang 29

• Nhóm nc cần xem xét:

– Các y/c của doanh nghiệp

– Các nguồn tài nguyên có thể s/dụng – Các công nghệ, cộng đồng người dùng cũng như các ý tưởng của họ đối với hệ thống mới

 Tạo 1 phiên bản thô về lịch trình và

kế hoạch sd tài nguyên

Trang 30

Kết quả nc nếu được thực hiện:

* Tốt : lập lên 1 tập hợp các y/cầu (dù ở mức độ khái quát cao) đối với h/thống khả thi và được mong muốn

Trang 31

b) Phân tích yêu cầu

• Là giai đoạn thường được coi là quan trọng nhất trong các giai đoạn: hiểu hệ thống cần xây dựng.

=> Người thực hiện công việc này là nhà phân tích.

Trang 32

• P/tích nhằm trả lời câu hỏi: Hệ thống cần phải làm gì?

• Các công việc cần làm:

– Nc chi tiết hệ thống doanh nghiệp hiện thời,

– Tìm ra nguyên lý hoạt động của nó và những vị trí

có thể được nâng cao, cải thiện

– Nc xem xét các chức năng mà hệ thống cần cung

cấp, mối quan hệ của chúng với bên trong và bên ngoài hệ thống

=> Nhà phân tích và người dùng cùng cộng tác

b) Phân tích yêu cầu

Trang 33

• Mục tiêu của giai đoạn p/tích

– Trao định nghĩa vấn đề cho chuyên gia lĩnh vực để nhận sự đánh giá, góp ý.

=> Kết quả của giai đoạn phân tích là bản Đặc Tả Yêu Cầu (Requirements Specifications).

b) Phân tích yêu cầu

Trang 34

c) Thiết kế hệ thống

• Nhằm trả lời câu hỏi chính: Hệ thống làm cách nào để thỏa mãn các yêu cầu đã được nêu trong Đặc Tả Yêu Cầu?

• Các công việc thường được tiến hành:

– Nhận biết form nhập liệu tùy theo các thành phần

Trang 35

Các công việc thường được tiến hành:

- Nhận biết các thành phần dữ liệu và mối quan

hệ dữ liệu để tổ chức quản lý, lưu trữ database

- Ước tính các thủ tục giải thích quá trình xử

lý từ input đến output.

- Phân chia các thành phần vào các vùng liên quan và lựa chọn cách thức tổ chức quản lý thích hợp => kiến trúc ứng dụng thích hợp

=> Kết quả giai đoạn thiết kế là Đặc Tả Thiết Kế (Design Specifications).

Trang 36

d) Xây dựng p/mềm

• Là giai đoạn viết lệnh (code)

• Từng người viết code sẽ :

– Mã hóa để thực hiện những yêu cầu đã được nhà thiết kế định sẵn.

– chịu trách nhiệm viết tài liệu liên quan đến chương trình, giải thích thủ tục (procedure) mà mình tạo nên được viết như thế nào và lý do cho việc này.

– tiến hành thử nghiệm phần chương trình của mình, hđ này chia làm 2 bước:

Trang 39

– Tạo các tài liệu hướng dẫn sd

– Huấn luyện cho người dùng

Trang 40

g) Bảo trì, nâng cấp

• Bảo trì, nâng cấp để hệ thống phù hợp với các biến đổi môi trường và những y/cầu thay đổi

Môn học tập trung vào 2 giai đoạn cuối của

CNPM:

- Phát triển

- Vận hành và bảo trì hệ thống p/m

Trang 41

HẾT CHƯƠNG

Ngày đăng: 17/10/2014, 07:20

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w