Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 143 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
143
Dung lượng
1,04 MB
Nội dung
Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng uml Lời nói đầu Nếu nh trớc đây khi Công Nghệ Thông Tin cha phổ biến, thì yêu cầu của một ng- ời làm tin học hầu nh chỉ cần biết, nắm vững và làm chủ ngôn ngữ lập trình là đủ thì ngày nay những yêu cầu đó lại cao hơn, để tạo ra đợc những phần mềm đáp ứng đợc những yêu cầu của ngời sử dụng thì ngời làm trong nghành Công Nghệ Thông Tin không những biết đợc những cái đó mà ngoài ra còn phải có khả năng hiểu, phântíchvà nắm bắt đợc những yêu cầu công việc cụ thể của hệ thống, của ngời sử dụng để từ đó xây dựng, thiếtkế nên những phần mềm hiệu quả nhất. Để làm đợc nh vậy anh ta cần phải có tri thức về hệ thống, về phântíchvàthiếtkếhệ thống. Hiện nay có hai xu hớng phântíchthiếtkếhệthống chính đó là: phântíchthiếtkếhệthống theo hớngchức năng vàphântíchvàthiếtkếhệthống theo hớng đối tợng, mỗi hớng phântích đều có những yêu điểm và nhợc điểm riêng, tuỳ theo từng hệthốngcụ thể mà ngời ta dùng hớng phântích này hay hớng phântích khác. Phântíchvàthiếtkếhệthống theo hớng chức năng thì dễ phântíchvàthiếtkế nhng lại không mô tả đợc những hệthống thời gian thực, còn phântíchvàthiếtkếhệthống theo hớng đối tợng tuy hơi khó thực hiện song nó lại mô tả đợc các hệthống thời gian thực, vì vậy ngày nay ngời ta hay dùng hớng phântíchvàthiếtkếhệthống theo hớng này. Đề tài tốt nghiệp Phântíchthiếtkếhệthống theo hớng đối tợng bằngcôngcụUML này bàn về một số vấn đề cơ bản của phântíchthiếtkếhệthống theo hớng đối tợng, về côngcụdùng để phântíchvàthiếtkế là UML , cuối cùng là dùngUML để phântíchthiếtkế một hệthống thời gian thực. Cuối cùng em xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ Thông Tin đặc biệt là thầy giáo Lê Văn Minh đã chỉ bảo, dìu dắt rất nhiệt tình cho em để em hoàn thành đợc đề tài này. Trong quá trình thực hiện bản thân đã có rất nhiều cố gắng song do nhiều yếu tố nên đề tài còn có nhiều mặt hạn chế, vì thế em rất mong có sự chỉ bảo của các thầy các cô và những góp ý của các bạn để đề tài ngày một hoàn thiện hơn. Sinh viên: Nguyễn Thị Thu Hơng Lớp: 40B - CNTT mục lục Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 1 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng umlPhần I : Các vấn đề chung I. Yêu cầu, lý do chọn đề tài và phạm vi của đề tài 5 1.1. Yêu cầu của đề tài . 5 1.2. Lý do chọn đề tài 5 1.3. Phạm vi của đề tài 5 II. Đánh giá giữa phântíchthiếtkế theo hớng chức năng và hớng đối tợng 5 2.1. Ưu nhợc điểm của phântíchthiếtkếhệthống theo hớng chức năng 6 2.2. Ưu nhợc điểm của phântíchvàthiếtkếhệthống theo hớng đối tợng . 6 2.3. Nhận xét 7 phần II: côngcụUML chơng I: Khái niệm về UML 1.1. Mở đầu .8 1.2. Mô hình ngôn ngữ hợp nhất (UML) 9 1.3. Mô hình hoá các phơng pháp và các ngôn ngữ 13 1.4. Phát triển phần mềm hớng đối tợng .14 1.5. Sử dụngUML 15 1.6. Các giai đoạn phát triển hệthống .16 Chơng II: Các thành phần cơ bản của UML 2.1. Các view 18 2.2. Các sơ đồ .22 2.3. Các cơ chế chung 29 2.4. UML mở rộng 31 Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 2 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng uml 2.5. Mô hình hoá với UML 33 2.6. Các côngcụ .35 Chơng III: Mô hình hoá use-case 3.1. Các khái niệm 45 3.2. Sơ đồ use-case. .47 3.3. Hệthống .47 3.4. Những tác nhân gây ra hành động 48 3.5. Các trờng hợp sử dụng.49 3.6. Các mô tả các trờng hợp sử dụng.54 3.7. Kiểm tra các trờng hợp sử dụng .57 chơng IV: Các lớp, đối tợng và mối quan hệ của chúng 4.1. Các lớp vàđối tợng .62 4.2. Các mối quan hệ .70 chơng V: Mô hình động 5.1. Mở đầu 93 5.2 Sự tơng tác giữa các đối tợng .94 5.3 Sơ đồ trạng thái 95 5.4 Gửi các message giữa các sơ đồ trạng thái 100 5.5 Sơ đồ tuần tự .102 5.6 Sơ đồ cộng tác .105 5.7. Sơ đồ hoạt động .110 5.8. Các khái niệm hệthống thời gian thực 114 5.8.1. Hớng đối tợng và các hệthống thời gian thực 116 5.8.2. Các khái niệm thời gian thực 118 5.8.3. Các lớp hoạt động và các đối tợng 118 Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 3 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng umlphần III: pttk hệthống thời gian thực dùngUML I. Mô hình thời gian thực trong UML.130 II. PTTK hệthống chuông báo động nhà dùngcôngcụUML .130 1. Sơ đồ trạng thái 132 2. Sơ đồ tuần tự 135 4. Sơ đồ cộng tác 138 5. Sơ đồ thành phầnvà triển khai 140 Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 4 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng umlPhần I : các vấn đề chung I. yêu cầu, lý do chọn và phạm vi của đề tài 1.1.Yêu cầu của đề tài: 1.1.1. Tìmhiểu về côngcụ trợ giúp trong việc phântíchthiếtkếhệthống theo hớng đối tợng là côngcụUML (Unified Modeling Language) 1.1.2. áp dụngUML để phântíchthiếtkếhệthống báo động nhà 1.2.Lý do chọn đề tài: Hiện tại để có nhiều côngcụ hỗ trợ cho kỹ s phần mềm trong việc xây dựng các ứng dụng. Các côngcụ đó gọi là CASE (Computer of Aided Software Engineering) có hiệu quả sử dụng cao nhng các lập trình viên vẫn đang đi theo hớng thiếtkế cổ điển. Mục đích của đề tài này một mặt giới thiệu với các lập trình viên một côngcụ hỗ trợ tốt trong việc phântíchthiếtkếhệthống theo hớng đối tợng, một hớng phântíchthiếtkếhệthống hiện đại. Một mặt ứngdụngcôngcụ đó để phântíchthiếthệthống báo động nhà (Save Home). Đó là côngcụ UML. 1.3. Phạm vi của đề tài : Do thời gian hạn hẹp nên đề tài này chỉ giới thiệu các thành phần cơ bản cần thiết của côngcụ UML, nhng nó cũng đủ để phântíchthiếtkế một hệ thống. ở đây nêu rõ các thành phần của côngcụ nh là các sơ đồ dùng để mô tả bài toán và chi tiết của các sơ đồ. Các sơ đồ đó mô tả bài toán dới dạng các lớp và các thuộc tính của đối tợng. Cuối cùng đề tài sẽ phântíchthiếtkếhệthống báo động nhà. Nhng do không đủ thời gian và điều kiện nên hệthống cha đợc cài đặt trên phần cứng vàphần mềm cụ thể. Việc cài đặt sẽ đợc thực hiện khi đề tài này phát triển thêm. II. đánh giá giữa phântíchthiếtkế theo hớng chức năng và hớng đối tợng Quá trình phântíchthiếtkếhệthống bao gồm hai quá trình: quá trình phântíchvà quá trình thiết kế. Quá trình phântích là quá trình trả lời cho câu hỏi What to do?, Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 5 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng umlhệthống sẽ làm gì, quá trình này đợc làm ở mức logic của hệ thống. Quá trình thiếtkế trả lời là quá trình trả lời cho câu hỏi How to do?, ngoài việc quan tâm đến hệthống sẽ làm gì thì quá trình này còn quan tâm đến hệthống sẽ làm nh thế nào, quá trình thiếtkế đợc làm ở mức vậy lý của hệ thống. Hiện nay có hai xu hớng phântíchvàthiếtkếhệthống đó là: phântíchthiếtkếhệthống theo hớng chức năng và theo hớng đối tợng, sau đây sẽ là một số u, nhợc điểm của cả hai hớng phântíchthiếtkế này. 2.1. Ưu nhợc điểm của phântíchthiếtkếhệthống theo hớng chức năng. Phântíchthiếtkế theo hớng chức năng là tiếp cận hệthống theo các chức năng. Các côngcụdùng để mô tả hệthống nh là biểu đồ phân cấp chức năng, các biểu đồ luồng dữ liệu, sơ đồ liên kết thực thể và các thuộc tính. Ngôn ngữ cài đặt hệthống là các hệ quản trị cơ sở d liệu nh Foxpro, Fortran, v v *. Ưu điểm : - trực quan, dễ thu thập dữ liệu, dễ kiểm tra và đánh giá - dễ phântíchvàthiếtkế - thích hợp với các ứngdụng xử lý theo lô *. Nh ợc điểm : - không xử lý đợc các ứngdụng trực tuyến và thời gian thực - không có tính sử dụng lại - khó mở rộng 2.2. Ưu nhợc điểm của phântíchthiếtkếhệthống theo hớng đối tợng. Phântíchthiếtkếhệthống theo hớng đối tợng là tiếp cận hệthống theo các đối tợng gồm các thuộc tính và các phơng thức thao tác trên các thuộc tính đó của đối tợng. Côngcụ để mô tả bài toán là các lớp đợc phân cấp vàkế thừa. Ngôn ngữ cài đặt là các ngôn ngữ lập trình hớng đối tợng nh C ++ , Java, Visual C ++ , v.v *. Ưu điểm : - Có khả năng mở rộng hệthống dễ dàng - Có tính sử dụng lại - Mô tả đợc các ứngdụng trực tuyến và thời gian thực Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 6 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng uml *. Nh ợc điểm : - Khó mô tả bài toán - Khó phântíchthiếtkế - Có tính trừu tợng cao 2.3 Nhận xét : Ta thấy mỗi hớng phântíchthiếtkế có những u nhợc điểm riêng, phântíchthiếtkế theo hớng chức năng có nhiều u điểm nhng lại có nhợc điểm lớn nhất đó là không mô tả đợc các ứngdụng trực tuyến và gian thực, hơn nữa hiện tại môi trờng ngời dùng là môi trờng mạng nên các ứngdụng hầu hết là các ứngdụng trực tuyến và thời gian thực, mà chỉ có phântíchthiếtkế theo hớng đối tợng mới làm đợc. Tuy còn nhiều khó khăn trong việc mô tả hệ thống, phântíchthiếtkế song nó lại có rất nhiều côngcụ trợ giúp, nên hớng phântích này đang dần thay thế hớng phântíchthiếtkế theo hớng chức năng. Sau đây sẽ giới thiệu một côngcụdùng để phântíchthiếtkếhệthống theo hớng đối tợng. Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 7 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng umlPhần II : CôngcụUML (Unified Modeling Language: mô hình ngôn ngữ hợp nhất) Chơng I : khái niệm về UML 1.1. Mở đầu: Các mô hình rất quan trọng cho các quy tắc kỹ thuật trong một thời gian dài, khi một cái gì đó đợc xây dựng, đợc vẽ tức là ta đã mô tả dáng điệu của nó, cái đó có thể phát triển ở một ngôi nhà, một cái máy hoặc là một ban mới trong công ty, công việc vẽ đợc thực hiện bởi nhiều ngời, họ đa vào rất nhiều chi tiết cần thiết để vẽ nên cấu trúc công việc hiện tại. Chi phí, thời gian ớc tính, sự phân bố công việc và nguồn gốc cung cấp là cơ sở cho những thông tin chứa trong quá trình vẽ. Cái mà ta cần vẽ có sơ đồ và mô hình, một mô hình là một tập các quy tắc, mà các quy tắc đó có thể tồn tại trong một giai đoạn phát triển hoặc trong giai đoạn lập kế hoạch. Trong suốt quá trình hoạt động của một mô hình ngời thiếtkế phải giám sát những kết quả đã hoàn thành xem có đúng với yêu cầu của mình không. Những yêu cầu đó thờng gồm: một chức năng tiện ích, một cách tiếp cận, hiệu suất, khả năng phục vụ và độ tin cậy. Ngời thiếtkế phải tạo đợc một mô hình mà tất cả các quy tắc có những khía cạnh kết quả khác nhau, mô hình đã đa đến một số quan điểm cho rằng quy tắc lý tởng là kết quả hoặc sự cấu hình hệ thống, một mô hình có thể qua nhiều giai đoạn, ở mỗi giai đoạn mô hình lại đợc chi tiết thêm. Quá trình tạo ra các mô hình là tạo ra các hoạt động ở mức cao, những ngời thiếtkế mô hình làm việc lặp đi lặp lại nhiều lần để đảm bảo đó là những mô hình đã đạt đến đích, hoặc là những yêu cầu của dự án đợc cấu trúc hoá. Nhng một mô hình không phải là cái cuối cùng, nó có thể thay đổivà có thể còn đợc cập nhật vào trong dự án của chúng. Những phơng án tốt thờng đã đạt đợc ở một trình độ cao bằng những ý kiến và những cách giải quyết hay để tạo ra đợc những mô hình tốt và chúng đã đợc kiểm tra. Khi ngời thiếtkế có nhiều khả năng khác nhau, họ đa ra sự hiểu biết sâu sắc về hệthốngvà họ có thể tạo ra những mô hình của các hệthống đáp ứng đợc yêu cầu của ngời sử dụng. Các mô hình luôn đợc diễn tả bằng một ngôn ngữ trực quan với ý nghĩa rõ ràng. Khi mô hình sử dụng những mô tả trực quan là cần thiết cho các liên kết đầy đủ ở các Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 8 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng uml mối quan hệ, nó cũng làm cho công việc mô hình hoá dễ dàng, mà không điều gì có thể phù hợp hoàn toàn cho việc mô tả trực quan, tuy nhiên những thông tin trong các mô hình đợc biểu diễn tốt ở các văn bản thông thờng. Các mô hình có thể sử dụng đợc là : Đúng đắn (Accurate): hệthống với các quy luật đúng đắn đợc xây dựng Chắc chắn (Consistent): các quan điểm khác nhau không biểu hiện những vấn đề mâu thuẫn lẫn nhau Dễ dàng liên lạc với những mô hình khác. Dễ dàng thay đổi. Có thể hiểu đợc: là những vấn đề đơn giản nhng không sơ sài Xu hớng của nhiều tổ chức công nghệ phần mềm là tạo ra những mô hình của những hệthống mà chúng ta muốn đợc xây dựng. Lập trình trực quan là một kỹ thuật đợc làm bởi các chơng trình có cấu trúc, việc thu thập dữ liệu một cách trực quan và các kiểu kết nối, các mô hình và các chơng trình đợc tích hợp ở mức cao. Các hệthống đã trở nên lớn mạnh vàphân tán trên rất nhiều máy tính ở kiến trúc client/server, sự cần thiết của các hệthốngtích hợp đầy đủ trong môi trờng phân tán, có những yêu cầu là hệthống phải có những mô hình công việc kỹ thuật chung. Yêu cầu của những hệthống máy tính đó là có những trợ giúp xử lý để thực hiện các công việc của những mô hình. Các mô hình của hệthống phải đợc xây dựng trớc khi thực hiện, chúng sẽ trở thành bình thờngvà đã đợc chấp nhận trong công nghệ phần mềm nh trong các quy luật kỹ thuật khác. 1.2. Mô hình ngôn ngữ hợp nhất UML ( Unified Modeling Language ): Mô hình ngôn ngữ hợp nhất cố gắng giải quyết các vấn đề đã đợc mô tả chính xác, UML có nhiều tiềm năng để xây dựng các mô hình nhờ vào phơng pháp hớng đối tợng. 1.2.1. Các phơng pháp hớng đối tợng điển hình Hớng đối tợng xuất phát từ nguồn gốc ngôn ngữ lập trình tuần tự, nó trở thành phổ biến sau những năm 80, với những bớc tiến của ngôn ngữ lập trình nh là C ++ và Smaltalk, để lập trình hớng đối tợng thành công thì cần có những phơng pháp trợ giúp sự phát triển phần mềm. Có vài phơng pháp hớng đối tợng đang trở thành phổ biến trong những năm 90 là: Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 9 Luận văn tốt nghiệp: Tìmhiểucôngcụphântíchthiếtkếhệthống hớng đối tợng uml Booch: phơng pháp của Grady Booch có thể phát triển hớng đối tợng ở nhiều cách khác nhau. Booch đã định nghĩa và chú thích đó là một hệthống đã đợc phântích trên một số khung nhìn, ở mỗi khung nhìn đợc mô tả bởi một số mô hình sơ đồ. Phơng pháp của Booch có nhiều ký hiệu rất rộng nhng chỉ vài ngời sử dụngtìm thấy những ký hiệu đó, và rất nhiều trong chúng đợc vẽ bằng tay. Một phơng pháp cũng chứa đựng một tiến trình trên những hệthống đã đợc phântích từ cả hai quan điểm phát triển là vĩ mô (macro) và vi mô (micro) đã là cơ sở của sự phát triển và xử lý lặp ở mức cao. OMT (the Object Modeling Technique): công nghệ mô hình hoá đối tợng là một phơng pháp đợc phát triển khi ngời ta phát minh ra điện học, lúc đó James Rumbaugh đang làm việc, một tiến trình kiểm tra của nó thờng đợc xử lý một cách trực tuyến, nó là cơ sở để thể hiện các yêu cầu, hệthống đợc mô tả bởi một số phơng pháp l: phơng pháp đối tợng, phơng pháp động lực học, phơng pháp chức năng và phơng pháp sử dụng mô hình use-case. Với nhiều phơng pháp mới ta sẽ mô tả đợc hệthống một cách đợc đầy đủ. Phơng pháp OMT có nhiều mô tả đặc biệt trong việc định nghĩa hệ thống, đồng thời tạo tài khoản tơng tranh và ánh xạ liên kết tới các cơ sở dữ liệu. OOSE / Objectory: công nghệ phần mềm hớng đối tợng và các phơng pháp h- ớng đối tợng, cả hai đợc Ivan Jacobson xây dựng trên cơ sở khuôn dạng ViewPoint, phơng pháp OOSE (I.Jacobson 1994) là một phiên bản của Jacobson về phơng pháp hớng đối tợng, phơng pháp hớng đối tợng đã đợc sử dụng để xây dựng một số hệthống nh là hệthốngthiết bị viễn thôngvà các hệthống tài chính cho công ty môi trờng, cả hai phơng pháp là cơ sở cho các use-case, với việc định nghĩa về yêu cầu ban đầu của hệthống sẽ đợc mở rộng bởi các tác nhân (actors). Các use-case thực hiện trong nhiều giai đoạn của quá trình phát triển, các giai đoạn kiểm tra hệ thống, khi đó họ đã sử dụng để chỉnh sửa hệ thống, đối tợng cũng đợc đa vào các công việc kỹ thuật, khi những ý kiến đợc sử dụng trong mô hình để thúc đẩy việc xử lý. Fusion (sự hợp nhất): Các phơng pháp hợp nhất đợc Hewleft - Packard (D.coleman 1994) đa ra, nó đợc gọi là phơng pháp thế hệ thứ hai, bởi vì nó là cơ sở mà các phơng pháp ban đầu đã đi qua. Phơng pháp hợp nhất đã đợc nâng cấp từ Giáo viên hớng dẫn ThS: Lê Văn Minh Thực hiện: Nguyễn Thị Thu Hơng 10