1. Trang chủ
  2. » Luận Văn - Báo Cáo

kĩ thuật phân tích và phương pháp hình thức hoá trong công nghệ phần mềm

40 1,4K 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 40
Dung lượng 251 KB

Nội dung

Mở đầuNgày nay, cùng với sự phát triển ồ ạt của nền kinh tế, nghành côngnghệ thông tin cũng đã, đang và sẽ đạt đợc những thành tựu nhất định.Mộtlĩnh vực hết sức quan trọng trong nghành c

Trang 1

Mở đầu

Ngày nay, cùng với sự phát triển ồ ạt của nền kinh tế, nghành côngnghệ thông tin cũng đã, đang và sẽ đạt đợc những thành tựu nhất định.Mộtlĩnh vực hết sức quan trọng trong nghành công nghệ thông tin đang đợc quantâm đầu t và phát triển đó là công nghệ phần mềm.Qua hai thập kỉ, công nghệphần mềm đã có nhiều bớc tiến và cho đến ngày nay, nó đã đợc thừa nhận làmột môn khoa học chính thống,một lĩnh vực nghiên cứu xứng đáng và luôn làmột lĩnh vực thu hút rất nhiều đối tợng tham gia nghiên cứu.Việc đặc tả cácyêu cầu , phát triển , quản lí ,bảo trì phần mềm tạo nên các nguyên tắc củacông nghệ phần mềm.Để khám phá các kiến thức của công nghệ phần mềmnói chung và đặc biệt là mặt kĩ thuật và phơng pháp, sau khi nghiên cứu và

xem xét em đã quyết định chọn đề tài : “ Kĩ thuật phân tích và phơng pháp

Bằng kiến thức đợc học và tham khảo sách vở, tài liệu, báo chí, em đã cốgắng bám sát nội dung và đi sâu vào vấn đề nghiên cứu, để hoàn thành yêu cầucủa đề án.Tuy nhiên, do đặc thù của lĩnh vực nghiên cứu, thông tin luôn biến đổikhông ngừng cho nên đề án vẫn không tránh khỏi những thiếu sót về nội dung

và hình thức, rất mong độc giả đóng góp ý kiến.Xin chân thành cảm ơn sự hớngdẫn của PGS.TS Hàn Viết Thuận đã giúp em hoàn thành đề án này

chơng I tổng quan về công nghệ phần mềm

1.Định nghĩa

Theo Tiến sĩ Roger S.Pressman_Nhà khoa học tên tuổi ngời Mĩ có uytín về các phơng pháp,công cụ kĩ nghệ phần mềm, một nhà s phạm có kinh

Trang 2

nghiệm_Phần mềm (Software_SW) là một tập hợp các câu lệnh đợc viết bằngmột hoặc nhiều ngôn ngữ lập trình,nhằm tự động thực hiện một số các chứcnăng giải quyết một bài toán nào đó.Không chỉ vậy, SW còn là cấu trúc dữliệu làm cho chơng trình thao tác thông tin thích hợp, là các t liệu mô tả thaotác và cách sử dụng chơng trình.Có thể nói đây là một định nghĩa tơng đốihoàn chỉnh và chính xác.

Ngày nay, vai trò của SW ngày càng thể hiện tính trội của nó.SWquyết định chất lợng của một hệ thống máy tính(HTMT),là chủ đề cốtlõi,trung tâm của HTMT.HTMT gồm phần cứng( Hardware_HW) vàSW.Trong HTMT, nếu loại bỏ đi các thiết bị và các loại phụ kiện thì phần cònlại chính là SW.Theo nghĩa hẹp, SW là dịch vụ chơng trình để tăng khả năng

xử lí của phần cứng của máy tính.(Nh hệ điều hành_OS).Còn hiểu theo nghĩarộng ,SW là tất cả các kĩ thuật ứng dụng để thực hiện những dịch vụ chứcnăng cho mục đích nào nào đó bằng phần cứng.SW theo nghĩa rộng ,khôngchỉ có SW cơ bản và SW ứng dụng, mà phải gồm cả khả năng kinh nghiệm, kĩnăng của kĩ s,là tất cả các kĩ thuật làm cho sử dụng phần cứng đạt hiệu quảcao

2.Tầm quan trọng của SW

Trong ba thập kỉ đầu tiên của thời đại tính toán, thách thức chủ yếu làphải phát triển phần cứng máy tính để làm giảm bớt giá thành xử lí và lu trữdữ liệu Trong suốt thập kỉ 1980, tiến bộ trong vi điện tử đã làm phát sinhnăng lực tính toán mạnh hơn với giá thành thấp đáng kể.Ngày nay vấn đề đãkhác đi.Thách thức chủ yếu trong những năm 1990 là phải cải thiện chất lợng(và giảm giá thành) của các giải pháp dựa trên máy tính_Giải pháp đợc cài đặtbằng phần mềm

Năng lực của máy tính lớn thời đại 1980 nay có sẵn trong máy tính đểbàn.Khả năng xử lí và lu trữ đáng kính của phần cứng hiện đại biểu thị chotiềm năng tính toán.Phần mềm là một cơ chế làm cho chúng ta chế ngự vàkhai thác đợc tiềm năng này

Sự phát triển của SW gắn liền với sự tiến hoá của HTMT.Qua từng giai

đoạn phát triển đánh dấu những bớc tiến bộ mạnh mẽ và đột phá của ngànhCNPM.Các nhà khoa học cũng đã nhanh chóng nắm bắt đợc vấn đề và thấy đ-

ợc vai trò tiến hoá của SW

Trang 3

2.1 Vai trò tiến hoá của SW

Trong cuốn sách phổ biến về “cuộc cách mạng máy tính” Osborne đã

đặc trng là “Cuộc cách mạng công nghiệp mới”., Toffler thì gọi tiến bộ trongphần vi điện tử là “đợt sóng thay đổi thứ ba” trong lịch sử loài ng ời, cònNaisbit thì tiên đoán rằng việc biến đổi từ một xã hội công nghiệp sang “xãhội thông tin” sẽ có ảnh hởng sâu sắc đến cuộc sống của chúng ta

Trong những năm đầu của việc phát triển HTMT, việc phát triển SWthực sự không đợc quản lí, cách làm việc theo lô đợc dùng trong hầu hết các

hệ thống Khi HW vạn năng đã trở nên thông dụng thì SW lại đợc thiết kếtheo đặt hàng cho từng ứng dụng và đợc phân phối khá hạn chế Có thể nói,

sự hiểu biết về kĩ nghệ hệ thống hầu nh cha có Từ những năm 1960 đến cuốinhững năm 1970, các hệ thống đa lập trình và đa chơng trình đã đa ra nhữngkhái niệm mới về tơng tác ngời_máy Hệ thống thời gian thực có thể thunhập, phân tích và biến đổi dữ liệu từ nhiều nguồn khác nhau Những tiến bộtrong lu trữ trực tuyến dẫn tới thế hệ đầu tiên các hệ quản trị cơ sở dữliệu(CSDL).Phần mềm đã đợc phát triển để phân phối theo quy mô rộng trongmột thị trờng lớn.Bắt đầu từ giữa những năm 1970 và cho tới nay, hệ thốngphân bố_nhiều máy tính, mỗi máy thực hiện một chức năng và liên lạc đợcvới các máy khác.Thời kì này, đặc trng bởi tiến bộ và sự phổ cập các bộ vi xử

lí, máy tính cá nhân và các máy trạm để bàn mạnh.Các công ty SW đã đạthiệu quả cao vàsự tăng trởng mạnh nhờ máy tính cá nhân Rõ ràng là, sự tiếnhoá của SW một yếu tố quan trọng để thế giới phát triển theo hớng hiện đạihoá, đa loài ngời tới những chân trời mới của tri thức và xây dựng một nềnvăn minh hiện đại

2.2 Vai trò của SW trong việc phát triển HTMT

Nh chúng ta đã biết, trong những ngày đầu của tin học, việc phát triểnHTMT đợc các nhà quản lí quan tâm đặc biệt tới HW.Họ cho rằng HW là yếu

tố quyết định tới sự phát triển của hệ thống Phần lớn ngân sách đợc đầu t cho

HW, trong khi SW chỉ đợc coi là phụ Việc lập trình đã đợc coi nh một “hìnhthức nghệ thuật” Thế giới SW thực tế không có kỉ luật.Nhng ngày nay, cùngvới sự tiến bộ trong nhận thức của con ngời thì sự phân bố chi phí cho việcphát triển các hệ thống dựa trên máy tính đã thay đổi cơ bản.Phần mềm làkhoản mục chi phí lớn nhất.Phần mềm đã trở thành phần tử chủ chốt trongtiến hoá của các hệ thống và sản phẩm dựa trên máy tính.Bốn thập kỉ qua, SW

đã tiến hoá từ một công cụ phân tích thông tin và giải quyết vấn đề thành một

Trang 4

ngành công nghiệp.Với một vai trò quan trọng nh vậy, SW đã, đang và sẽ là

đối tợng của rất nhiều nhà khoa học trong lĩnh vực tin học trên thế giới

3.ứng dụng của SW

Cùng với sự phát triển, độ phức tạp của phần mềm cũng ngày một tăng,

sự phân chia ứng dụng của SW một cách rõ rệt sẽ biến mất.Phần mềm có thể

đ-ợc áp dụng trong bất kì tình huống nào có một tập các bớc thủ tục đã đđ-ợc xác

định trớc.Tuy nhiên, có thể phân chia SW theo các lĩnh vực sau đây

3.1 SW hệ thống

SW hệ thống là một tập hợp các chơng trình đợc viết để phục vụ chocác chơng trình khác.Các SW hệ thống nh trình soạn thảo, trình biên dịch vàtiện ích quản lí tệp xử lí các cấu trúc thông tin phức tạp nhng xác định.Cácứng dụng hệ thống khác nh thành phần hệ điều hành, khiển trình, bộ xử líviễn thông có dữ liệu chủ yếu không xác định Trong cả hai trờng hợp,lĩnhvực phần mềm hệ thốngđợc đặc trng bởi tơng tác chủ yếu với phần cứng máytính; sử dụng nhiều cho hệ thống nhiều ngời dùng,thao tác tơng tranh đòi hỏilập lịch,dùng chung tài nguyên và các quản lí tiến trình phức tạp; cấu trúc dữliệu phức tạp và nhiều giao diện ngoài

 Một thành phần phân tích để biến đổi thông tin theo yêu cầu của ứng dụng

 Một thành phần kiểm soát /đa ra để đáp ứng với môi trờng ngoài

 Một thành phần điều phối để điều hoà các thành phần khác sao cho cóthể đáp ứng thời gian thực điển hình

Hệ thống thời gian thực phải đáp ứng trong những ràng buộc thời gianchặt chẽ.Thời gian đáp ứng của một tơng tác thông thờng có thể bị vợt quánhng không gây ra hậu quả nghiêm trọng

3.3 SW nghiệp vụ

Một trong những lĩnh vực ứng dụng SW lớn nhất là xử lí thông tinnghiệp vụ.Nhiều SW hệ thống thông tin quản lí đã ra đời và xâm nhập vào

Trang 5

trúc lại dữ liệu hiện có theo cách thuận tiện cho các thao tác nghiệp vụ hay raquyết định quản lí.

3.4 SW khoa học và công nghệ

SW này ứng dụng trong các lĩnh vực khoa học và công nghệ, nó đợcdặc trng bởi các thuật toán “máy nghiền số.Các ứng dụng giao động từ thiênvăn cho tới núi lửa, từ phân tích căng thẳng về ô tô cho tới sự biến động củaquỹ đạo tầu con thoi, từ sinh học phân tử tới chế tạo tự động

3.5 SW nhúng

SW nhúng nằm trong bộ nhớ chỉ đọc và đợc dùng để điều khiển các sảnphẩm và hệ thống cho ngời tiêu dùng và thị trờng công nghiệp.Phần mềmnhúng có thể thực hiện những chức năng rất giới hạn và huyền bí (nh điềukhiển bàn phím cho lò vi sóng) hay đa ra các khả năng điều khiển và vậnhành có nghĩa (nh chức năng số hoá trong ô tô, hệ thống phanh ).Nhờ cácứng dụng này,các sản phẩm thông minh đã hỗ trợ rất lớn cho ngời tiêu dùng

và thị trờng công nghiệp

3.6 SW máy tính cá nhân

Thị trờng SW máy tính cá nhân đã bùng nổ trong suốt thập kỉ qua.Xử lívăn bản, trang tính ,đồ hoạ máy tính, quản trị CSDl, các ứng dụng tài chính cánhân và nghiệp vụ là một trong số hàng trăm các ứng dụng của SW máy tínhcá nhân

3.7 SW trí tụê nhân tạo(AI)

SW này sử dụng các thuật toán phi số để giải quyết các vấn đề phức tạp

mà tính toán hay phân tích trực tiếp không quản lí nổi.Các ứng dụng quantrọng nhất của AI là hệ cơ sở tri thức, nhận dạng(hình ảnh và tiếng nói),chứng minh định lí và chơi trò chơi Trong những năm gần đây, sự ra đời của

“mạng nơ ron nhân tạo” đánh dấu bớc phát triển mới của AI

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

1 Khái niệm

Có nhiều định nghĩa khác nhau về công nghệ phần mềm(CNPM).Đểhiểu một cách cụ thể và rõ nét khái niệm này, chúng ta hãy xem xét quanniệm của các nhà khoa học qua từng thời kì về CNPM

Trang 6

 Bauer(1969): CNPM là việc thiết lập và sử dụng các nguyên tắccông nghệ học đúng đắn để thu đợc phần mềm một cách kinh tế vừa tin cậyvừa làm việc hiệu quả trên các máy thực.

bản bởi nhiều ngời dùng

 Ghezzi(1991): CNPM là một lĩnh vực của khoa học máy tính,liênquan đến việc xây dựng các hệ thống phần mềm vừa lớn vừa phức tạp bởi mộthay một số nhóm kĩ s

 IEEE(1993): CNPM là việc áp dụng phơng pháp tiếp cận có hệthống,bài bản và đợc lợng hoá trong phát triển,vận hành và bảo trì SW vànghiên cứu các phơng pháp trên

 Pressman(1995): CNPM la bộ môn tích hợp cả quy trình , cácphơng pháp và công cụ để phát triển SW máy tính

 Somerville(1995): CNPM 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 SW

 K.Kawamura(1995): CNPM 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(lí luận và kĩ thuật đợc hiện thực hoá trênnhững nguyên tắc, nguyên lí nào đó) trong toàn bộ quy trình phát triển SWnhằm nâng cao cả chất và lợng sản xuất SW

Từ các quan điểm nêu trên, CNPM có thể đợc hiểu một cách khái quát

nh sau

CNPM là lĩnh vực khoa học về các phơng pháp luận, kĩ thuật và công

cụ tích hợp trong quy trình sản xuất và vận hành SW nhằm tạo ra SW với chấtlợng mong muốn.(Software Enginerring is a scientic field to deal withthodologies, techniques and tools integrated in SW production_maintenanceprocess to obtain SW with desired qualities)

Nh các ngành công nghệ khác, CNPM cũng lấy các phơng pháp khoahọc làm cơ sở.Các kĩ thuật về thiết kế, chế tạo,kiểm thử và bảo trì SW đã đợc

hệ thống hoá thành phơng pháp luận và hình thành nên CNPM Toàn bộ quytrình quản lí phát triển SW gắn với khái niệm vòng đời SW,đợc mô hình hoávới những kĩ thuật và phơng pháp luận trở thành các chủ đề khác nhau trongCNPM Trong vòng đời của SW không chỉ có chế tạo mà bao gồm cả thiếtkế,vận hành và bảo dỡng Cách tiếp cận công nghệ học thể hiện ở chỗ nhằmnâng cao năng suất và độ tin cậy của SW, đồng thời giảm chi phí giá thành

Trang 7

Tại hội nghị khoa học của NATO diễn ra tại Tây Đức vào năm 1968,

đã đa ra từ “Software Engineering” Bắt đầu bàn luận về khủng hoảng SW và

xu hớng hình thành CNPM nh một chuyên môn riêng.Nửa cuối những năm

1960, IBM đã đa ra chính sách phân biệt giữa giá cả SW và HW Từ đó ,ýthức về SW ngày càng cao Bắt đầu những nghiên cứu cơ bản về phơng phápluận lập trình

Nửa đầu những năm 1970, nhằm nâng cao chất lợng của SW, không chỉ

có các nghiên cứu về lập trình, kiểm thử, mà còn có cả những nghiên cứu đảmbảo tính tin cậy trong quy trình sản xuất SW.Kĩ thuật: Lập trình cấu trúc hoá, lập trình modun, thiết kế cấu trúc hoá

Giữa những năm 1970, hội nghị quốc tế đầu tiên về CNPM đợc tổchức(1975).Nửa sau những năm 1970, quan tâm đến mọi pha trong quy trìnhsản xuất SW, nhng tập trung chính ở những pha đầu.ICSE đợc tổ chức lần2,3,4 vào các năm 1976,1978,1979.Nhật Bản có “Kế hoạch phát triển kĩ thuậtsản xuất SW vao năm 1981.Cuộc cách tân “Cách mạng sản xuất SW” đã bắt

đầu trên phạm vi các nớc công nghiệp

Sang nửa đầu những năm 1980, trình độ học vấn và ứng dụng CNPM

đ-ợc nâng cao, các công nghệ đđ-ợc chuyển vào thực tế.Xuất hiện các sản phẩm

SW và các công cụ khác nhau làm tăng năng suất sản xuất SW đáng kể.ICSE tổchức lần 5 và 6 vào năm 1981,1982 với hơn 1000 ngời tham dự mỗi năm.NhậtBản sang “Kế hoạch phát triển các kĩ thuật bảo trì SW”.(1981-1985)

Nửa cuối những năm 1980 cho đến nay, từ học vấn sang nghiệp vụ,chất lợng SW chủ yếu tập trung ở năng suất, độ tin cậy và tính bảo trì Nghiêncứu hỗ trợ tự động hoá sản xuất SW.Nhật Bản có “Kế hoạch công nghiệp hoásản xuất SW”.(1985-1990).Nhiều trung tâm, viện nghiên cứu của CNPM ra

đời Các trờng đa vào giảng dạy SE

Ngày nay, công nghiệp hoá sản xuất SW bằng cách đa vào những kĩthuật công nghệ học thành cơ sở khoa học của CNPM.Thể chế hoá lí luậntrong sản xuất SW và ứng dụng những phơng pháp luận một cách nhấtquán.Tăng cờng nghiên cứu tạo công cụ trợ giúp cho sản xuất SW

Trang 8

chơng II Phân tích yêu cầu

Việc xây dựng, hoàn thiện và ứng dụng thành công một HTMT khôngphải là chuyện đơn giản ngay cả dới con mắt của các nhà khoa học.Chính vìvậy, việc phân tích một hệ thống đợc coi là công việc thiết yếu, quantrọng.Phân tích hệ thống đợc tiến hành với các mục tiêu sau đây:

1 Xác định nhu cầu của khách hàng

2 Đánh giá khái niệm hệ thống về tính khả thi

3 Thự hiện phân tích kinh tế và kĩ thuật

4 Cấp phát chức năng cho HW,SW và con ngời, CSDL và các hệthống yếu tố khác

5 Thiêt lập các chi phí ràng buộc và lịch

6 Tạo ra một định nghĩa hệ thống làm cơ sở cho mọi công việccông nghệ sau này

Cả tri thức chuyên gia về HW và SW đều cần để đạt đợc mục tiêu nêutrên.Mặc dầu phần lớn các nhà chuyên môn công nghiệp đều thừa nhận rằngthời gian và công sức dành cho phân tích hệ thống đóng vai trò rất quantrọng cho tiến trình phát triển hệ thống về sau

Một trong những khâu quan trọng nhất của quá trình phân tích hệthống là phân tích yêu cầu, bớc kĩ thuật đầu tiên trong tiến trình CNPM.I.khái niệm

Định nghĩa yêu cầu: Phần mềm phải cung cấp một phơng thức biểu

Trang 9

Phân tích yêu cầu là nhiệm vụ kĩ nghệ SW bắc nhịp cầu qua lỗ hổnggiữa việc cấp phát SW mức hệ thống với thiết kế SW.Việc phân tích yêu cầucho phép ngời kĩ s SW tinh chế lại việc cấp phát SW và xây dựng mô hìnhtiến trình, dữ liệu và các lĩnh vực hành vi sẽ đợc SW xử lí Việc phân tích yêucầu cung cấp cho ngời thiết kế SW một cách biểu diễn thông tin và chức năng

có thể đợc dịch thành thiết kế dữ liệu, kiến trúc và thủ tục.Cuối cùng,đặc tảyêu cầu cung cấp cho ngời phát triển và khách hàng các phơng tiện để xácquyết về chất lợng khi SW đã đợc xây dựng

Ngời phân tích có nhiệm vụ xác định nhu cầu ngời dùng.Để bắt đầu, ngời phân tích giúp cho khách hàng trong việc xác định các mục tiêu của hệ thống : Thông tin nào cần đợc tạo ra? Thông tin nào cần đợc cung cấp? Cần những chức năng và hiệu suất nào? Khi mục tiêu tổng thể đã đợc xác định thì nhà phân tích chuyển sang việc đánh giá về các thông tin phụ: Liệu có công nghệ để xây dựng hệ thống không? Cần có những tài nguyên chế tạo và phát triển đặc biệt nào? Cần phải đặt giới hạn nào về chi phí và lịch biểu? Sản phẩm này so với sản phẩm cạnh tranh khác nh thế nào?

II.quy trình phân tích yêu cầu

Sau khi nghiên cứu khả thi ban đầu, bớc quan trọng đầu tiên của quytrình xử lí yêu cầu là phân tích yêu cầu.Nhân viên phát triển phần mềm làmviệc cùng với khách hàng để xác định miền ứng dụng, các dịch vụ do hệthống cung cấp, các hiệu quả cần có của hệ thống, ràng buộc phần cứng Phân tích yêu cầu là một quy trình quan trọng Sự chấp nhận hệ thốngsau khi nó đã đợc triển khai phụ thuộc nhiều vào mức độ đợc các yêu cầu củakhách hàng và khả năng tự động hoá công việc.Bớc phân tích yêu cầu ngờidùng liên quan tới nhiều ngời trong tổ chức: Các ngời sử dụng cuối của hệthống, các bộ phận khác bị ảnh hởng gián tiếp, các kĩ s, các chuyên gia và các

đại diện

Việc phân tích yêu cầu phần mềm có thể đợc chia thành năm lĩnh vực:(1) nhận thức vấn đề, (2) đánh giá và tổng hợp, (3) mô hình hoá, (4) đặc tả,(5) xét duyệt Việc phân tích phải tập trung vào các miền thông tin, chức năng

và hành vi của vấn đề.Để hiểu rõ hơn cần cái gì, ngời ta tạo ra mô hình, phânhoạch vấn đề và tạo ra các biểu diễn mô tả cho bản chất của yêu cầu rồi sau

đó xây dựng các chi tiết cài đặt

Phân tích yêu cầu là một quy trình phức tạp vì các lí do sau:

 Các đối tác thờng không thực sự biết họ muốn cái gì từ hệ thốngmáy tính ngoại trừ khái niệm rất tổng quát Ngay cả khi họ có ý tởng rõ ràng

Trang 10

thì cũng có thể đa ra các yêu cầu không thực tế vì họ không tính đến chi phícho yêu cầu đó.

 Các đối tác thờng trình bày các yêu cầu theo các thuật ngữ củamình.Và các kĩ s cần phải hiểu và biên dịch sang dạng tin học

 Các cán bộ đối tác khác nhau có các yêu cầu khác nhau và biểuhiện theo các cách khác nhau.Kĩ s phải bao hàm tất cả và giải quyết các mâuthuẫn

 Việc phân tích đợc tiến hành trong ngữ cảnh của tổ chức,đôi khichịu sự ảnh hởng của cấp trên mà ngời sử dụng cuối không hiểu

 Môi trờng kinh doanh và nghệp vụ rất năng động.Không thểtránh các thay đổi trong quá trình phân tích

Quy trình phân tích đợc thể hiện qua sơ đồ sau:

Hình 1.Quy trình phân tích các yêu cầu

1 Domain understanding: Phân tích phát triển hiểu biết của mình về

requirements validation

requirements definition and specification

prioritization

conflic resolution

requirements colection

classification

Trang 11

4 Conflic resolution: Các đối tác khác nhau thuộc khách hàng không thểtránh khỏi các mâu thuẫn, hoạt động này sẽ giải quyết các mâu thuẫn

Đối với các hệ thống cỡ trung và cỡ lớn, có các ngời dùng cuối khác nhau

về phân loại Do vậy, có nhiều quan điểm khác nhau về cùng một hệ thống,quan điểm quan trọng nhất cần đợc xác định làm cơ sở cho việc cấu trúc cácphân tích yêu cầu

Phân tích hớng phơng pháp có thể coi là cách tiếp cận phổ biến nhất.Kếtquả của phơng pháp đợc biểu diễn bởi một số phơng pháp cấu trúc để môhình hoá hệ thống

III.nguyên lí phân tích

Trên hai thập kỉ qua, ngời ta đã xây dựng ra một số phơng pháp phântích và đặc tả SW.Những ngời nghiên cứu đã xác định ra các vấn đề vànguyên nhân của chúng và đã xây dựng ra các quy tắc và thủ tục để vợt quachúng.Mỗi phơng pháp đều có ki pháp và quan điểm duy nhất.Tuy nhiên tấtcả các phơng pháp này đều có quan hệ với một tập các nguyên lí cơ bản:

1 Miền thông tin của vấn đề phải đợc diễn đạt lại và hiểu rõ.

1 Các mô hình mô tả cho thông tin, chức năng và hành vi hệ thốngcần phải đợc xây dựng

2 Các mô hình phải đợc phân hoạch theo cách để lộ ra các chi tiêttheo kiểu phân tầng

3 Tiến trình phân tích phải đi từ thông tin bản chất hớng tới chitiết cài đặt

Bằng cách áp dụng những nguyên lí này, ngời phân tích tiếp cận vấn đề mộtcách hệ thống.Miên thông tin cần đợc xem xét sao cho ngời ta có thể hiểu rõchức năng một cách đầy đủ Các mô hình đợc dùng cho việc trao đổi thông tinmột cách rõ ràng, ngắn gọn.Việc phân hoạch đợc dùng để làm giảm độ phứctạp

Trang 12

2.Miền thông tin

SW đợc xây dựng ra để xử lí dữ liệu : biến đổi dữ liệu từ dạng này sangdạng khác.Tuy nhiên SW cũng xử lí cả sự kiện nữa.Mọi sự kiện biểu thị chomột khía cạnh nào đó của hệ thống.Dữ liệu và sự kiện đều nằm trong miềnthông tin của vấn đề

Miền thông tin chứa ba cách nhìn khác nhau về dữ liệu và điều khiểnkhi chúng đợc máy tính xử lí : (1) luồng thông tin, (2) nội dung thông tin,(3) cấu trúc thông tin

Luồng thông tin biểu thị cho cách thức mà dữ liệu và điều khiển thay đổikhi chúng chuyển qua hệ thống Trong quá trình này các thông tin phụ có thể

đợc bổ xung từ kho dữ liệu.Phép biến đổi đợc áp dụng cho dữ liệu chính làchức năng hay chức năng con mà chơng trình phải thực hiện.Dữ liệu và điềukhiển di chuyển giữa hai phép biến đổi xác định giao diện cho từng chức năng

Trang 13

Hình 2 Luồng thông tin

Nội dung thông tin biểu thị cho từng khoản mục dữ liệu và điều khiển

có chứa một khoản mục thông tin lớp nào đó

Cấu trúc thông tin biểu thị cho cách tổ chức bên trong của các khoảnmục dữ liệu và điều khiển khác nhau

3 Mô hình hoá

Mô hình tạo ra nhằm mục đích hiểu rõ hơn về thực thể thực tế cần xâydựng.Khi thực thể là một vật vật lí thì ta có thể xây dựng một mô hình giốnghệt về hình dạng, nhng nhỏ hơn về quy mô.Nhng khi thực thể xây dựng là SWthì mô hình của chúng ta phải mang dạng khác.Nó phải có khả năng mô hìnhhoá thông tin mà SW biến đổi,các chức năng làm cho phép biến đổi đó thựchiện đợc, và hành vi của hệ thống khi phép biến đổi đợc xảy ra

Trong khi phân tích yêu cầu phần mềm, chúng ta tạo ra các mô hình về

hệ thống cần xây dựng Các mô hình tập trung vào điều hệ thống phải thựchiện, không chú ý đến cách thức nó thực hiện Các mô hình đợc tạo ra khiphân tích yêu cầu còn đóng một số vai trò quan trọng:

 Trợ giúp cho ngời phân tích trong việc hiểu về thông tin, chứcnăng và hành vi của hệ thống, do đó làm cho nhiệm vụ phân tích yêu cầu đợc

dễ dàng và hệ thống hơn

 Mô hình trở thành tiêu điểm cho việc xem xét và do đó trở thànhphần mấu chốt cho việc xác định tính đầy đủ, nhất quán và chính xác của đặctả

 Mô hình trở thành nền tảng cho thiết kế,cung cấp cho ngời thiết

kế một cách biểu diễn chủ yếu về SW

Các phơng pháp phân tích trong xác định yêu cầu cũng chính là các phơngpháp mô hình hoá

Trang 14

4.Phân hoạch

Các vấn đề trong thực tế thờng rất lớn và phức tạp.Việc phân hoạchnhững vấn đề nh vậy thành các bộ phận giúp chúng ta hiểu và dễ dàng thiếtlập mối giao diện giữa chúng để có thể thực hiện đợc chức năng toàn bộ

Về bản chất, việc phân hoạch là phân rã một vấn đề thành các bộ phậnhợp thành.Về mặt quan niệm, chúng ta thiết lập một biểu diễn có cấp bậc vềchức năng hay thông tin và phân hoạch phần tử phía trên nhất theo : (1) để lộngày một nhiều chi tiết theo khi đi theo chiều đứng của cấp bậc hay (2) phânrã vấn đề về mặt chức năng bằng cách đi theo chiều ngang của cấp bậc Saukhi đã phân rã, các chức năng con liên kết với chức năng chính Trong thực tế,việc phân hoạch luồng thông tin và hành vi của hệ thống sẽ cung cấp cái nhìnphụ về yêu cầu hệ thống

5.Cái nhìn bản chất và cài đặt

Cái nhìn bản chất về yêu cầu phần mềm trình bày các chức năng cần

đ-ợc thực hiện và thông tin cần đđ-ợc xử lí không tính tới các chi tiết cài đặt.Bằngcách tập trung sự chú ý vào bản chất của của vấn đề ngay những giai đoạn

đầu của phân tích yêu cầu, chúng ta để các tuỳ chọn vẫn còn mở để xác địnhnhững chi tiết cài đặt trong các giai đoạn đặc tả yêu cầu và thiết kế phần mềm

về sau

Cái nhìn cài đặt về yêu cầu phần mềm trình bày cách biểu diễn trongthế giới thực các chức năng xử lí và cấu trúc thông tin.Trong một số trờnghợp, biểu diễn vật lí đợc xây dựng xem nh bớc đầu tiên trong thiết kế phầnmềm.Tuy nhiên, phần lớn các hệ thống tin học hoá lại đợc xác định theo cáchthức áp chế việc sắp xếp những chi tiết cài đặt nào đó

Cần lu ý rằng việc phân tích yêu cầu phần mềm nên tập trung vào việcphần mềm phải thực hiện cái gì, chứ không nên tập trung vào việc cài đặtcách xử lí nh thế nào.Hơn nữa một mô hình cài đặt biểu thị cho mốt vận hànhhiện tại, tức là , việc cấp phát hiện có hay đợc đề nghị cho mọi phần tử hệthống.Mô hình bản chất là tổng quát theo nghĩa việc thực hiện chức năngkhông đợc chỉ là tờng minh

Trang 15

Chơng III Các kĩ thuật phân tích và phơng pháp hình

thức hoá trong CNPM

CNPM

Nh chúng ta đã biết, SW gồm 3 nhóm tạo nên: Nhóm các kĩ thuật,

ph-ơng pháp luận; Nhóm các chph-ơng trình và nhóm các t liệu.Có thể nhận thấy vaitrò quan trọng không thể thiếu của các kĩ thuật và phơng pháp khi đi vàonghiên cứu về chúng

Nhóm các kĩ thuật và phơng pháp luận gồm có:

 Các khái niệm và trình tự cụ thể hoá một hệ thống

 Các phơng pháp tiếp cận giải quyết vấn đề

 Các trình tự thiết kế và phát triển đợc chuẩn hoá

 Các phơng pháp đặc tả yêu cầu, thiết kế hệ thống, thiết kế chơngtrình, kiểm thử, toàn bộ quy trình quản lí phát triển SW

Khi chế tác SW cần nhiều kĩ thuật, chúng ta xem xét hai khái niệm :phơng pháp luận và phơng pháp kĩ thuật

Phơng pháp luận (Methodology) : là những chuẩn mực cơ bản để chếtạo phần mềm với các chỉ tiêu định tính

Các phơng pháp kĩ thuật (Techniques): là những trình tự cụ thể để chếtạo phần mềm và là cách tiếp cận khoa học mang tính định lợng

Trong CNPM, cùng với sự tiến triển của các phơng pháp thiết kế, các kĩthuật và phơng pháp luận cũng có nhiều biến đổi và ngày càng đa dạng hơn.Tuỳ từng giai đoạn, từng pha trong quá trình phát triển phần mềm mà các nhàkhoa học ứng dụng các kĩ thuật và phơng pháp hợp lí và hiệu quả

Trang 16

Hình 3 Các giai đoạn và các phơng pháp, kĩ thuật phân tích.

Tuy nhiên, đây chỉ là sự xác định mang tính khái quát, điển hình chotừng pha.Trong thực tế, phụ thuộc vào tính chất của công việc và yêu cầu cần

có mà có cách sử dụng kĩ thuật và phơng pháp một cách linh hoạt , đạt hiệuquả cao nhất chứ không nhất thiết tuân theo bảng trên

II Kĩ thuật phân tích và các phơng pháp hình thức hoá trong CNPM

Để phân tích vấn đề một cách tập trung nhất và rõ nét nhất về kĩ thuậtphân tích và các phơng pháp hình thức hoá trong CNPM, chúng ta hãy nghiêncứu nội dung này đối với hoạt động phân tích yêu cầu phần mềm

Nh chúng ta đã nêu trên, phân tích yêu cầu là một quy trình đặc biệtquan trọng, nó có tính chất quyết định, ảnh hởng lớn tới sự thành công haythất bại của giai đoạn sau này.Đây cũng chính là quy trình đã áp dụng khánhiều các kĩ thuật phân tích và phơng pháp trong CNPM.Bất kì phơng pháp

kĩ thuậtXác định

yêu cầu

Đặc tả yêu cầu ngời dùngXác định yêu cầu phần mềm

Phân tích cấutrúc hoá

Thiết kế

hệ thống

Thiết kế cơ bản của phần mềmThiết kế cấu trúc ngoài của phầnmềm

Thiết kế cấutrúc hoá

Phơng phápGiăcsonPhơng phápWarnierLập trình Mã hoá bởi ngôn ngữ lập trình Mã hoá cấu

ơng trìnhVận hành

Trang 17

duy nhất để phân tích thông tin, chức năng và hành vi cho hệ thống dựa trênmáy tính.Qua việc áp dụng các nguyên lí phân tích cơ bản, mỗi phơng pháplại tạo ra một mô hình cho vấn đề và các yêu cầu về giải pháp cho nó.Phầnlớn các phơng pháp phân tích đều ngả theo thông tin, tức là phơng pháp cungcấp một cơ chế để biểu diễn miền thông tin của vấn đề.Từ cách biểu diễn này,ngời ta suy ra chức năng và hành vi, thiết lập các đặc trng phần mềm khác.

Likov và Berxin đã phát biểu:

Mọi chơng trình đều thực hiện một nhiệm vụ nào đó đúng đắn.Điều

mà nhà tin học quan tâm là liệu nhà chơng trình có thực hiện đúng nhiệm vụ đã

dự kiến cho nó không.Để xác định điều này, cần có việc mô tả chính xác và độclập cho hành vi chơng trình mong muốn

Vai trò của phân tích yêu cầu là trợ giúp cho ngời phân tích trong việc

đa ra một mô tả chính xác và độc lập của phần tử phần mềm của hệ thống dựatrên máy tính

1.Phơng pháp phân tích yêu cầu

Các phơng pháp phân tích yêu cầu làm cho ngời phân tích có khả năng ápdụng nguyên lí phân tích nền tảng một cách có hệ thống.Các phơng pháp cónhững sự tơng đồng nền tảng nhng cũng có những sự khác biệt cơ bản

Trang 18

1.1 Các đặc trng chung

Mỗi phơng pháp đều hỗ trợ tạo ra cách biểu diễn có cấp bậc về hệthống;mỗi phơng pháp đều yêu cầu xem xét cẩn thận các giao diện bên ngoài

và bên trong;mỗi phơng pháp đều cung cấp một nền tảng cho các bớc thiết kế

và cài đặt theo sau

Mặc dù các phơng pháp đều đa ra kí pháp mới và trực cảm phân tích,

ta vẫn có thể đánh giá mọi phơng pháp trong các đặc trng sau : (1) cơ chế chophân tích miền thông tin, (2) cách tiếp cận cho biểu diễn chức năng hoặc hành

vi, (3) xác định giao diện, (4) cơ chế phân hoạch vấn đề, (5) hỗ trợ cho trừu t ợng hoá, (6) biểu diễn các quan điểm bản chất và cài đặt

-Tất cả các phơng pháp đều đề cập trực tiếp hoặc gián tiếp tới luồngthông tin và nội dung hay cấu trúc thông tin

Chức năng đợc mô tả điển hình nh các phép biến đổi hay tiến trìnhthông tin Mỗi chức năng có thể đợc biểu diễn bằng cách dùng kí pháp đặcbiệt.Mô tả cho chức năng có thể dùng ngôn ngữ văn bản tự nhiên, ngôn ngữgiả thủ tục với quy tắc với quy tắc cú pháp phi hình thức, hay ngôn ngữ đặc tảhình thức

Mô tả cho giao diện là sự phát triển kế tiếp của biểu diễn thông tin vàchức năng.Giao diện đợc dẫn ra từ việc xem xét luồng thông tin

1.2 Sự khác biệt trong phơng pháp phân tích

Mỗi phơng pháp để phân tích các hệ thống dựa trên máy tính đều cóquan điểm của riêng nó, kí pháp riêng và cách tiếp cận riêng tới việc mô hìnhhoá.Mỗi phơng pháp có cách nói và thuật ngữ của riêng nó

Trong một số trờng hợp, mô hình phân tích có thể đợc ánh xạ trực tiếpvào một chơng trình làm việc.Trong các trờng hợp khác, phơng pháp phântích chỉ thiết lập một điểm bắt đầu và ngời thiết kế tự suy ra cách thiết kế với

ít sự giúp đỡ từ mô hình phân tích

Mức độ sử dụng các công cụ CASE hỗ trợ cho các phơng pháp cũng thay

đổi rất lớn.Phân tích có cấu trúc là phơng pháp đợc sử dụng rộng rãi nhất

2 Phân tích có cấu trúc

Nhà khoa học Tom DeMarco đã mô tả về phân tích có cấu trúc nh sau:

đặc biệt đợc áp dụng cho tài liệu đích bản Đặc tả các yêu cầu phần mềm.

Trang 19

Phải dùng đồ hoạ bất kì lúc nào có thể đợc.

Chúng ta phải phân biệt giữa các xem xét logic và vật lí.

liệu cho việc phân hoạch đó trớc khi đặc tả

để tạo ra các mô hình mô tả cho luồng và nội dung thông tin, phân hoạch hệthống theo chức năng hành vi và mô tả bản chất của điều cần xây dựng

Phân tích có cấu trúc là một kĩ thuật mô hình hoá luồng và nội dungthông tin.Một hệ thống tin học hoá đợc biểu diễn nh một phép biến đổi thôngtin.Chức năng của hệ thống đợc biểu diễn nh một phép biến đổi duy nhất, đợc

kí hiệu bằng một hình tròn.Các thông tin vào đợc biểu diễn bằng các mũitên,xuất phát từ các thực thể bên ngoài đợc biểu diễn bằng các hình hộp Cácthông tin vào qua phép biến đổi tạo ra các thông tin ra đợc biểu diễn bởi cácmũi tên có nhãn.Quá trình trên đợc biểu diễn bởi sơ đồ sau:

Trang 20

Hình 4 Mô hình luồng thông tin

2.1 Biểu đồ luồng dữ liệu DFD (data flow diagram)

Biểu đồ luồng dữ liệu (DFD) là một kĩ thuật vẽ ra luồng thông tin vànhững biến đổi đợc áp dụng khi dữ liệu đợc đi từ đầu vào đến đầu ra.Trongthực tế DFD đợc phân hoạch thành nhiều mức biểu diễn chi tiết khi chức năngngày càng phức tạp và các luồng thông tin ngày càng tăng

DFD mức 0 hay mô hình hệ thống nền tảng (mô hình hoàn cảnh) biểudiễn cho toàn bộ phần tử phần mềm nh một hình tròn với dữ liệu vào và ra đợcchỉ ra bởi các mũi tên tơng ứng.DFD mức 1 có thể chứa nhiều hình tròn vớicác mũi tên nối lẫn nhau.Chúng ta có thể xem xét các kí pháp đợc sử dụngtrong sơ đồ DFD

Ngời sản xuất hay tiêu thụ thông tin vốn nằm ngoài biên giới hệ thống đợc mô hình.

Phép biến đổi thông tin nằm bên trong biên giới của

hệ thống đợc mô hình.

Luồng thông tin vào hay ra của một chức năng xử lí.

Các thông tin cần lu giữ lại trong một khoảng thời gian để sau đó các tiến trình hoặc tác nhân đa vào sử dụng.

Sự phân hoạch của biểu đồ luồng dữ liệu thành các mức chi tiết hơnnhằm mục đích làm mịn thông tin Các chức năng tiến trình xử lí đợc mô tảngày càng rõ nét hơn.Quá trình làm mịn phải đợc diễn ra theo những quy địnhnhất định Nó phải đảm bảo quá trình làm mịn một cách liên tục không bị

Ngày đăng: 26/04/2014, 08:52

HÌNH ẢNH LIÊN QUAN

Hình 1. Quy trình phân tích các yêu cầu . - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Hình 1. Quy trình phân tích các yêu cầu (Trang 12)
Hình 2 . Luồng thông tin - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Hình 2 Luồng thông tin (Trang 15)
Hình 4.  Mô hình luồng thông tin - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Hình 4. Mô hình luồng thông tin (Trang 24)
Hình 5.  Kí pháp phân tích có cấu trúc mở rộng cho hệ thống - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Hình 5. Kí pháp phân tích có cấu trúc mở rộng cho hệ thống (Trang 26)
Hình 6.  Kí pháp phân tích có cấu trúc mở rộng cho hệ thống - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Hình 6. Kí pháp phân tích có cấu trúc mở rộng cho hệ thống (Trang 28)
Hình 7.  Sơ đồ DFD mức 0 tính và lên bảng điểm thi cho sinh viên - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Hình 7. Sơ đồ DFD mức 0 tính và lên bảng điểm thi cho sinh viên (Trang 29)
Bảng khác.Những thuộc tính định danh đợc sử dụng làm khoá khi liên kết dữ  liệu và mang tính duy nhất - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Bảng kh ác.Những thuộc tính định danh đợc sử dụng làm khoá khi liên kết dữ liệu và mang tính duy nhất (Trang 34)
Hình 9.  Biểu đồ E-R mở rộng - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Hình 9. Biểu đồ E-R mở rộng (Trang 35)
Hình 13.  Kí pháp SSD - kĩ thuật phân tích  và phương pháp hình thức hoá trong công nghệ phần mềm
Hình 13. Kí pháp SSD (Trang 40)

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