1. Trang chủ
  2. » Giáo án - Bài giảng

Triển khai phần mềm

89 461 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 89
Dung lượng 537,5 KB

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

Nội dung

Tại sao phải lập lịch Dể triển khai một hệ thống phức tạp,nhiều tác vụ xảy ra song song và kết quả của công việc được thực thi trong 1 tác vụ có ảnh hưởng sâu sắc đến công việc được th

Trang 1

Triển khai phần mềm

Triển khai phần mềm

Sinh viên thực hiện:

Lê Huy Bình Nguyễn Trung Dũng

Từ Văn Hiếu Lớp ĐT10-k49

Trang 3

A Định nghĩa :Pha phát triển

phát triển hệ thống theo một vòng lặp và tăng dần để đạt tới toàn bộ sản phẩm đầy

đủ, sẵn sàng chuyển giao tới cộng đồng

người sử dụng

thành chương trình cụ thể thông qua một ngôn ngữ lập trình cụ thể

Trang 4

B Điều kiện khởi điểm

 Mô tả chi tiết yêu cầu của dự án

 Cấu trúc của toàn bộ chương trình theo từng Module

 Giao diện của từng Module chương trình

 Nhiệm vụ và chức năng của từng Module

 Đặc tả chi tiết theo các Module của ứng dụng

Trang 5

C Nhiệm vụ

 Giai đoạn này bao gồm việc mô tả các yêu cầu còn lại chưa được xác định, làm mịn thiết kế và chuyển đặc tả thiết kế thành mã nguồn (source code)

 Cần viết mã, và các tài liệu trong giai đoạn này sao cho mã tuân theo đúng đặc tả, có thể dễ

dàng được kiểm chứng, và việc gỡ lỗi, kiểm thử,

và thay đổi có thể được thực hiện một cách dễ dàng

Trang 6

D Xây dựng lịch trình

 Yêu cầu:

 Đây là bước rất quan trọng , đòi hỏi một người có kinh nghiệm

và khả năng tổ chức xây dựngn lên.

 Dựa vào đặc tả chi tiết của hệ thống ta xác định thời gian cần thiết để xây dựng cụ thể từng Module nhỏ nhất , tích hợp các Module , kiểm tra từng Module.

 Xây dựng tiến trình thời gian cho việc viết tài liệu hướng dẫn sử dụng , tài liệu nội dung hệ thống và các tài liệu liên quan khác.

 Sau khi có tiến trình thời gian triển khai của hệ thống , phân công công việc cụ thể cho từng thành viên trong đội theo khả năng

Trang 7

Tại sao phải lập lịch

 Dể triển khai một hệ thống phức tạp,nhiều

tác vụ xảy ra song song và kết quả của công

việc được thực thi trong 1 tác vụ có ảnh hưởng sâu sắc đến công việc được thực thi trong 1 tác

vụ khác sự phụ thuộc lẫn nhau rất khó có thể

hiểu được nếu như không có lập lịch.Việc đánh giá sự triển khai phần mềm vừa và nhỏ là không thể thiếu nếu như không có 1 bảng lập lịch chi tiết

Trang 8

Tại sao phải lập lịch

 Nhằm phân công cụ thể công việc của từng

module cho từng thành viên trong đội lập trình

 Quản lý được tiến độ triển khai dự án từ đó có biện pháp chỉnh sửa phù hợp trong quá trình triển khai để đảm bảo tiến độ công việc

 Quản lý được Source Code , thuận tiện cho quá trình gỡ lỗi , triển khai , nâng cấp hệ thống

Trang 9

Ai thực hiện?

phần mềm sử dụng thông tin thu được từ

những kỹ sư phần mềm.Để thực hiện điều phối một cách có hiệu quả thì người quản lí cần có kinh nghiệm

làm

Trang 10

D Xây dựng lịch trình D.1/ Phân công và điều phối

D.2/ Kiểm soát tiến độ công việc

Trang 11

Phân công và điều phối

 Cả sản phẩm và các tiến trình đều được chia và

cần phải xác định rõ ràng mối quan hệ ràng buộc giữa các Module được chia

 Mỗi tác vụ được lập lịch phải được cấp phát một

số đơn vị làm việc(ví dụ như ngày công).Ngoài ra,mỗi tác vụ phải được gán một ngày khởi công

và môt ngày hoàn thành

Trang 12

 Trách nhiệm rõ ràng

Mỗi tác vụ được lâp lịch nên gán cho một thành viên cụ thể của đội dự án

 Phân bố công việc hợp lý

Mỗi một dự án phải có số thành viên nhất định,và phải đảm bảo rằng không thể có nhiều người hơn so với lượng công việc được chia

Trang 13

Những lưu ý trong phân công v à

điều phối

 Tất cả các nhiệm vụ đều ở trong hệ thông

 Công sức và thời gian phải được cấp cho từng nhiệm vụ môt cách thông minh

 Các tài nguyên câp pháp cho công việc phải được dùng một cách hiệu quả,như tài chính,nhấn lực

 Quan hệ giữa con người và công sức

L=PxE^1/3xt^4/3

=> E=L^1/3/(P^3xt^4)

E:là công sức ,tình theo số người làm việc trong tháng

P:Thông số năng suất

T:thời gian của dự án tính theo tháng

Trang 14

L=33000 dòng lệnh,Nếu 8 người được

phân công thi công việc được hoàn thành

trong 1.3 năm,Tuy nhiên,nếu chúng ta kéo dài thời hạn cuối nên 1.75 năm,thi khi đó số người cần thiết để đáp ứng công việc này

giảm đi chỉ còn 4

Trang 15

Kiểm soát tiến độ công việc

phù hợp với từng nhóm thành viên báo cáo các tiến trình và vấn đề

bắt đầu trong kế hoạch cho mỗi danh sách nhiệm vụ của dự án trong bảng tài nguyên

Trang 16

 Xác định các mốc quan trọng

Mỗi tác vụ hoặc nhóm tác vụ nên được

liên kết với một 1 cột mốc của dự án Một

cột mốc được hoàn thành khi môt hoăc

nhiều kết quả được xem lại để đảm bảo chất lượng và đẻ được chấp nhận

Mỗi tác vụ được lập lịch nên có một bản xác định kết quả,kết quả thường là một bản sản phẩm làm việc(như thiết kế của một module) hoặc một phần của sản phẩm

Trang 17

Mối quan hệ giữa phân phối và kiểm soát tiến độ công việc

quả của phân phối,từ đó có những điều

chỉnh thích hợp

được điều chỉnh để từ đó thúc đẩy tiến độ

dự án hoặc tác vụ hoàn thành theo dự

kiến với sai lệnh trong mức độ cho phép

Trang 19

Tiến trình A

Trang 20

Chú ý trong việc xây dựng quy trình thời gian

trên kinh nghiệm thực tế và dự đoán nên trong quá trình thực hiện có thể phải có những chỉnh sửa cho phù hợp thực tế

>PERT:program evalation and review technoque

(ước lượng và thẩm định kỹ thuật)

critical path

Update progress

http://www.netmba.com/operations/project/

pert/

Trang 24

Điều Phối

Và Kiểm soát

Trang 25

Điều Phối

Và Kiểm soát

Trang 26

E.1.1 Sơ lược về CSDL và

VD: MS Access, SQL server, Oracle…

Trang 27

E.1.1.2/Kiến trúc của một hệ quản trị CSDL

(các thay đổi sơ đồ, các truy vấn,các thay đổi dữ liệu)

Bộ xử lý câu hỏi

Bộ quản lý lưu trữ Bộ quản lý giao dịch

Dữ liệu,Siêu dữ liệu

Trang 28

E.1.1.2/ Các khả năng của một hệ quản trị CSDL:

* Quản lý dữ liệu tồn tại lâu dài

* Truy nhập các khối lượng dữ liệu lớn hiệu quả

* Có khả năng chia sẻ tài nguyên cho nhiều

người dùng trong cùng một hệ thống

E.1.1.3/ Các ngôn ngữ CSDL:

* DDL (Data Definition Language)

* DML (Data Manipulation Language)

* DCL (Data Control Language)

Trang 29

E.1.1.4/ Các đối tượng sử dụng CSDL:

* Người lập trình ứng dụng

* Người phân tích dữ liệu

* Người dùng cuối

Trang 30

E.1.1.5/ Phân loại Hệ CSDL (theo kiến trúc): E.1.1.5.1/ Hệ CSDL tập trung.

* Hệ CSDL cá nhân

* Hệ CSDL trung tâm

* Hệ CSDL chủ/khách ( Server/Client)

E.1.1.5.2/ Hệ CSDL phân tán

Trang 31

E.1.2 Các chú ý khi xây dựng CSDL

E.1.2.1 An toàn dữ liệu:

Định nghĩa : bảo vệ dữ liệu trong CSDL

chống lại sự thay đổi, truy nhập,phá huỷ bất hợp pháp

+ Quyền đọc dữ liệu

+ Quyền cập nhật dữ liệu

+ Quyền bổ sung dữ liệu

+ Quyền xóa dữ liệu

Trang 32

+ Quyền tạo chỉ dẫn: tạo ra các chỉ dẫn đối với các quan hệ trong CSDL.

+ Quyền quản lý tài nguyên.

+ Quyền loại bỏ.

E.1.2.2 Toàn vẹn dữ liệu:

phá huỷ không có căn cứ (khác với không hợp pháp)

+ Toàn vẹn thực thể.

+ Toàn vẹn quy chiếu.

Trang 33

 E.1.2.3 Cấu trúc dữ liệu dễ hiểu

 Nên xác định tất cả các cấu trúc dữ liệu và thao tác thực hiện trên từng cấu trúc dữ liệu

 Việc biểu diễn/khai báo các cấu trúc dữ liệu chỉ nên thực hiện ở những Module sử dụng trực tiếp dữ liệu

 Nên thiết lập và sử dụng từ điển dữ liệu khi thiết lập dữ liệu

Trang 34

Điều Phối

Và Kiểm soát

Trang 35

Lập trình

lạc giữa con người và máy tính Tiến trình lập trình - sự liên lạc thông qua ngôn ngữ lập trình - là một hoạt động con người

Lập trình là bước cốt lõi trong tiến trình kỹ nghệ phần mềm

Trang 36

Lập trình Chọn ngôn ngữ

Giải thuật cho

Điều phối và kiểm soát tiến độ

Viết code

Liên kết CSDL

CSDL

Trang 38

Môi trường lập trình

Môi trường phát triển tích hợp

IDE ( Integrated Development Environment)

Lập trình web

Visual Studio 6.0 Delphi 5.0

Developer 2000 (Oracle )

Có 2 cách tiếp cận để tạo ra việc lập trình trên Web:

+ làm cho chương trình hiện thực có thể chạy trên môi trường Web Ví dụ : VB-web

+ phát triển một môi trường mới với dự đinh cho nó chạy trong môi trường web Ví dụ: FrontPage

Trang 39

Chọn ngôn ngữ

Môi trường

Các ngôn ngữ LT

Bộ xử lý ngôn ngữ

Trang 40

Các ngôn ngữ lập trình

Trang 41

Ngôn ngữ người dùng cuối Ngôn ngữ hướng vấn đề

Ngôn ngữ script

GPSS

Fortran Cobol Pascal C

RPG APL USP Prolog SmallTalk C++

Java

Ngôn ngữ máy Hợp ngữ

Trang 42

Các đặc trưng của ngôn ngữ cấp thấp:

• Cung cấp năng suất phần mềm thấp do sử dụng các kí hiệu chữ để

mô tả chương trình

• Người lập trình yêu cầu phải có kiến thức về phần cứng

• Các chưong trình phải được viết lại khi phần cứng thay đổi

Do đó Chúng chỉ được sử dụng trong các xử lý điều khiển đòi hỏi tốc độ xử lý cao

Trang 43

Ngôn ngữ

Lập trình

Ngôn ngữ thủ tục Ngôn ngữ phi thủ tục Ngôn ngữ thế hệ bốn (4GL)

Ngôn ngữ lập trình cấp cao

Fortran Cobol Pascal

APL USP Prolog SmallTalk C++

Java

Các đặc trưng của ngôn ngữ cấp cao:

• Cung cấp sự dễ dàng trong việc mô tả các thủ tục xử lý và thích hợp cho việc

giải quyết vấn đề.

• So với hợp ngữ, nó có cấu trúc gần với ngôn ngữ tự nhiên hơn.

• ít phụ thuộc vào phần cứng đặc biệt.

• Một lệnh có thể chứa nhiều lệnh máy Do đó, số các bước chương trình có thể ngắn hơn

Trang 44

Ngôn ngữ

Lập trình

Ngôn ngữ thủ tục Ngôn ngữ phi thủ tục Ngôn ngữ thế hệ bốn (4GL)

Ngôn ngữ lập trình cấp cao

Fortran Cobol Pascal

APL USP Prolog SmallTalk C++

Java

Tuy nhiên ngôn ngữ cấp cao có một số hạn chế sau:

•cần phần mềm để vận hành trực tiếp các chức năng phần cứng, đôi khi dẫn tới giảm hiệu quả xử lý

Trang 45

Các đặc trưng của ngôn ngữ thủ tục:

* để mô tả các thuật toán chỉ ra các thủ tục xử lý giải quyết một vấn đề

Trang 46

Ngôn ngữ

Lập trình

Ngôn ngữ phi thủ tục Ngôn ngữ lập trình cấp cao

Các đặc trưng của ngôn ngữ phi thủ tục:

• Cho phép chương trình được sinh ra mà không phải mô tả thuật toán.

• Thường có năng suất cao do việc áp dụng các hình mẫu đã định trước vào thủ tục xử

lý, nhưng lại kém linh hoạt trong việc xây dựng chương trình.

• ngôn ngữ dạng kiểu bảng:

•Ngôn ngữ hàm

• Ngôn ngữ logic : ví dụ : Prolog một ngôn ngữ lập trình cho trí tuệ nhân tạo.

• Ngôn ngữ hướng sự vật : SmallTalk, C++, Java thích hợp cho ứng dụng mạng.

Trang 47

Các đặc trưng của ngôn ngữ thế hệ bốn (4GL):

•Ưu điểm lớn nhất của ngôn ngữ này là cho phép người không có kinh nghiệm về Chương trình tạo ra chương trình một cách dễ dàng.

• việc xử lý các thao tác được thực hiện bằng các hướng dẫn có tham chiếu.

Trang 48

Ngôn ngữ

Đặc trưng ngôn ngữ script:

• là ngôn ngữ do người dùng cuối sử dụng để tự phát triển các hệ thống đã có.

• bản chất hướng biến cố là đặc trưng quan trọng nhất của ngôn ngữ Script.

Trang 49

Ngôn ngữ

GPSS FORMAC COGO

Đặc trưng ngôn ngữ :

• là ngôn ngữ thao tác trong các miền đặc biệt.

• cho phép những chương trình cần thiết được phát triển nhanh hơn và chính xác hơn trong những miền có giới hạn đó so với việc dùng các ngôn ngữ vạn năng.

• thông thường, ngôn ngữ này được cung cấp dưới dạng gói phần mềm do đó việc dùng chúng là một ưu thế cho người dùng về độ tin cậy và chi phí phát triển.

• tri thức đặc biệt trong các miền mà ngôn ngữ này đựợc dùng là cần thiết

• không dùng được cho miền bên ngoài miền nó được phát triển.

Trang 50

Lập trình Chọn ngôn ngữ

Giải thuật cho

Điều phối và kiểm soát tiến độ

Viết code

Liên kết CSDL

CSDL

Trang 51

Chọn ngôn ngữ

Môi trường

Các ngôn ngữ LT

Bộ xử lý ngôn ngữ

Trang 54

D.3 Chọn ngôn ngữ lập trình

 Đây là bước rất quan trọng vì nó liên quan

đến quá trình kiểm thử,bảo trì và phát triển phần mềm sau này

 Dựa vào các yếu tố về ngôn ngữ, bộ xử lý

ngôn ngữ và môi trường lập trình chúng ta sẽ chọn được đúng công cụ lập trình

Trang 55

 D.3.2 Việc chọn ngôn ngữ lập trình phụ

thuộc vào :

 Môi trường triển khai dự án: Cục bộ hay phân tán

 Hệ điều hành: Dos, window, Unix/Linux

ví dụ: Window: C/C++,C#, Net, Java…

Linux : C/C++,GCC (Gnu C Complier)…

 Công cụ soạn thảo, trình biên dịch, liên kết,

Trang 56

Lập trình Chọn ngôn ngữ

Giải thuật cho

Điều phối và kiểm soát tiến độ

Liên kết CSDL

CSDL

Trang 57

Nhiệm vụ

module.

Trang 58

E.2.1 Thuật toán

* Các kí hiệu sử dụng

trong lưu đồ thuật

giải

Trang 59

 Thuật toán If…then…

else

Trang 60

E.2.1 Thuật toán

 Một hình thức khác

của lênh If…then…

else

Trang 61

 Case…/Switch…

Trang 62

E.2.1 Thuật toán

 Do … Until…

Trang 63

 Vòng lặp

+ while… until

+ for

Trang 64

 Ngoài ra còn sử dụng thủ tục ,chương trình con, hàm có sẵn, hàm

do người dùng định

nghĩa…

Trang 65

E.2.2 Ví dụ thuật toán

 Ví dụ:

Trang 66

Ví dụ

Trang 67

Ví dụ

Trang 68

E.2.3 Chú ý

 Cấu trúc thuật toán rõ ràng

 Một đầu vào một đầu ra

Trang 69

Lập trình Chọn ngôn ngữ

Giải thuật cho Cho từng module

Điều phối và kiểm soát tiến độ

Liên kết CSDL

CSDL

Trang 70

D.5 Coding

 Là quá trình hiện thực hóa lưu đồ thuật giải bằng một ngôn ngữ lập trình cụ thể

 Hiểu rõ môi trường triển khai ứng dụng

 Nắm vững ngôn ngữ sử dụng

 Hiểu chi tiết về Module được giao

Trang 71

Phong cách lập trình

 Tính rõ ràng: có khả năng hiểu được chương trình

 Biện pháp : khi làm việc tuân thủ quy tắc như: đặt tên biến, thụt lề, chú thích…

 Tính hiệu quả: nhằm tối ưu tốc độ thực hiện

Trang 72

Các phong cách lập trình

Phong cách lập trình

Trang 73

I Lập trình tránh lỗi

1.Các lỗi thường gặp trong lập trình bao gồm:

- Lỗi cấu trúc : Do chưa nghiên cứu phân tích

Trang 75

Lập trình phòng thủ

mà các mâu thuẫn hoặc lỗi chưa được

phát hiện có thể tồn tại trong nó

đổi ,nếu phát hiện mâu thuẫn thì việc biến đổi trạng thái phải được rút lại và trạng

thái phải trở về trạng thái đúng đắn trước

đó

Trang 76

Lập trình hướng hiệu quả thực hiện

 Tính hiệu quả chương trình

 Hiệu quả bộ nhớ :

 Tối ưu hoá bộ nhớ chiếm dùng của chương trình

 Biện pháp : Giảm sự phân trang trong hệ điều hành, sử dụng ngon ngữ lập trình và trình biên dịch hợp lý với êu cầu công việc

 Hiệu quả vào ra:

 Tối ưu vào ra nhằm tăng tôc độ thực hiên của chương trình

 Biện pháp : tối thiểu hoá các yêu cầu vào ra,sử dụng các

Trang 77

Tóm lại về quá trình viết code

 Tuân theo quy cách lập trình.

 Cấu trúc lồng nhau rõ ràng.

 Dùng Comment hợp lý.

 Dùng tên biến có nghĩa và gợi nhớ.

 Tránh Goto, trừ khi ra khỏi lặp và dừng

 Tránh dùng Case/Swithch nhiều hoặc lồng nhau.

 Mã nguồn một chương trình/Module nên viết trên một trang.

 Tránh viết nhiều lệnh trên một dòng.

Trang 78

D.6 Chạy các Module

và Debugger để hoàn thiện từng Module.

kết quả xử lý so với yêu cầu đặt ra.

Trang 79

Tổng quan về kiểm thử

trong quy trình phần mềm

Trang 82

Kiểm thử đơn vị (Unit test)

 Được tiến hành tại những giai đoạn sớm nhất trong pha kiểm thử

Trang 83

Phương pháp kiểm thử

hành): chú ý chính được dồn vào giao

diện, yếu tố vào ra giữa các module.

hộp trong) chú ý chính được dồn vào cấu trúc bên trong

Trang 84

Thiết kế trường hợp kiểm thử

số liệu, dữ liệu kiểm thử.

Trang 85

E Tích hợp Hệ thống

 Tùy thuộc từng ứng dụng cụ thể ,tích hợp các Module theo từng cấp

 C1=(A1,B1)

 C2=(A2,B2)

 D=(C1,C2,…)

 Tiến hành kiểm tra sau mỗi giai đoạn tích hợp

 Nếu phát sinh lỗi trong quá trình kiểm tra thì test lại các liên kết giữa các Module

Trang 86

Tài liệu hướng dẫn

 Hướng dẫn cài đặt CSDL

 Hướng dẫn cài đặt phần mềm

Trang 89

F Kết thúc pha triển khai

 Đáp ứng về giao diện của ứng dụng

 Đáp ứng về yêu cầu xử lý của ứng dụng

 Khả năng triển khai và nâng cấp của ứng dụng

 Bước cuối cùng trong pha triển khai

 Tích hợp phần mềm, tài liệu hướng dẫn

Ngày đăng: 29/12/2015, 21:23

TỪ KHÓA LIÊN QUAN

w