Tải bản đầy đủ (.doc) (123 trang)

đồ án tìm hiểu ứng dụng 1 công cụ giúp phân tích thiết kế tự động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.9 MB, 123 trang )

Trường Đại học Công Nghiệp Hà Nội
Khoa Công nghệ thông tin
o0o
Bài tập lớn môn Công nghệ phần mềm
Đề tài

Tìm hiểu ứng dụng 1 công cụ trợ giúp
phân tích thiết kể tự động
Thành viên trong nhóm:
1. Nguyễn Ngọc Quý
2. Lê Đình Ngọc
3. Bùi Văn Toàn
Giáo viên hướng dẫn:
Th.s Phùng Đức Hòa
1
Hà Nội ngày 22/12/2012
Lời nói đầu
Ngày nay, Công nghệ thông tin đã có những bước phát triển mạnh mẽ theo
cả chiều rộng và chiều sâu. Máy tính điện tử không còn là một thứ phương tiện quỹ
hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của
con người, không chỉ ở công sở mà còn ngay cả trong gia đình.
Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức
và các doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông
tin của mình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị.
Tự động hóa ngày càng có vai trò quan trọng trong nền kinh tế toàn cầu và
trong kinh nghiệm hàng ngày. Các kỹ sư đang cố gắng làm cho các thiết bị tự động
hoá kết hợp với các công cụ toán học và tổ chức để tạo ra các hệ thống phức tạp
cho một phạm vi đang nhanh chóng phát triển rộng lớn của các ứng dụng và hoạt
động của con người. Hiện nay các công ty tin học hàng đầu thế giới không ngừng
đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành
thương mại hóa trên Internet. Thông qua các sản phẩm và công nghệ này, chúng


ta dễ dàng nhận ra tầm quan trọng và tính tất yếu của thương mại điện tử. Với
những thao tác đơn giản trên máy có nối mạng Internet bạn sẽ có tận tay những gì
mình cần mà không phải mất nhiều thời gian. Bạn chỉ cần vào các trang dịch vụ
thương mại điện tử, làm theo hướng dẫn và click vào những gì bạn cần. Các nhà
dịch vụ sẽ mang đến tận nhà cho bạn.
Ở Việt Nam cũng có rất nhiều doanh nghiệp đang tiến hành thương mại hóa trên
Internet, tự động hóa các lĩnh vực nhưng do những khó khăn về cơ sở hạ tầng nên
vẫn chưa được phổ biến rộng khắp.
Để tiếp cận và góp phần trong quá trình tự động hóa các sản phẩm, chúng em
đã tìm hiểu và đưa ra được những đánh giá cho quá trình phân tích thiết kế tự động
khi nghiên cứu tới phần mềm hỗ trợ phân tích thiết kế tự động Rational Rose.
Với sự hướng dân tận tình của thầy Phùng Đức Hòa chúng em đã hoàn thành bài
tập lớn này. Tuy đã cố gắng hết sức để tìm hiểu, phân tích, cài đặt và sử dụng
nhưng chắc rằng cũng không thể tránh khỏi những thiếu sót. Chúng em rất mong
nhận được sự thông cảm và góp ý của Thầy. Chúng em xin chân thành cảm ơn.
Nhóm sinh viên thực hiện:
Nguyễn Ngọc Quý
Bùi Văn Toàn
Lê Đình Ngọc
2
Tóm tắt nội dung bài tập lớn.
Bài tập lớn tập chung vào việc phân tích quá trình trợ giúp tự động và đưa ra
lựa chọn phân tịc là phần mềm Rational Rose.
Bài tập lớn được chia thành 5 phần như sau:
Chương 1: Quy trình tự động hóa.
Chương này đưa ra các khái niệm cơ bản về quy trình, tự động hóa, và quy
trình tự động hóa.
Chương 2: CASE- Thiết kế phần mềm với sự trợ giúp của máy tính.
Giới thiệu về CASE (Computer Aided Software Engineering). Lịch sự phát
triển. Tiếp đó đưa ra các Case Tool phổ biến hiện nay. Trong đó có Rational Rose.

Chương 3: Giới thiệu về UML- Ngôn ngữ mô hình hóa thống nhất.
Giới thiệu về UML (Unified Modeling Language). Lịch sử phát triển của UML.
Vai trò của UML trong phân tích thiết kế hệ thống.
Các thành phần của ngôn ngữ UML, giới thiệu về các khung nhìn, các biểu đồ
có trong UML.
Chương 4: Công cụ Rational Rose.
Giới thiệu về Rational Rose, các phiên bản của Rational Rose, cách cài đặt và
sử dụng Rational Rose cuối cùng là làm việc với Rational Rose như thế nào.
Chương 5: Hỗ trợ phân tích thiết kế tự động từ Rational Rose.
Sau khi làm xong Chương 4, chúng ta sẽ biết cách sử dụng Rational Rose như
thế nào thì trong Chương 5 chúng ta sẽ tìm hiểu về Rational Rose giúp gì trong quá
trình phân tích thiết kế tự động. Từ đó tìm được con người cần làm gì và hệ thống
giúp đỡ gì trong quá trình phân tích.
3
Mục lục
Chương 1: Quy trình tự động hóa 10
1. Quy trình là gì? 10
2. Tự động hóa là gì? 11
3. Quy trình tự động hóa là gì? 12
Chương 2: CASE- Thiết kế phần mềm với sự trợ giúp của máy
tính 12
1. GIỚI THIỆU 12
1.1 SỰ RA ĐỜI VÀ PHÁT TRIỂN 13
1.1.1 Lịch sử 13
1.1.2 Sự cần thiết của CASE 13
1.1.3 Vị trí của CASE Tool trong những năm 90 14
1.1.4 Tại sao CASE Tool chưa phổ biến 14
1.2 MỤC TIÊU 16
1.3 Đôi nét về CASE Tool 17
1.3.1 Vai trò của các CASE Tool 17

1.3.2 Ưu điểm của CASE Tool 18
1.3.3 Các loại CASE Tool 19
1.3.4 Phân loại CASE Tool 21
1.3.5 Kỹ thuật đảo ngược và chuyển tiếp 21
1.4 CASE TOOL TRỰC QUAN VÀ RÕ NÉT 22
1.4.1 Phát triển hệ thống truyền thống và phát triển các hệ thống dựa trên
Case 22
1.4.2 Môi trường CASE 23
1.4.3 CASE Tool nổi 25
1.4.4 CASE Tool hướng đối tượng 26
4
1.4.5 Tạo tài liệu và báo cáo bằng cách sử dụng các CASE Tool hướng đối
tượng 27
Chương 3: Giới thiệu về UML 29
I. UML- Ngôn ngữ mô hình hóa thống nhất 29
1. LỊCH SỬ UML 29
2. UML LÀ GÌ? 29
3. UML TRONG PHÂN TÍCH THIẾT KẾ HỆ THỐNG 30
4. UML VÀ CÁC GIAI ĐOẠN PHÁT TRIỂN HỆ THỐNG 31
II. Khái quát về UML 32
1. UML VÀ CÁC GIAI ĐOẠN CỦA CHU TRÌNH PHÁT TRIỂN PHẦN MỀM 32
1.1 Giai đoạn nghiên cứu sơ bộ: 32
1.2 Giai đoạn phân tích: 32
1.3 Giai đoạn thiết kế: 32
1.4 Giai đoạn xây dựng: 33
1.5 Thử nghiệm: 33
2. CÁC THÀNH PHẦN CỦA NGÔN NGỮ UML 33
3. KHUNG NHÌN (VIEW) 34
4.BIỂU ĐỒ (DIAGRAM) 37
4.1- Biểu đồ Use case (Use Case Diagram): 37

4.2- Biểu đồ đối tượng (Object Diagram) 37
4.3 Biểu đồ lớp (Class Diagram) 37
4.4 Biểu đồ trạng thái (State Diagram) 38
4.5 Biểu đồ trình tự (Sequence Diagram) 38
4.6 Biểu đồ cộng tác (Collaboration Diagram) 38
4.7 Biểu đồ hoạt động (Activity) 39
4.8 Biểu đồ thành phần (Component Diagram) 39
4.9 Biểu đồ triển khai (Deplopment Diagram) 40
5
Chương 4: Công cụ Rational Rose (Rose) 41
I. Giới thiệu về Rational Rose 41
1. Rational Rose là gì? 41
2. Những phiên bản hiện hành của Rational Rose 42
II. Cài đặt Rational Rose 43
III. Làm việc với Rational Rose 60
1. Màn hình làm việc của ROSE 60
1.1. Browser 62
1.2. Toolbars 63
1.3. Cửa sổ tài liệu 64
1.4. Cửa sổ Log 65
2. Các hướng nhìn trong Rose 65
2.1. Hướng nhìn Use case (use case view): 66
2.2. Hướng nhìn logic (Logical View): 67
2.3. Hướng nhìn thành phần (Component View): 67
2.4. Hướng nhìn triển khai (Deployment View): 67
3. Làm việc với các mô hình trong Rose 67
3.1 Tạo mô hình 67
3.2 Lưu Mô hình 69
3.3 Nhập và xuất mô hình 70
3.4 Biểu đồ trong Rational Rose. (Diagrams) 71

Chương 5 : Hỗ trợ Phân tích thiết kế tự động trong Rational Rose
114
I. Rational Rose hỗ trợ Mô hình hóa hệ thống 114
1. Có năm mục đích chính của mô hình hoá 114
1.1 Mô hình giúp ta hiểu và thực hiện được sự trừu tượng, tổng quát hoá các
khái niệm cơ sở để giảm thiểu độ phức tạp của hệ thống 114
6
1.2. Mô hình giúp chúng ta quan sát được hệ thống như nó vốn có trong thực
tế hoặc nó phải có như ta mong muốn 114
1.3. Mô hình cho phép ta đặc tả được cấu trúc và hành vi của hệ thống để
hoàn chỉnh: 114
1 4. Mô hình hoá là nhằm tạo ra khuôn mẫu (template) và hướng dẫn cách
xây dựng hệ thống; cho phép thử nghiệm, mô phỏng và thực hiện theo mô
hình 115
1.5. Mô hình là cơ sở để trao đổi, ghi lại những quyết định đã thực hiện trong
nhóm tham gia dự án phát triển phần mềm 115
2. Các yếu tố quan trọng mà người phân tích cần phải làm rõ 115
3. Hỗ trợ biến đổi các biểu đồ trong Rational Rose 115
II. Rational Rose hỗ trợ xuất bản một mô hình lên web 117
III. Tạo cơ sở dữ liệu trong Rational Rose 119
1. Các bước chính để tạo ra 1 mô hình cơ sở dữ liệu 119
a. Tạo 1 database 119
b. Thêm tablespace 122
c. Thêm vào 1 Schema 124
2. Làm việc với View 126
a. Tạo view và làm việc với view 126
III. Rational Rose hỗ trợ tạo Code sau khi có các mô hình chuẩn 128
1. Kiểm tra các mô hình 128
2. Cài đặt các thuộc tính cho bảng mã 129
3. Xuất code 130

7
DANH MỤC CÁC HÌNH VẼ
Hình 2.1: Các thành phần của một CASE Tool điển hình
Hình 2.2: Kỹ thuật đảo ngược và chuyển tiếp
Hình 2.3: Môi trường CASE
Hình 2.4: Công cụ vẽ và thiết kế văn bản
Hình 2.5: Đầu ra chủ yếu của CASE Tool hướng đối tượng
Hình 2.6: Quy trình để tạo ra một tài liệu mô hình
Hình 3.1: Các khung nhìn trong UML
Hình 4.3.1: Giao diện của Rose.
Hình 4.3.2: Rose browser.
Hình 4.3.3: Toolbar
Hình 4.3.4: Cửa sổ tài liệu.
Hình 4.3.5: Cửa sổ Log
Hình 4.3.6: Các hướng nhìn trong Rose
Hình 4.3.7: Framework Wizard
Hình 4.3.8:Nền tảng J2EE
Hình 4.3.9. Xuất bản 1 mô hình Rose lên Web.
Hình 4.3.10: Biểu đồ use case mức tổng quát trong bài toán quản lý hồ sơ bệnh án
Hình 4.3.11: Phân rã use case quản lý bệnh án
Bảng 4.1: Biểu diễn scenario cho use case thêm bệnh án trong bài toán quản lý hồ
sơ bệnh án.
Hình 4.3.12: Giao diện biểu đồ Use case trong Rational Rose.
Hình 4.3.13: Cửa sổ đặc tả 1 Use case
Hình 4.3.14: Cửa sổ đặc tả một quan hệ dạng Dependency
Hình 4.3.15.a: Đặc tả quan hệ association– Tab General
Hình 4.3.15.b: Đặc tả quan hệ association– Tab Role A General
8
Hình 4.3.16: Phân rã use case
Hình 4.3.17: Một sơ đồ use case mức 2

Hình 4.3.18: Gắn file vào một use case.
Hình 4.3.19: Biểu đồ đối tượng (Object Diagram)
Hình 4.3.20: Thêm thuộc tính và đối tượng vào Class
Hình 4.3.21: Biểu đồ Class trong quản lý hồ sơ bệnh án.
Hình 4.3.22: Thêm yêu cầu ở biểu đồ trình tự trong quản lý hồ sơ bệnh án.
Hình 4.3.23: Biểu đồ trình tự trong quản lý hồ sơ bệnh án.
Hình 4.3.24: Biểu đồ trình tự trong quản lý hồ sơ bệnh án
Hình 4.3.25: Biểu đồ cộng tác trong Quản lý bệnh nhân.
Hình 4.3.26: Biểu đồ hoạt động trong Quản lý hồ sơ bệnh án
Hình 4.3.27: Biểu đồ thành phần trong Quản lý hồ sơ bệnh án
Hình 4.3.28 : Biểu đồ triển khai trong Quản lý hồ sơ bệnh án.
Hình 5.1: Xuất một mô hình Rational Rose lên web.
Hình 5.2: Kết quả sau khi xuất một mô hình Rose lên web.
Hình 5.3: Khởi tạo database
Hình 5.4: Rational Rose cùng các hỗ trợ Database
Hình 5.5: Thêm tablespace
Hình 5.6: Sử dụng hộp thoại Tablespace Specification
Hình 5.7: Làm việc với Schema
Hình 5.8: Thêm columns và cài đặt các thuộc tính kèm theo.
Hình 5.9: Tạo liên kết giữa các bảng CSDL
Hình 5.10: Tạo View và sử dụng hộp thoại View Specification
Hình 5.11: Xuất code SQL
9
Chương 1: Quy trình tự động hóa.
1. Quy trình là gì?
Quy trình là một trình tự có tổ chức các hoạt động để hoàn thành cái gì đó.
Chẳng hạn: Dự án phần mềm. Trong trường hợp này, dự án là việc áp dụng tài
nguyên vào quy trình đó. Tài nguyên là con người, công cụ và kĩ thuật mà bạn áp
dụng khi tuân theo quy trình. Thuật ngữ “con người” cũng chỉ ra kĩ năng và kinh
nghiệm của thành viên tổ. Trình tự là trật tự theo đó mọi sự được hoàn thành.

Thuật ngữ “trật tự” nghĩa là bạn phải tuân theo nó "từng bước một" tương ứng theo
quy tắc. Chẳng hạn, bạn phải hiểu yêu cầu trước khi bắt đầu thiết kế; chỉ khi thiết
kế được hoàn thành thì bạn mới có thể bắt đầu viết mã v.v.
Quy trình được đại diện bởi ba yếu tố: Hiệu quả: Mối quan hệ giữa việc dùng tài
nguyên và kết quả được hoàn thành. Thời gian chu kì: "Tốc độ" của quy trình, tức
là, thời gian cần để hoàn thành một quy trình. Và Chất lượng: Chất lượng của quy
trình như được xác định bởi người dùng như đáp ứng yêu cầu, không có lỗi v.v. Tổ
hợp của ba yếu tố này xác định ra năng lực của tổ hay tổ chức. Cải tiến liên tục là
việc thay đổi hay nâng cấp từ năng lực mức thấp hơn lên năng lực mức cao hơn.
Không có đào tạo đúng, người phát triển phần mềm sẽ làm bất kì cái gì họ
muốn chỉ để làm cho công việc của họ được thực hiện. Vì phát triển phần mềm là
hoạt động "làm việc theo tổ", không phải là hoạt động cá nhân, điều quan trọng là
mọi thành viên tổ đều tuân theo những qui tắc nào đó như tuân theo "Quy trình
được xác định" cho dự án đó. Người quản lí dự án phải nhận diện "Quy trình được
xác định" trong bản kế hoạch dự án và giám sát các hoạt động để đảm bảo rằng các
thành viên tổ tuân theo nó để có được kết quả mong muốn như hiệu quả, chất
lượng và tốc độ.
Một trong những vấn đề chính trong đào tạo khoa học máy tính là sinh viên
có xu hướng làm việc cô lập. Điển hình, từng người được trao cho một vấn đề để
giải quyết, một chương trình để viết mã, và từng người được cho điểm tương ứng
theo thành tích cá nhân. Khi sinh viên đi làm, từng người sẽ tiếp tục làm bất kì cái gì
có thể để làm cho việc làm của họ được thực hiện, giống như khi họ còn trong
trường. Không có hiểu biết về làm việc tổ bằng việc tuân theo qui trình, nhiều dự án
sẽ không chuyển giao được phần mềm cho khách hàng trong lịch biểu và có chất
lượng. Nhiều dự án thường chậm và có chất lượng kém. Chúng thất bại vì thiếu sự
phối hợp và làm việc tổ điều cho phép các thành viên tổ làm việc cùng nhau. Chúng
thất bại vì một số thành viên vội vàng viết mã mà không thực sự hiểu các yêu cầu.
Chúng thất bại vì có quá nhiều thay đổi trong dự án điều thường tới trễ và không có
qui trình giải quyết thay đổi. Chúng thất bại vì người quản lí dự án không biết cách
10

lập kế hoạch, tổ chức hay ước lượng thời gian, lịch biểu và nỗ lực được cần để hoàn
thành dự án.
Quy trình được xác định là bản lộ trình cho dự án. Nó yêu cầu các thành viên tổ
tuân theo "con đường" từng bước một. Từng bước phải có vai trò và trách nhiệm
được xác định rõ ràng cho từng thành viên tổ. Khi thay đổi xảy ra, bản lộ trình nhận
diện rõ ràng ai làm cái gì để cho tổ có thể làm cho công việc của họ được thực hiện
có hiệu quả, chất lượng và đáp ứng lịch biểu dự án (tốc độ).
2. Tự động hóa là gì?
Tự động hóa là việc sử dụng các hệ thống kiểm soát như máy tính để kiểm soát
máy móc thiết bị công nghiệp và quy trình sản xuất, giảm bớt sự cần thiết phải can
thiệp của con người. Trong phạm vi điều chỉnh của công nghiệp hóa, tự động hóa là
một bước kế tiếp của cơ giới hoá. Trong khi cơ giới hoá mang lại cho con người khả
năng vận hành máy móc thiết bị để giúp cho các cơ cấu vật lý hoạt động theo yêu
cầu công việc, thì tự động hóa lại làm giảm thiểu rất nhiều nhu cầu về sự giám sát
cần thiết cũng như trí tuệ của con người. Các quy trình và hệ thống đều có thể được
tự động hoá.
Tự động hóa ngày càng có vai trò quan trọng trong nền kinh tế toàn cầu và
trong kinh nghiệm hàng ngày. Các kỹ sư đang cố gắng làm cho các thiết bị tự động
hoá kết hợp với các công cụ toán học và tổ chức để tạo ra các hệ thống phức tạp
cho một phạm vi đang nhanh chóng phát triển rộng lớn của các ứng dụng và hoạt
động của con người.
Nhiều vai trò của con người trong các quá trình sản xuất công nghiệp hiện nay
vẫn nằm ngoài phạm vi điều chỉnh của tự động hóa. Khả năng nhận dạng, nhận
giọng và tạo ngôn ngữ vẫn nằm ngoài năng lực của cơ học hiện đại và các hệ thống
máy tính. Những công việc đòi hỏi phải có sự đánh giá chủ quan hoặc tổng hợp dữ
liệu bằng cảm tính phức tạp, chẳng hạn như hình ảnh và âm thanh, cũng như các
nhiệm vụ cao cấp như lập kế hoạch chiến lược hoặc trước mắt vẫn yêu cầu chuyên
môn của con người. Trong nhiều trường hợp, việc sử dụng con người vẫn có hiệu
quả hơn phương pháp tiếp cận cơ khí, cả những nơi thậm chí tự động hóa các tác vụ
của công nghiệp có thể đã thực hiện được.

Các phần cứng máy tính đặc biệt, gọi tắt là các bộ điều khiển logic lập trình
(PLC), thường được sử dụng để đồng bộ hóa tín hiệu đầu vào của các cảm biến và
đầu ra để tới các cơ cấu chấp hành. Điều này dẫn đến sự kiểm soát chính xác những
hoạt động, vốn cho phép kiểm soát chặt chẽ hầu hết mọi quá trình sản xuất công
nghiệp.
Các giao diện người - máy (HMI) hoặc giao diện máy tính - người (CHI), trước
đây được coi như là giao diện người - máy, thường được sử dụng để liên lạc với PLC
11
và các máy vi tính, chẳng hạn như nhập và giám sát nhiệt độ hoặc áp lực để có
thêm kiểm soát tự động hoặc phản ứng khẩn cấp. Dịch vụ nhân sự gồm những
người theo dõi và kiểm soát các giao diện thường được gọi tắt các kỹ sư tĩnh (có vẻ
chưa đúng thuật ngữ này).
3. Quy trình tự động hóa là gì?
Là thực hiện một quá trình, hoạt động, dự án với theo một quy trình với sự
hỗ trợ của thiết bị công nghệ và máy tính điện tử.
Chương 2: CASE- Thiết kế phần mềm với sự trợ
giúp của máy tính.
1. GIỚI THIỆU
CASE (Computer Aided Software Engineering) là những phương pháp trợ giúp
cho nhà phát triển phần mềm. Mục tiêu của việc giới thiệu CASE là giảm thời gian,
chi phí phát triển phần mềm và cho việc nâng cao chất lượng của các việc phát triển
các hệ thống. CASE liên quan đến việc sử dụng các gói phần mềm được gọi là CASE
Tool để thực hiện và tự động hóa nhiều hoạt động của chu kỳ cuộc sống phát triển
hệ thống.
CASE là một sự thay đổi cách mạng đang xảy ra trong quá trình phát triển hệ
thống phần mềm truyền thống. Quá trình SDLC (Software Development Life Cycle –
Vòng đời phần mềm) bình thường thường được xem là không linh hoạt, tốn thời
gian và tốn kém. Trước những hạn chế của quá trình SDLC, CASE đã nổi lên để giúp
các tổ chức phát triển hệ thống và phần mềm. Các CASE Tool là hữu ích trong việc
lập kế hoạch kinh doanh, quản lý dự án, thiết kế giao diện người dùng, thiết kế cơ

sở dữ liệu và lập trình. Sử dụng các CASE Tool làm cho máy tính hỗ trợ phát triển
phần mềm có thể. Trong bối cảnh của ngày nay, nhanh chóng phân phối sản phẩm
có thể được thử thách nhiệm vụ cho các nhà cung cấp phần mềm, CASE Tool như là
cánh tay giúp việc để hỗ trợ tổ chức quản lý quá trình phát triển phần mềm và tự
động hoá các quy trình nhất định của các hoạt động này. Đáng chú ý là một số khả
năng của CASE được tìm thấy trong hầu hết các công cụ phát triển phần mềm hiện
đại. Một số tự động thiết kế giao diện người dùng, một vài có thể tự động sinh code
chương trình; CASE Tools hỗ trợ đặc biệt trong phân tích & thiết kế, bảo trì và quy
hoạch hệ thống, cung cấp các hỗ trợ trong toàn bộ vòng đời phát triển của phần
mềm v.v… Thật khó để tưởng tượng cuộc sống của một lập trình viên mà không cần
các CASE Tool.
12
Ngày nay, hầu hết các tổ chức phần mềm không cần bận tâm về việc dùng
CASE Tool trong quá trình phát triển phần mềm của họ. Cuối cùng, rào cản trong
việc thúc đẩy các CASE Tool đã trở thành một tiêu chuẩn.
1.1 SỰ RA ĐỜI VÀ PHÁT TRIỂN
1.1.1 Lịch sử
Ngay từ những ngày đầu phát triển phần mềm, kỹ sư phần mềm đã tìm kiếm
các công cụ có ích cho họ trong mô hình của hệ thống, sự hiểu biết của hệ thống là
cách dễ dàng trong nhiều cách khác với những người liên quan đến khoa học máy
tính. Từ 1968 đến 1971 đã có rất nhiều cải tiến được thực hiện về vấn đề này như
thiết kế cơ cấu từ trên xuống, lợi ích của mô đun, từng bước sàng lọc mã được thực
hiện; đến năm 1975, chất lượng, độ tin cậy của phần mềm là những vấn đề lớn và
các thủ tục kiểm tra được áp dụng cho sự phụ thuộc phần mềm.
CASE Tool chính thức giới thiệu vào năm 1980, khi tài liệu hướng dẫn, sơ đồ
và các công cụ thiết kế được giới thiệu trong lĩnh vực này. Trong cùng thập kỷ, tự
động kiểm tra phân tích thiết kế, tạo mã tự động và các tiện ích thiết kế liên kết
được giới thiệu. Tầm quan trọng của CASE Tool được coi là hệ thống quy mô lớn và
CASE chính thức được coi như như là một ngành công nghiệp. Ngày nay có rất nhiều
CASE Tool, thậm chí nhiều hơn số trường hợp cho cùng một vấn đề. Giờ đây, công

cụ này giúp các nhà phát triển phân tích, thiết kế và tạo các tài liệu hướng dẫn của
phần mềm. Ngay cả các CASE Tool có sẵn cho việc triển khai và bảo trì của phần
mềm. Các công cụ như Erwin, Rational Rose có tạo ra có tầm quan trọng trong thị
trường do chất lượng và độ tin cậy của họ. Trong vòng mười năm qua, các CASE
Tool đã nổi lên như một công nghệ tương tác và đã đạt được vị trí cao trong các lĩnh
vực phát triển phần mềm. Chúng vẫn đang trong quá trình cải tiến như các lĩnh vực
khác của thế giới, bởi vì tất cả những gì con người tạo ra trong thế giới này luôn
luôn có chỗ cho cải tiến.
1.1.2 Sự cần thiết của CASE
Các nhà phát triển phần mềm luôn luôn tìm kiếm các CASE Tool có thể giúp
họ trong nhiều cách khác nhau trong các giai đoạn phát triển khác nhau của phần
mềm, để họ có thể hiểu được phần mềm và chuẩn bị một sản phẩm cuối cùng có
hiệu quả thực hiện các yêu cầu của người dùng. CASE Tool cung cấp những cách có
thể đáp ứng yêu cầu này của các nhà phát triển phần mềm. Những công cụ này
cung cấp các thiết lập trên máy vi tính cho các nhà phát triển phần mềm để phân
tích một vấn đề và sau đó thiết kế mô hình hệ thống của nó.
 Những ưu điểm của CASE Tool
 Chúng cung cấp sự nhận thức sâu sắc hơn về hệ thống.
13
 Tạo điều kiện liên lạc giữa các thành viên trong nhóm.
 Các công cụ có hiệu quả hơn cho các hệ thống và các dự án quy mô
lớn.
 CASE Tool cung cấp khả năng hiển thị của các quá trình và sự logic.
 CASE Tool cải thiện chất lượng và năng suất của phần mềm.
 CASE Tool giảm thời gian cho việc sửa lỗi và bảo trì.
 CASE Tool cung cấp khả năng đọc rõ ràng và bảo trì của hệ thống.
1.1.3 Vị trí của CASE Tool trong những năm 90.
Mục đích của CASE là để giảm chi phí và thời gian cần thiết cho sự phát triển
hệ thống và tập trung vào chất lượng của sản phẩm cuối cùng. CASE đã không được
sử dụng như nó đã tưng được hy vọng. Hầu hết các công ty không muốn áp dụng

các CASE Tool. Quan sát cho thấy rằng CASE đang được sử dụng nhưng không phải
ở nhiều công ty. “Những lý do để từ bỏ bao gồm chi phí, thiếu lợi nhuận đo lường
được, và kỳ vọng không thực tế. Các tổ chức sử dụng các CASE Tool và phát hiện ra
rằng một số lượng lớn của các hệ thống phát triển của họ không được sử dụng các
CASE Tool. Ông báo cáo rằng 57% các tổ chức được khảo sát đã được sử dụng các
CASE Tool, ít hơn 25 % các nhà phát triển hệ thống sử dụng các công cụ” (Diane
Lending 1998). Và trong những công ty đã thông qua việc sử dụng CASE, cũng chỉ
có vài người đang sử dụng các CASE Tool. Trong một cuộc khảo sát của 67 công ty,
nó đã được quan sát thấy rằng 69% các công ty chưa bao giờ được sử dụng các
CASE Tool. Và những người đang sử dụng các CASE Tool thừa nhận rằng việc sử
dụng các CASE Tool cải thiện các tiêu chuẩn tài liệu và kết quả hệ thống dễ dàng
hơn để kiểm tra và duy trì. Tuy nhiên, những người sử dụng các CASE Tool cũng
thừa nhận rằng việc sử dụng các CASE Tool đòi hỏi nhiều thời gian và nỗ lực và
cũng cho biết thêm trong thời gian phát triển tổng thể.
Dưới 30% những người sử dụng tiềm năng và các nhà phát triển sử dụng
CASE và những người sử dụng nó, sử dụng các chức năng đơn giản và cơ bản của
các CASE Tool. Điều này cho thấy rằng ngay cả sau khi nhận được rất nhiều phổ
biến các CASE Tool không được chấp nhận và sử dụng rất nhiều trong ngành công
nghiệp phát triển phần mềm như chúng mong đợi hoặc là chúng nên được sử dụng.
Chỉ sau một năm giới thiệu 70 % các CASE Tool không bao giờ được sử dụng, 25%
được sử dụng bởi một nhóm và 5% của CASE Tool được sử dụng hoàn toàn [ Juhani
Iivar, 1996].
1.1.4 Tại sao CASE Tool chưa phổ biến
 Chi phí
14
Rất nhiều công cụ tốn kém và hầu hết các công ty không sẵn sàng để thực
hiện các CASE Tool bởi thực tế là nó làm tăng chi phí tổng thể của dự án. Và điều
thứ hai nếu một công ty không nhận được bất kỳ thêm lợi nhuận bằng cách sử dụng
các CASE Tool, tại sao họ phải sử dụng các CASE Tool, cuối cùng lại mất thêm chi
phí.

 Thời gian giới hạn
Luôn luôn có một giới hạn thời gian cho tất cả các dự án phần mềm để phát
triển. Hầu hết các công ty không chấp nhận CASE vì nó đòi hỏi rất nhiều thời gian
để đào tạo các nhà phát triển và thực hiện tất cả các hoạt động Case và luôn có
những thời hạn để hoàn thành dự án. Bạn đã quá đáp ứng thời hạn của công ty,
nhưng nếu bạn sử dụng các CASE Tool bạn không thể hoàn thành dự án đúng thời
hạn, đó cũng là một yếu tố được sử dụng ít hơn của CASE Tool.
 Đào tạo
Đào tạo là một mối quan tâm lớn trong khi bất kỳ công ty sẽ sử dụng một
công cụ mới, đó là thủ tục khá tốn kém. Họ có để đào tạo phát triển cho việc sử
dụng hiệu quả của công cụ đó cụ thể. Hầu hết các công ty tránh sử dụng các CASE
Tool vì thực tế này rằng họ sẽ phải để đào tạo một số lượng lớn các nhân viên và
gây tốn kém chi phí cũng như tốn thời gian.
 Thiếu quan tâm
Hầu hết các nhà phát triển sử dụng các CASE Tool không hoàn toàn hài lòng
từ các CASE Tool, đó là lý do tại sao họ là khá trung lập về tính hữu ích của CASE
Tool. Các nhà phát triển không được hưởng đầy đủ bằng cách sử dụng các CASE
Tool và nếu một số người trong số họ làm như vậy, họ chỉ sử dụng chức năng hạn
chế của CASE Tool. Nhiều nhà phát triển sử dụng các CASE Tool như là một yêu cầu
của tổ chức duy nhất. Các nhà phát triển dường như không có động cơ để sử dụng
các CASE Tool và thiếu sự quan tâm là yếu tố lớn trong việc sử dụng ít hơn của
CASE Tool.
 Kỹ thuật hạn chế
Mọi CASE Tool theo một phương pháp cho các mô hình hệ thống. Những
người sử dụng bất kỳ công cụ trường hợp cụ thể trong một thời gian dài hơn thời
gian quen với phương pháp của công cụ đó và họ cố gắng để áp dụng các phương
pháp tương tự đối với các dự án khác. Hầu hết các công cụ phần cứng của họ và
yêu cầu phần mềm. Những yêu cầu cần đáp ứng để sử dụng công cụ đó. Đây là một
trở ngại trong việc áp dụng CASE Tool cho những công ty không đáp ứng được yêu
cầu phần cứng hoặc phần mềm để sử dụng các CASE Tool. Công cụ không nên là

tấm hình thức phụ thuộc hoặc phần mềm hoặc phần cứng.
15
 Chuyển giao công nghệ
Một trong những thách thức chính trong việc áp dụng CASE là thay đổi công
nghệ. CASE phụ thuộc vào quản lý, quy hoạch và kinh nghiệm đầu và nó không thể
được đảm bảo ngay cả những người có kinh nghiệm trường hợp đó có thể dễ dàng
được kết hợp.
 Môi trường
Môi trường là một yếu tố đóng vai trò quan trọng trong sự thất bại của các
CASE Tool. Là có bất kỳ thực hành tồn tại trong tổ chức để áp dụng công nghệ mới
và hiệu quả tìm hiểu nó, phe đối lập luôn luôn là có công nghệ mới và công chúng
không muốn thay đổi công nghệ hiện có, bởi vì họ phải tìm hiểu nó trước khi sử
dụng nó. Hành vi của người dân đối với sự thay đổi trong tổ chức cũng rất quan
trọng, nếu các nhà phát triển và những người khác có liên quan trong một tổ chức
sẵn sàng để thực hiện và áp dụng công nghệ mới, sau đó có ít vấn đề hơn.
 Lựa chọn các CASE Tool
Đó cũng là một mối quan tâm lớn mà một tổ chức phải chọn trường hợp một
công cụ thích hợp mà bộ có tổ chức, nhưng không may thay hầu hết của các nhà
phát triển thời gian không được tư vấn và quản lý sử dụng để chọn công cụ trường
hợp đó là một trở ngại lớn trong cách thâm nhập CASE Tool. Trước khi lựa chọn bất
kỳ công nghệ mới, những người sử dụng chúng phải được tư vấn bởi vì họ tốt hơn
có thể lập luận rằng làm thế nào họ có thể sử dụng hiệu quả các CASE Tool. Vì có
nhiều công cụ cho cùng một vấn đề nên việc lựa chọn công cụ thị trường là một mối
quan tâm lớn.
1.2 MỤC TIÊU
Phần này cung cấp kiến thức để:
• Biết các vai trò của các CASE Tool và sự sử dụng bởi các tổ chức ;
• Biết các thành phần của CASE Tools ;
• Giải thích các CASE Tool trực quan và biết về một số công cụ thương mại;
• Mô tả các CASE Tool tinh vi ;

• Mô tả các CASE Tools hướng đối tượng với tiện ích của chúng trong phát
triển phần mềm.
16
1.3 Đôi nét về CASE Tool
CASE (Computer Aided Software Engineering) là việc sử dụng máy tính hỗ trợ
quá trình phát triển công nghệ phần mềm. Sự hỗ trợ có thể là của bất kỳ loại như
quản lý, kỹ thuật hoặc hành chính trên bất kỳ một phần của quá trình phát triển
phần mềm. Tất cả các phần mềm tham gia giúp đỡ trong quá trình phát triển công
nghệ phần mềm có thể được gọi là CASE Tool.
Khi hoạt động phát triển phần mềm trở nên phức tạp và không thể quản lý
được, đã có một nhận thức về sự cần thiết cho các công cụ tự động để giúp các nhà
phát triển phần mềm để thực hiện nhiệm vụ này. Ban đầu, đã được tập trung chủ
yếu vào chương trình công cụ hỗ trợ như thiết kế của phiên dịch, biên dịch, lắp ráp,
các bộ vi xử lý vĩ mô, và các công cụ khác. Khi máy tính trở nên mạnh mẽ hơn và
các phần mềm chạy trên chúng đã phát triển lớn hơn và phức tạp hơn, các công cụ
hỗ trợ đã bắt đầu mở rộng hơn nữa. Một số khả năng của CASE Tool cũng được tìm
thấy trong các phần mềm ứng dụng phát triển chung.
Quy mô lớn sử dụng máy tính đã đòi hỏi phải sử dụng tối đa và hiệu quả và
phát triển phần mềm cho các hoạt động khác nhau của bất kỳ tổ chức nào. Một nỗ
lực phát triển phần mềm có thể được xem như là một nỗ lực đáng kể để thiết kế các
giải pháp thích hợp, kiểm tra và thực hiện các giải pháp và cuối cùng là tài liệu các
giải pháp. Trong quan điểm này, một loạt các công cụ hỗ trợ bắt đầu xuất hiện để
giúp các nhóm phát triển.
1.3.1 Vai trò của các CASE Tool
CASE Tool đóng một vai trò quan trọng trong các hoạt động sau đây:
• Quản lý dự án
• Từ điển dữ liệu
• Sinh mã (sinh code)
• Thiết kế giao diện người dùng
• Sinh giản đồ

• Tạo ra các siêu dữ liệu cho kho dữ liệu
• Kỹ thuật đảo ngược
• Tái lập
• Sinh tài liệu
• Kiểm soát phiên bản
17
• Phân tích thiết kế hướng đối tượng
• Kiểm thử phần mềm
• Mô hình hóa dữ liệu
• Lập kế hoạch dự án
• Dự toán
Công nghệ CASE đã dẫn đến những cải tiến đáng kể về chất lượng và năng
suất. CASE - một công cụ lý tưởng nên hỗ trợ tất cả các khía cạnh của sự phát triển
hệ thống như phân tích, thiết kế, thử nghiệm, thực hiện và bảo trì. Tất cả các khía
cạnh của quá trình công nghệ phần mềm không được hỗ trợ bởi công cụ CASE của
ngày hôm nay. Hầu hết các CASE Tool cung cấp hỗ trợ tốt cho mô hình hóa dữ liệu,
thiết kế và lập trình hướng đối tượng. Ngoài ra, họ vừa phải hỗ trợ kiểm tra và bảo
trì.
1.3.2 Ưu điểm của CASE Tool
Sau đây là một số lợi thế của CASE Tool:
• Môi trường phát triển tích hợp: CASE Tool cung cấp giao diện người dùng
duy nhất cho các nhà phát triển và nhà phân tích, tự động hóa các hoạt động tốn
thời gian và tẻ nhạt như sinh mã.
• Hướng dẫn phát triển: Nó cung cấp nền tảng chung cho tất cả các nhà phát
triển và giúp phát triển hệ thống phương pháp.
• Tính nhất quán giữa các mô hình và tài liệu: Tài liệu được tạo ra của mô
hình tự động dẫn đến sự nhất quán giữa các mô hình và tài liệu hướng dẫn.
1.3.5 Nhược điểm của CASE Tool
Sau đây là một số trong những nhược điểm của các CASE Tool:
• Chức năng phức tạp

• Nhiều vấn đề quản lý dự án đó không phù hợp để tự động hóa. Do đó, các
CASE Tool không thể được sử dụng trong những hoạt động như vậy.
Các hoạt động có thể được tự động hóa, cho dù một phần hoặc hoàn toàn,
phụ thuộc vào các CASE Tool được sử dụng. Hầu hết các CASE Tool tạo ra một mô
hình làm việc hoặc mẫu thử nghiệm, mà làm cho quá trình phát triển nhanh hơn và
dễ dàng hơn.
18
1.3.3 Các loại CASE Tool
Sau đây là các loại khác nhau của các CASE Tool:
• Kế hoạch và quản lý công cụ: Bắt đầu quá trình phát triển với thông tin quy
hoạch và quản lý dự án.
• Công cụ phân tích: Những công cụ này đảm bảo rằng các yêu cầu kinh
doanh một cách chính xác bắt trong giai đoạn phân tích sớm trong quá trình phát
triển. Công cụ phân tích được sử dụng để kiểm tra các thông số kỹ thuật không đầy
đủ, không phù hợp hoặc không chính xác.
• Thiết kế bộ công cụ: Nó cung cấp đặc điểm kỹ thuật chi tiết của hệ thống.
• Thông tin tích hợp: Nó tích hợp kỹ thuật hệ thống và kiểm tra chúng cho
phù hợp và đầy đủ . Nó cũng ghi lại trong kho CASE .
• Sinh mã: Nó sẽ tự động tạo ra mã cụ thể cho một ngôn ngữ dựa trên các
đặc điểm kỹ thuật của hệ thống.
• Cơ sở dữ liệu thiết kế bộ công cụ: Nó gợi ý thiết kế cơ sở dữ liệu và tạo ra
hệ thống thông tin điều khiển.
• Giao diện người dùng máy phát điện: Nó tạo ra giao diện người sử dụng
dựa trên đặc điểm kỹ thuật của hệ thống.
• Kết xuất bảo cáo: Nó tạo ra các báo cáo dựa trên đặc điểm kỹ thuật
19
Hình 2.1: Các thành phần của một CASE Tool điển hình
Tất cả các công cụ CASE được dựa trên nguyên mẫu là đặc biệt hữu ích khi
yêu cầu người sử dụng rất khó để xác định. Các hệ thống lớn sử dụng phương pháp
tiếp cận SDLC truyền thống nhưng một phần của hệ thống có thể là nguyên mẫu.

Các mẫu thử nghiệm sau đó liên tục tinh chế cho đến khi nó trở thành chấp nhận
được.
20
1.3.4 Phân loại CASE Tool
Hình 2.2: Các loại Case Tool.
Mặc dù các CASE Tool có thể được phân loại tùy thuộc vào các chức năng,
chúng có thể được phân loại thành năm danh mục chung chung:
• Phát triển các công cụ: Những công cụ này tương tác trong tự nhiên. Chúng
được sử dụng để hỗ trợ thiết kế và thế hệ mã.
• Công cụ front-end: Chúng hỗ trợ hoạt động earlyin vòng đời của một quá
trình phát triển phần mềm (lập kế hoạch, phân tích và thiết kế). Ví dụ như lưu lượng
dữ liệu sơ đồ, sơ đồ cấu trúc dữ liệu, sơ đồ ER, các công cụ tạo mẫu, vv
• Công cụ back-end: Chúng hỗ trợ các hoạt động sau này trong vòng đời của
một quá trình phát triển phần mềm ( Thực hiện và bảo trì). Ví dụ Sare chương trình
biểu đồ lưu lượng, chương trình soạn thảo, trình sửa lỗi, mã máy phát điện
• Các công cụ ngang: công cụ này là không cụ thể cho một bước chu kỳ cuộc
sống cụ thể nhưng phổ biến trên một số ví dụ như bước chu kỳ cuộc sống, Tài liệu
công cụ.
• Công cụ dọc: Những công cụ này là cụ thể cho một chu kỳ sống.
1.3.5 Kỹ thuật đảo ngược và chuyển tiếp
Chúng tôi sẽ thảo luận về hai khái niệm quan trọng liên quan đến các CASE
Tool cụ thể là, kỹ thuật chuyển tiếp và đảo ngược. Hình 2.3 mô tả cả hai kỹ thuật về
chuyển tiếp và đảo ngược.
Kỹ thuật đảo ngược là quá trình vui chơi giải trí của mô hình dựa trên mã hiện
tại. Trước tiên, các mã hiện tại được quét để tạo ra các mô hình. Sau đó, các mô
21
hình có thể được điều chỉnh phù hợp với yêu cầu. Kỹ thuật đảo ngược cho phép các
nhà phát triển để tạo ra mô hình cho các hệ thống cũ, mà chưa bao giờ được mô
hình. Nó phân tích phần mềm hiện có với mục đích của sự hiểu biết thiết kế và đặc
điểm kỹ thuật của nó. đảo ngược công cụ kỹ thuật đọc mã nguồn của chương trình

và tạo ra đại diện đồ họa và văn bản của thiết kế.
Kỹ thuật chuyển tiếp là quá trình thế hệ mã khung của các mô hình. Bước
đầu tiên là để tạo ra các mô hình cho một hệ thống, sau đó tạo ra các mã có liên
quan cho mô hình và sau đó cho phép sửa đổi của mã này trong điều chỉnh với các
yêu cầu. Kỹ thuật lại có nghĩa là “tái cơ cấu và viết lại hệ thống di sản hoặc một
phần của nó mà không cần thay đổi chức năng ban đầu của nó”. Nỗ lực tái cơ làm
cho phần mềm được cập nhật công nghệ hiện tại và do đó dễ duy trì. Hệ thống mới
này sẽ trở thành cơ cấu lại và các tài liệu lại. Kỹ thuật tái lập công cụ đọc mã nguồn
của chương trình và tương tác thay đổi và hệ thống hiện có để cải thiện hiệu suất
chất lượng hoặc bảo trì.
Hình 2.2: Kỹ thuật đảo ngược và chuyển tiếp
1.4 CASE TOOL TRỰC QUAN VÀ RÕ NÉT
Visual CASE Tool cho phép người sử dụng để nhanh chóng tạo ra các giao
diện người dùng và mã khung có liên quan.
1.4.1 Phát triển hệ thống truyền thống và phát triển các hệ
thống dựa trên Case
Sau đây là các tính năng của phát triển hệ thống truyền thống:
• Nhấn mạnh vào chương trình, kiểm tra và mã hóa tài liệu
22
• Thông số kỹ thuật được viết bởi các nhà phân tích và trên giấy
• Mã chương trình là thủ công và tẻ nhạt.
• Tài liệu được viết bởi các lập trình viên hoặc nhà phân tích và thường được
thực hiện sau khi hoàn thành quá trình
• Quá trình kiểm thử phần mềm theo phương pháp truyền thống
• Hướng dẫn sử dụng bảo trì của mã và tài liệu hướng dẫn.
Sau đây là các tính năng của phát triển hệ thống dựa trên CASE:
• Nhấn mạnh vào phân tích và thiết kế
• Tạo mẫu nhanh và tương tác của các mô hình
• Tự động sinh mã
• Kết xuất tài liệu tự động

• Tự động thiết kế kiểm tra
• Duy trì kỹ thuật thiết kế.
1.4.2 Môi trường CASE
Các thế hệ trước đó của các nhà phát triển công cụ CASE tập trung phần lớn
vào việc tự động hóa các nhiệm vụ riêng biệt của quá trình phát triển hệ thống,
chẳng hạn như sản xuất tài liệu, điều khiển phiên bản của mã nguồn, và hỗ trợ
phương pháp thiết kế. Cần tích hợp những công cụ này để hỗ trợ một môi trường
phát triển chung đã được cảm nhận để hỗ trợ các hoạt động có hiệu quả. Một CASE
điển hình môi trường bao gồm một số CASE Tool và các thành phần liên quan để hỗ
trợ hầu hết hoặc tất cả các giai đoạn của chu kỳ cuộc sống phát triển hệ thống hoạt
động trên một phần cứng phổ biến và nền tảng phần mềm. CASE môi trường là
không chỉ là một sự pha trộn ngẫu nhiên của CASE Tool, nó cung cấp tương tác phù
hợp giữa các CASE Tool. Người ta phải tập trung ít hơn thành phần nên được lựa
chọn, và nhiều hơn về việc làm thế nào các thành phần được lựa chọn có thể được
thực hiện để làm việc cùng nhau một cách hiệu quả. Hình 2.4 mô tả môi trường
CASE điển hình.
23

Hình 2.3: Môi trường CASE
Mấu chốt của các CASE Tool là hội nhập. Các công cụ có hiệu quả hơn nếu
chúng được tích hợp để làm việc cùng nhau. Tích hợp có thể tích hợp dữ liệu, giao
diện người dùng tích hợp hoặc tích hợp hoạt động.
Ví dụ về các CASE Tool trực quan
• Oracle 2000 Designer
• Evergreen EasyCase
• Aonix: Software Through Pictures
• Popkin System Architect
• Cadre Teamwork
• Cold Fusion
• Rational Rose

• Visual CASE
• Enterprise Architect.
Rational Rose là một trong các CASE Tool được sử dụng rộng rãi nhất bởi
cộng đồng phần mềm. Các đội chịu trách nhiệm về phát triển phần mềm đang tìm
kiếm mô hình bằng cách sử dụng các CASE Tool ngày càng trở nên quan trọng đối
với quá trình phát triển phần mềm. Phần mềm phát triển bằng cách sử dụng kỹ
thuật mô hình điều khiển như Rational Rose cung cấp một loạt các sản phẩm cho
phù hợp với các hoạt động khác nhau của quá trình phát triển phần mềm.
Mô hình UML: mô hình ngôn ngữ thống nhất, hoặc UML là chủ yếu là một
ngôn ngữ mô hình đồ họa được sử dụng để thể hiện các thiết kế. Nó là một ngôn
ngữ chuẩn, trong đó hiện vật và các thành phần của một hệ thống phần mềm có thể
được xác định. Điều quan trọng là phải hiểu rằng UML đơn giản mô tả một ký hiệu
và không phải là một quá trình. Nó không đưa ra một phương pháp duy nhất hoặc
quá trình thiết kế, mà đúng hơn là một công cụ tiêu chuẩn hóa có thể được sử dụng
trong một quá trình thiết kế.
Sau đây là một số trong những nhiệm vụ có thể được thực hiện bằng cách sử
dụng các CASE Tool:
• Mô hình hóa UML
24
• Hình thành, xây dựng code cho Visual C++, Visual Basic, C++, Ada, JAVA
• Thiết kế cơ sở dữ liệu
• Sinh mã hoàn chỉnh cho C, C++, v.v…
• Kiểm thử thành phần.
Một CASE Tool khác là Enterprise Architect ( Parx System). Đây là một CASE
đối tượng công cụ định hướng cho toàn chu kỳ phát triển phần mềm. Tính năng của
nó là:
• Mô hình hóa quy trình kinh doanh
• Kỹ thuật đảo ngược và chuyển tiếp
• Tự động hóa giao diện
• Hỗ trợ C + +, Java, VB, VB.Net, Delphi

• Công cụ ước lượng đánh giá dự án
• Công cụ kiểm thử
• Thiết kế giao diện người dùng
• Yêu cầu thu thập
• Mô hình hóa thành phần
• Triển khai mô hình
1.4.3 CASE Tool nổi
Ban đầu các CASE Tool không mấy tinh vi về quá trình họ hỗ trợ. Giờ đây,
CASE Tool tích hợp đã xuất hiện để hỗ trợ các gam màu toàn bộ hệ thống kỹ thuật
và quá trình phát triển phần mềm.
CASE tích hợp ( I- CASE )
• Nó cung cấp môi trường phát triển hệ thống tự động cung cấp rất nhiều
công cụ để tạo ra các sơ đồ, biểu mẫu và báo cáo.
• Tất cả các công cụ chia sẻ một giao diện người dùng thông thường.
• Người dùng có cảm giác làm việc trên một trong những công cụ.
• Cung cấp phân tích, báo cáo và các thiết bị thế hệ mã.
• Liền mạch cổ phiếu và tích hợp dữ liệu khác giữa các công cụ.
25

×