Tài liệu Nghiên cứu UML và ứng dụng UML vào quá trình phát triển phần mềm docx

4 746 4
Tài liệu Nghiên cứu UML và ứng dụng UML vào quá trình phát triển phần mềm docx

Đang tải... (xem toàn văn)

Thông tin tài liệu

Lĩnh vực Công nghệ thông tin nghiên cứu UML ứng dụng UML vào quá trình phát triển phần mềm KS. Lu Thị Thu Hiền Trung tâm Công nghệ thông tin Tóm tắt: Xu thế áp dụng phơng pháp hớng đối tợng thay cho phơng pháp hớng chức năng (phơng pháp truyền thống) ngày càng đợc áp dụng phổ biến vào các hệ thống phần mềm. Đối với một hệ thống lớn, phơng pháp tiếp cận hớng đối tợng sử dụng UML đợc áp dụng nh một quá trình suy diễn phát triển hệ thống để việc trao đổi giữa ngời thu thập thông tin với khách hàng, giữa ngời thiết kế với ngời lập trình cùng sử dụng một ngôn ngữ mô hình hoá. Rất nhiều dự án phải thay đổi dẫn đến tăng thêm chi phí do không có sự thống nhất giữa khách hàng nhà sản xuất, giữa nhà quản lý ngời thiết kế, những ngời phát triển sản phẩm với nhau. Nhận thấy rõ vai trò tầm quan trọng của nó, Trung tâm Công nghệ thông tin CDiT (thuộc Học viện Công nghệ BCVT) đã quyết định chọn hớng nghiên cứu ứng dụng UML nhằm nâng cao chất lợng sản phẩm thông qua cải tiến tối u quy trình sản xuất phần mềm bằng việc mô hình hóa quá trình. 1. Nhu cầu thực tế khả năng ứng dụng của UML Ngôn ngữ mô hình hợp nhất (UML - Unified Modelling Language) đợc tổ chức OMG (Object Management Group) công nhận chuẩn công nghiệp vào tháng 11/1997 là công cụ hỗ trợ đắc lực cho phơng pháp luận hớng đối tợng. Ngôn ngữ mô hình hợp nhất này phù hợp cho việc mô hình hoá các hệ thống nh: hệ thống thông tin doanh nghiệp, các ứng dụng phân tán trên nền Web, hệ thống nhúng thời gian thực Đặc biệt, nó còn đợc sử dụng cho mọi tiến trình phát triển phần mềm, xuyên suốt vòng đời phát triển sản phẩm độc lập với các công nghệ cài đặt hệ thống. Đối với ngành Bu chính Viễn thông, các bài toán đặc thù của ngành có một số đặc điểm đòi hỏi khá khắt khe: - Phạm vi áp dụng bài toán rất lớn có tính mở cao. - Phức tạp đa dạng, đòi hỏi độ chính xác cao. - Thời gian phát triển nâng cấp hệ thống không có giới hạn vì nghiệp vụ viễn thông không chỉ luôn có những bớc tiến mới mà còn tốc độ các công nghệ kỹ thuật tiên tiến không ngừng gia tăng. - Đòi hỏi cần có một kiến trúc vững vàng hiểu đợc bức tranh tổng thể cũng nh hiểu đúng yêu cầu thực tế. Vấn đề này rất cần cho những bài toán lớn trong các trờng hợp nếu hệ thống bổ sung thêm các chức năng mà nhóm phát triển phải làm lại từ đầu thì mất rất nhiều công sức, chi phí thời gian. Do vậy, kiến trúc là một xơng sống của hệ thống. Để chuyển tải hiểu rõ yêu cầu đó của khách hàng, việc áp dụng UML trong quá trình phát triển phần mềm là hoàn toàn phù hợp đáp ứng đợc yêu cầu bài toán đặt ra. UML là ngôn ngữ mô hình hợp nhất: - Đặc tả thông tin(specifying): mô tả rõ ràng những điểm mấu chốt của vấn đề, cho phép mô tả mô hình chính xác, không nhập nhằng. UML hớng tới đặc tả thiết kế, phân tích và quyết định cài đặt trong quá trình phát triển triển khai hệ thống phần mềm. - Trực quan (Visualizing - có thể nhìn thấy đợc): ngời phát triển có thể giao tiếp thông qua mô hình khái niệm. - Xây dựng (Constructing): có thể ánh xạ mô hình trong UML tới các ngôn ngữ lập trình khác nhau nh: Java, C++, hay các bảng CSDL quan hệ, CSDL hớng đối tợng. ánh xạ này cho khả năng biến đổi thuận từ mô hình UML sang ngôn ngữ lập trình. Đồng thời có khả năng biến đối ngợc từ cài đặt về mô hình UML; có nghĩa rằng nó cho khả năng làm việc với văn bản hay đồ họa nhất quán. Học viện Công nghệ BCVT Hội nghị Khoa học lần thứ 5 - Lập tài liệu(documenting): UML hớng tới làm tài liệu kiến trúc hệ thống các chi tiết của nó. UML cho khả năng biểu diễn yêu cầu, thử nghiệm, mô hình hóa các hoạt động lập kế hoạch quản lý sản phẩm. Chúng ta có thể áp dụng UML cho các kiểu hệ thống khác nhau, các lĩnh vực, các phơng pháp hoặc các quy trình, mô hình phát triển khác nhau. Trong quá trình xây dựng hệ thống phần mềm theo hớng đối tợng UML đợc sử dụng cho mọi tiến trình, xuyên suốt vòng đời phát triển không phụ thuộc công nghệ dùng trong lập trình hệ thống. Các đặc điểm của UML: - Là một ngôn ngữ mô hình đa dụng: tập trung chủ yếu vào các khái niệm cơ bản cho việc yêu cầu, chia sẻ tận dụng tối đa kiến thức với các cơ cấu mở rộng. - Là một ngôn ngữ mô hình đợc áp dụng rộng rãi, nó đợc áp dụng ở các kiểu hệ thống (phần mềm phi-phần mềm ), các miền, các phơng thức các quy trình khác nhau. - UML là một ngôn ngữ mô hình hỗ trợ công cụ, các công cụ này là sẵn sàng hỗ trợ ứng dụng ngôn ngữ để chi tiết hóa(đặc tả), trực quan, xây dựng lập tài liệu cho các hệ thống dễ dàng tiện lợi. - UML là một ngôn ngữ mô hình chuẩn, nó là một ngôn ngữ đợc công nhận có tính mở cao. UML có khả năng làm giảm chi phí thời gian thực hiện, hạn chế tối thiểu các rủi ro có thể xảy ra khi hệ thống có sự thay đổi liên tục đối với những hệ thống phức tạp. Một đặc điểm của UML nữa là tính hệ thống hoá từ phơng pháp luận, mô hình phát triển cho tới công cụ (thiết kế, kiểm tra, quản lý cấu hình) có mối liên kết chặt chẽ với nhau. Đây là điểm rất khác biệt đối với các công cụ dùng thiết kế cho hớng chức năng. 2. Một số kết quả đạt đợc trong quá trình nghiên cứu UML tại CDiT Quá trình nghiên cứu UML của Trung tâm Công nghệ thông tin bớc đầu đã đạt đợc một số kết quả khá khả quan: làm chủ đợc công nghệ mới từ đó xây dựng thành công mô hình hoá quy trình sản xuất phần mềm ứng dụng UML, sử dụng công cụ Rational Rose cho quá trình phân tích thiết kế. Quy trình sản xuất phần mềmứng dụng UML mô hình hóa quá trình phát triển phần mềm tuân thủ các nguyên tắc sau đây: 2.1.Phát triển theo lặp tăng dần Ngời phát triển phải thử nhiều trờng hợp cải tiến dần giải pháp của mình cho đến khi có đợc mô hình thỏa mãn yêu cầu chức năng cũng nh dễ thay đổi hay mở rộng. 2.2.Use case điều khiển (Use-case driven) Use-case driven: các use case (UC) đợc sử dụng nh là một nhân tố chính cho việc xây dựng cách thức hoạt động cần thiết của hệ thống. Các UC điều khiển tất cả công việc của nhóm phát triển kể từ khi bắt đầu dự án thỏa thuận các yêu cầu khách hàng cho đến khi lập trình. Hình vẽ dới đây cho chúng ta thấy rằng: Ngời sử dụng mô tả Use-case, ngời thiết kế có nhiệm vụ thiết kế UC, lập trình viên cài đặt UC nhân viên kiểm định chất lợng kiểm tra UC. Học viện Công nghệ BCVT Nguoi su dung Lap trinh vien Thietke Nguoi phan tich Kiemtra UseCase Diendat Caidat Thietke Hieu Kiemtra Lĩnh vực Công nghệ thông tin 2.3.Tập trung vào kiến trúc (Architecture centric) Kiến trúc của một hệ thống đợc xem nh một nền tảng cơ bản trong quá trình phát triển phần mềm. Kiến trúc hệ thống liên kết với các use case để điều khiển giám sát các góc độ của hệ thống. Đứng ở góc độ quy trình, kiến trúc đợc thể hiện rõ dới dạng các khung nhìn cơ bản trong sáu mô hình. Các khung nhìn đó phản ánh Tầm quan trọng của kiến trúc các phần tử trong các mô hình, cách chúng làm việc cùng nhau, các khung nhìn hình thành nên mô tả kiến trúc. Kiến trúc hệ thống đợc nhóm phát triển dự án mô tả hình thành ngay giai đoạn ban đầu sau đó trong suốt quá trình phát triển nó sẽ đợc bổ sung cập nhật theo thực tế thực hiện. Các phần mềm hiện nay có xu hớng tập trung trên việc tính toán phân tán, vì vậy nó cũng trở nên khá phức tạp không ai có thể nói rằng công cụ công nghệ sẽ theo kịp ở bất cứ thời gian nào. Yêu cầu của khách hàng thờng xuyên có sự thay đổi. Do vậy chúng ta cũng khó thể hiểu đầy đủ về bức tranh tổng thể của hệ thống. Vì lý do này mà kiến trúc chính là phơng tiện đầu tiên giúp cho chúng ta có thể hiểu đợc dễ dàng bức tranh tổng thể của hệ thống. Nhóm phát triển có thể sử dụng hiệu quả các mô hình kiến trúc mẫu có thể trợ giúp định hớng nỗ lực phát triển ở các mức khác nhau (Client/Server, mô hình kiến trúc 3 lớp, mô hình kiến trúc n-lớp). Một trong các nguyên lý cơ bản của việc phát triển dựa trên các thành phần (component based development) là khả năng sử dụng lại của các thành phần, với việc bổ sung sửa đổi (customize) là tối thiểu trong ngữ cảnh khác nhau. Một kiến trúc tốt là các thành phần có thể làm việc cùng với nhau các nhóm phát triển có thể đợc sử dụng lại trong việc xây dựng một hệ thống khác. Việc này đã làm giảm đợc thời gian cho các nhóm phát triển tập trung vào việc xây dựng các thành phần mới, vì vậy các nhóm có thể tận dụng tối đa thời gian này để tìm hiểu kỹ hơn về các vấn đề của khách hàng các giải pháp mô hình. Mô hình của UML thể hiện trong các loại biểu đồ sau: Biểu đồ Use-case, Biểu đồ lớp (Class Diagram), Biểu đồ cộng tác(Collaboration Diagram), Biểu đồ hoạt động (Activity Diagram), Biểu đồ trang thái (State Diagram), Biểu đồ tuần tự (Sequence Diagram), Biểu đồ đối tợng (Object Diagram). Qua quá trình nghiên cứu đồng thời cũng giúp cho nhóm phát triển: - Nắm đợc các khái niệm căn bản phơng pháp phân tích hệ thống hớng đối tợng - Phân biệt giữa phơng pháp phân tích hệ thống hớng chức năng phơng pháp phân tích hệ thống hớng đối tợng, các mô hình phát triển phần mềm đặc trng cho từng phơng pháp. - Kỹ năng sử dụng công cụ Rational Rose để thể hiện mô hình hệ thống thông tin cần phân tích. 3. Kết luận UML với rất nhiều u điểm đặc trng của mình, là một ngôn ngữ mô hình hoá có nhiều tiềm năng trợ giúp cho các tổ chức phần mềm đạt đợc hiệu quả chất lợng cao. Tuy nhiên, để áp dụng thành công UML vào quá trình sản xuất phần mềm, chúng ta không thể không nhắc đến sự quan tâm đầu t, chỉ đạo sát sao của lãnh đạo trung tâm CDiT. Đồng thời, yếu tố mang lại thành công không kém phần quan trọng đó là định hớng phát triển. Đối với một môi trờng công nghệ cao một nền kinh tế tri thức không có con đờng nào khác là tham gia vào cuộc chạy đua tri thức. Đặc biệt trong lĩnh vực CNPM, đây là một lĩnh vực khó khá mới mẻ ở Việt Nam. Do vậy, xác định hớng đi đúng đắn ngay từ ban đầu đã tiết kiệm đợc chi phí thực hiện tránh đợc lãng phí về thời gian. Góp phần cho sự thành công của kết quả này, đội ngũ trẻ của CDiT không ngừng phấn đấu lao động, sáng tạo, trau dồi kiến thức thờng xuyên trao đổi, học hỏi kinh nghiệm lẫn nhau. Dựa vào thành quả đạt đợc trong quá trình nghiên cứu UML, Trung tâm công nghệ thông tin- CDIT đã xác định rõ hớng đi tiếp theo đó là: - Đào tạo về UML cho tất cả các cán bộ nghiên cứu của Trung tâm công nghệ thông tin. - Nghiên cứu, triển khai áp dụng đồng bộ công cụ có sẵn hỗ trợ UML của Rational theo các phơng diện khác nhau nh quản lý dự án, đánh giá kiểm tra sản phẩm, theo các giai Học viện Công nghệ BCVT Hội nghị Khoa học lần thứ 5 đoạn khác nhau trong sản xuất phần mềm: Kiểm soát phân tích yêu cầu, phân tích và thiết kế, Kiểm tra, quản lý cấu hình nhằm giảm thiểu lỗi trong quá trình sản xuất phần mềm. Với trọng tâm: Chất lợng luôn luôn là vấn đề sống còn, do vậy Trung tâm công nghệ thông nguyện phát huy kết quả đã đạt đợc, đem hết năng lực nhiệt tình thúc đẩy sự nghiệp phát triển ngang tầm với đòi hỏi của thời kỳ công nghiệp hoá, hiện đại hoá đất nớc. Tài liệu tham khảo 1. UML distilled second edition, A brief guide to the standard object modeling language, Martin follower with Kendall scott 2. UML in a nutshell, Sinan Si Alhir, OReilly 3. Object-Oriented Project management with UML, Murray R.Cantor 4. Phân tích thiết kế hớng đối tợng bằng UML, Đặng Văn Đức 5. Nghiên cứu về UML để phân tích thiết kế hệ thống thông tin quản lý, Trần Văn Lăng 6. http://www.hoora.org 7. Object-oriented Analysis and design using the UML, Rational University professional education and product training. 8. Lecture 4: Software Lifecycles, University of Toroton, Department of computer science. 9. Lecture8: Advanced design issues, Software engineering. Học viện Công nghệ BCVT . thông tin nghiên cứu UML và ứng dụng UML vào quá trình phát triển phần mềm KS. Lu Thị Thu Hiền Trung tâm Công nghệ thông tin Tóm tắt: Xu thế áp dụng phơng. quy trình sản xuất phần mềm ứng dụng UML, sử dụng công cụ Rational Rose cho quá trình phân tích và thiết kế. Quy trình sản xuất phần mềm có ứng dụng UML

Ngày đăng: 24/01/2014, 00:20

Từ khóa liên quan

Mục lục

  • KS. Lưu Thị Thu Hiền

    • 2.1.Phát triển theo lặp và tăng dần

    • 2.2.Use case điều khiển (Use-case driven)

    • 2.3.Tập trung vào kiến trúc (Architecture centric)

      • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan