Hay nếu tuần tự các bước giai đoạn để thực hiện phân tích thiết kế hệ thống hướng đối tượng

LỜI CẢM ƠN Trước hết em xin bày tỏ tình cảm và lòng biết ơn đối với Th.S Nguyễn Thị Thanh Thoan – Bộ môn Công nghệ thông tin – Trường Đại học Dân Lập Hải Phòng, người đã dành cho em rất nhiều thời gian quý báu, trực tiếp hướng dẫn tận tình giúp đỡ, chỉ bảo em trong suốt quá trình làm luận văn tốt nghiệp. Em xin chân thành cảm ơn tất cả các thầy cô giáo trong Bộ môn Công nghệ thông tin - Trường ĐHDL Hải Phòng, chân thành cảm ơn các thầy giáo, cô giáo tham gia giảng dạy và truyền đạt những kiến thức quý báu trong suốt thời gian em học tập tại trường, đã đọc và phản biện luận văn của em giúp em hiểu rõ hơn các vấn đề mình nghiên cứu, để em có thể hoàn thành luận văn này. Em xin cảm ơn GS.TS.NGƯT Trần Hữu Nghị Hiệu trưởng Trường Đại học Dân lập Hải Phòng, Ban giám hiệu nhà trường, Bộ môn tin học, các Phòng ban nhà trường đã tạo điều kiện tốt nhất trong suốt thời gian học tập và làm tốt nghiệp. Tuy có nhiều cố gắng trong quá trình học tập, trong thời gian thực tập cũng như trong quá trình làm luận văn nhưng không thể tránh khỏi những thiếu sót, em rất mong được sự góp ý quý báu của tất cả các thầy giáo, cô giáo cũng như tất cả các bạn để kết quả của em được hoàn thiện hơn. Em xin chân thành cảm ơn! Hải Phòng, ngày 6 tháng 7 năm 2010 Sinh viên Trần Thị Kiều Dung_Lớp CT1001 1 MỤC LỤC ........................................................... 5 ..… ............. …..5 .….… .......... …..5 c…… .............................. .5 ..…………… .......... …6 ……………….…………………………...…… .............. ..6 ..... .6 8 1.2.2.4 ..... .8 1.3. .................................................. 9 ............................................................................. 9 ................................................................. 9 ................................................................................................... 9 ........................................................................... 9 .................. 11 ........................... 13 .......................... .13 ................................................................................................... 14 ........................................................................... 14 ................................................................ 15 ............................................................................ 15 ............................................................. 15 ......................................................................... 15 .................................................................................. 15 ........................................................................ 15 ......................................................................... 17 ..................................................................... 17 ............................................................................. 17 ................................................................................... 17 ................................................................... 18 6.0 ............................................................................. 19 6.0 ............................................... 19 ................................................. 20 Trần Thị Kiều Dung_Lớp CT1001 2 ................................................................................................... 22 .......................................................................... 22 ..................................................................................... 22 ............................................................... 23 ......................................................................... 23 ........................................................... 23 L Sever 2000 ............................ 23 ........................ 25 ................................................................................................. 25 2.1.1. .......................................................................................... 25 ......................................................................................... 26 ........................................................................................ 27 .......................................................................................... 29 2.2.1. Sơ .............. …29 .................. 32 .............................. ..39 ...................................... ….39 .................... …..42 ........................................ .42 ............................... ….42 2.3.2. ........ .43 2.3.3. ............ …44 2.3.4. ..... ……45 2.3.4.1. ..... …..45 2.3.4.2. ...... ….47 2.3.4.2.1 ......... ….48 2.3.4.2.2 ......... …49 2.3.4.3. ...... ….51 ……………… ................. .53 ......................... 53 ...................... .53 .............................. …...54 .................................. ……55 3.1.4. ...................... ……56 ................... ..57 Trần Thị Kiều Dung_Lớp CT1001 3 ...................... …58 .................. …...59 3.2.1. Goi ca .................. ……59 3.2.1.1. ...... …59 . ….60 lương”………………… ...... …61 .............. ..62 .............. ..63 .............. .63 3. ...... …..64 â .. ...65 ...... ….66 .............. ….66 .............. ...66 .67 ........ 68 ...... ..69 ……………………… ... …..70 ”……………… ......... ….70 .............. …….71 .............. …72 .............. ..73 4.5 .......... …74 …………… .... ……77 5.1. ………………………………… .............................................. ...77 .............................. ...77 ........................................ ...77 ………………………………… .......................... ...78 ..................................... ...78 5.2.2. Mô h .............................. ...79 5.3 ........... ...80 5.4 ............... …80 5.5. ………………………………….......................... .81 5.5.1 ……………………………… ................................... ….81 5.5 ........................... ….81 Trần Thị Kiều Dung_Lớp CT1001 4 5.5 ............................................ ….82 5.5.4 ……………………………… ............................................. ….82 5.6 ……………………………… .................................. ….83 5.6.1. .............. ….83 5.6 ....................... ….83 5.7. Giao d ..................................... ….84 …………………………………………………………… ............. ..85 ………………………………………… ............... …86 Trần Thị Kiều Dung_Lớp CT1001 5 CHƢƠNG 1 CƠ SỞ LÝ THUYẾT 1.1. Khái niệm phân tích thiết kế hệ thống thông tin Hệ thống là tập hợp các phần tử có quan hệ qua lại với nhau cùng hoạt động hướng đến một mục tiêu chung thông qua việc tiếp nhận các đầu vào và sản xuất các đầu ra nhờ một quá trình chuyển đổi được tổ chức. Hệ thống thông tin là một tập hợp gồm nhiều thành phần mà mối liên hệ giữa các thành phần này cũng như liên hệ giữa chúng với các hệ thống khác là liên hệ thông tin với nhau. Phân tích và thiết kế hệ thống thông tin là phương pháp được sử dụng để tạo ra và duy trì hệ thống thông tin nhằm thực hiện các chức năng cơ bản như lưu trữ và xử lý các thông tin, dữ liệu. Mục tiêu chính của phân tích thiết kế hệ thống là cải tiến hệ thống cấu trúc, điển hình là qua ứng dụng phần mềm, có thể giúp đỡ các nhân viên hoàn tất các công việc chính của doanh nghiệp được dễ dàng và hiệu quả hơn. Phân tích thiết kế hệ thống thông tin được dựa trên : Sự hiểu biết về các mục tiêu, các cấu trúc và các quy trình của tổ chức. Kiến thức để triển khai công nghệ thông tin nhằm mang lại lợi ích cho doanh nghiệp Phân tích thiết kế hệ thống thông tin là phương pháp luận để xây dựng và phát triển hệ thống thông tin bao gồm các lí thuyết, mô hình, phương pháp và các công cụ sử dụng trong quá trình phân tích và thiết kế hệ thống. 1.2. Các phƣơng pháp phân tích thiết kế hệ thống thông tin 1.2.1. Phƣơng pháp phân tích thiết kế hƣớng cấu trúc (SATD-Structured Analysis and Design Technique) Phương pháp này xuất phát từ Mỹ, ý tưởng cơ bản là Phân rã một hệ thống lớn thành các hệ thống con đơn giản. SADT được xây dựng dựa trên 7 nguyên lý: Sử dụng một mô hình Phân tích kiểu Top-down Dùng một mô hình chức năng và một mô hình quan niệm (còn được gọi Trần Thị Kiều Dung_Lớp CT1001 6 là “mô hình thiết kế”) để mô tả hệ thống Thể hiện tính đối ngẫu của hệ thống Sử dụng các biểu diễn dưới dạng đồ hoạ Phối hợp các hoạt động của nhóm Ưu tiên tuyệt đối cho hồ sơ viết. Công cụ để phân tích: Sử dụng sơ đồ chức năng công việc BFD (Business Function Diagram) và lưu đồ luồng dữ liệu DFD (Data Flow Diagram) Mô hình dữ liệu (Data Modes) Ngôn ngữ có cấu trúc SL (Structured Language) Từ điển dữ liệu (Data Dictionary) Bảng và cây quyết định (Warnier/orr) Đặc tả các tiến trình (Process Specification). Phương pháp phân tích thiết kế SADT có ưu điểm là dựa vào nguyên lý phân tích có cấu trúc, thiết kế theo lối phân cấp, bảo đảm từ một dữ liệu vào sản xuất nhiều dữ liệu ra. Nhược điểm này là không bao gồm toàn bộ các tiến trình phân tích do đó có thể đưa đến tình trạng trùng lặp thông tin. 1.2.2. Phƣơng pháp phân tích thiết kế hƣớng đối tƣợng 1.2.2.1 Ý tƣởng Ý tưởng cơ bản của việc tiếp cận hướng đối tượng là phát triển một hệ thống bao gồm các đối tượng độc lập tương đối với nhau. Mỗi đối tượng bao hàm trong nó cả dữ liệu và các xử lý tiến hành trên các dữ liệu này được gọi là bao gói thông tin. Ví dụ khi đã xây dựng một số đối tượng căn bản trong thế giới máy tính thì ta có thể chắp chúng lại với nhau để tạo ứng dụng của mình. 1.2.2.2 Ƣu điểm của mô hình hƣớng đối tƣợng. Đối tượng độc lập tương đối: che dấu thông tin, việc sửa đổi một đối tượng không gây ảnh hưởng lan truyền sang đối tượng khác. Những đối tượng trao đổi thông tin được với nhau bằng cách truyền thông điệp làm cho việc liên kết giữa các đối tượng lỏng lẻo, có thể ghép nối tùy ý, dễ dàng bảo trì, nâng cấp, đảm bảo cho việc mô tả các giao diện giữa các đơn thể bên Trần Thị Kiều Dung_Lớp CT1001 7 trong hệ thống được dễ dàng hơn. Việc phân tích và thiết kế theo cách phân bài toán thành các đối tượng là hướng tới lời giải của thế giới thực. Các đối tượng có thể sử dụng lại được do tính kế thừa của đối tượng cho phép xác định các modul và sử dụng ngay sau khi chúng chưa thực hiện đầy đủ các chức năng và sau đó mở rộng các đơn thể đó mà không ảnh hưởng tới các đơn thể đã có. Hệ thống hướng đối tượng dễ dàng được mở rộng thành các hệ thống lớn nhờ tương tác thông qua việc nhận và gửi các thông báo. Xây dựng hệ thống thành các thành phần khác nhau. Mỗi thành phần được xây dựng độc lập và sau đó ghép chúng lại với nhau đảm bảo được có đầy đủ các thông tin giao dịch. Việc phát triển và bảo trì hệ thống đơn giản hơn rất nhiều do có sự phân hoạch rõ ràng, là kết quả của việc bao gói thông tin và sự kết nối giữa các đối tượng thông qua giao diện, việc sử dụng lại các thành phần đảm bảo độ tin cậy cao của hệ thống. Cho phép áp dụng các phương pháp phát triển mà gắn các bước phát triển , thiết kế và cài đặt trong quá trình phát triển phần mềm trong một giai đoạn ngắn. Quá trình phát triển phần mềm đồng thời là quá trình cộng tác của khách hàng / người dùng nhà phân tích, nhà thiết kế, nhà phát triển, chuyên gia lĩnh vực, chuyên gia kỹ thuật…nên lối tiếp cận này khiến cho việc giao tiếp giữa họ với nhau được dễ dàng hơn. Một trong những ưu điểm quan trọng bậc nhất của phương pháp phân tích và thiết kế hướng đối tượng là tính tái sử dụng: bạn có thể tạo các thành phần (đối tượng) một lần và dùng chúng nhiều lần sau đó. Vì các đối tượng đã được thử nghiệm kỹ càng trong lần dùng trước đó, nên khả năng tái sử dụng đối tượng có tác dụng giảm thiểu lỗi và các khó khăn trong việc bảo trì, giúp tăng tốc độ thiết kế và phát triển phần mềm. Phương pháp hướng đối tượng giúp chúng ta xử lý các vấn đề phức tạp trong phát triển phần mềm và tạo ra các thế hệ phần mềm có quy mô lớn, có khả Trần Thị Kiều Dung_Lớp CT1001 8 năng thích ứng và bền chắc. 1.2.2.3 Các giai đoạn của chu trình phát triển phần mềm hƣớng đối tƣợng. a.Phân tích hướng đối tượng (Object Oriented Analynis – OOA) Là giai đoạn phát triển một mô hình chính xác và súc tích của vấn đề, có thành phần là các đối ngjvaf khái niệm đời thực, dễ hiểu đối với người sử dụng. b.Thiết kế hướng đối tượng (Object Oriented Design –OOD) Là giai đoạn tổ chức chương trình thành các tập hợp đối tượng cộng tác với nhau, mỗi đối tượng trong đó là một lớp. Các lớp là thành viên tạo thành một cây cấu trúc với mối quan hệ thừa kế hay tương tác bằng thông báo. c.Lập trình hướng đối tượng (Object Oriented Programming –OOP) Giai đoạn xây dựng phần mềm có thể được thực hiện sử dụng kỹ thuật lập trình hướng đối tượng. Đó là phương thức thực hiện việc chuyển các thiết kế hướng đối tượng thành chương trình bằng việc sử dụng một ngôn ngữ lập trình có hỗ trợ các tính năng có thể chậy được, nó chỉ được đưa vào sử dụng sau khi đã trải qua nhiều vòng quay của nhiều bước thử nghiệm khác nhau. 1.2.2.4 Những vấn đề đặt ra trong phân tích thiết kế hƣớng đối tƣợng Đặc điểm của phân tích và thiết kế hướng đối tượng là nhìn nhận hệ thống như một tập các đối tượng tương tác với nhau để tạo ra một hành động cho một kết quả ở mức cao hơn. Để thực hiện được điều này người ta phải sử dụng hệ thống mô hình các đối tượng với các đặc trưng cơ bản sau: - Tính trừu tượng hóa cao. - Tính bao gói thông tin. - Tính modul hóa. - Tính kế thừa. Ngày nay, UML là một công cụ được thiết kế có tất cả những tính chất và điều kiện giúp chúng ta xây dựng được các mô hình đối tượng có được bốn đặc trưng trên. Quá trình phát triển gồm nhiều bước lặp mà một bước lặp bao gồm; xác định yêu cầu của hệ thống, phân tích, thiết kế, triển khai và kiểm thử. Trần Thị Kiều Dung_Lớp CT1001 9 1.3. Phân tích thiết kế hƣớng đối tƣợng với UML. Phân tích thiết kế một hệ thống theo phương pháp hướng đối tượng sử dụng công cụ UML bao gồm các giai đoạn sau: 1.3.1.Lập mô hình nghiệp vụ Để có thể nắm được yêu cầu hệ thống, trước hết ta phải hiểu và nắm được hệ thống nghiệp vụ. Việc mô tả các yêu cầu của hệ thống nghiệp vụ đủ tốt là rất cần thiết, để ta hiểu đúng và đầy đủ về hệ thống mà ta cần tin học hóa về mặt nghiệp vụ. Muốn vậy, trước hết phải xác định chức năng, phạm vi hệ thống thực hiện và chỉ ra mối quan hệ của chúng với môi trường. Tiếp theo tìm các ca sử dụng nghiệp vụ từ các chức năng của hệ thống mà qua đó con nghười và các hệ thống khách sử dụng chúng. 1.3.2.Xác định yêu cầu của hệ thống Nhiệm vụ chính trong xác định yêu cầu là phát triển một mô hình của hệ thống cần xây dựng bằng cách dùng các ca sử dụng. Để mô tả các yêu cầu nghiệp vụ đưới góc độ phát triển phần mềm cần tìm các tác nhân và các ca sử dụng để chuẩn bị một phiên bản đầu tiên của mô hình ca sử dụng. 1.3.3. Phân tích Nhiệm vụ đó là cần phân tích mô hình ca sử dụng bằng cách tìm ra cách tổ chức các thành phần bên trong của hệ thống để thực hiện mỗi ca sử dụng. Bao gồm các hoạt động: - Phân tích kiến trúc hệ thống. - Phân tích một ca sử dụng. - Phân tích một lớp. - Phân tích một gói. 1.3.3.1.Phân tích kiến trúc Mục đích của phân tích kiến trúc là phác hoạ những nét lớn của mô hình phân tích thông qua việc xác định các gói phân tích, các lớp phân tích hiển nhiên, và các yêu cầu chuyên biệt chung. a. Xác định các gói phân tích Để xác định các gói phân tích, trước hết bố trí phần lớn các ca sử dụng vào Trần Thị Kiều Dung_Lớp CT1001 10 các gói riêng, sau đó tiến hành thực thi chức năng tương ứng bên trong gói đó. Khi xác định các gói phân tích có thể dựa trên các tiêu chí sau: – Các ca sử dụng cần có để hỗ trợ một quá trình nghiệp vụ cụ thể. – Các ca sử dụng cần có để hỗ trợ một tác nhân cụ thể của hệ thống. – Các ca sử dụng có quan hệ với nhau bằng các quan hệ tổng quát hoá, mở rộng và bao gồm. b. Xử lý phần chung của các gói phân tích Trong nhiều trường hợp ta có thể tìm thấy các phần chung trong các gói phân tích. Khi đó, đặt phần chung này vào một gói riêng nằm ngoài các gói chứa nó, sau đó để các gói khác có liên quan phụ thuộc vào gói mới chứa lớp chung này. Những lớp được chia sẻ có các phần chung như vậy thường là các lớp thực thể. Chúng có thể được tìm thấy bằng cách lần vết tới các lớp thực thể miền hoặc nghiệp vụ. c. Xác định các gói dịch vụ Gói dịch vụ dùng để mô tả các gói phân tích được sử dụng ở một mức thấp hơn trong sơ đồ phân cấp cấu trúc các gói của hệ thống. Một gói dịch vụ có thể có các tính chất sau: – Chứa một tập hợp các lớp có liên quan với nhau về mặt chức năng. – Không thể chia nhỏ hơn. – Có thể tham gia vào một hay nhiều thực thi ca sử dụng.. – Phụ thuộc rất ít vào các gói dịch vụ khác. – Các chức năng nó cung cấp có thể được quản lý như một đơn vị riêng biệt. d. Xác định các mối quan hệ phụ thuộc giữa các gói Mục tiêu là tìm ra các gói phân tích tương đối độc lập với các gói khác, tức là chúng được ghép nối lỏng lẻo với nhau nhưng có tính kết dính cao bên trong. e. Xác định các lớp thực thể hiển nhiên Ta có thể xác định các lớp thực thể quan trọng nhất dựa trên các lớp miền hoặc các thực thể nghiệp vụ đã được xác định trong quá trình nắm bắt các yêu cầu. Mỗi lớp thực thể này có thể đưa vào một gói riêng. f. Xác định các yêu cầu đặc biệt chung Trần Thị Kiều Dung_Lớp CT1001 11 Một yêu cầu đặc biệt là một yêu cầu nảy sinh ra trong quá trình phân tích và việc nắm bắt nó là quan trọng. Các yêu cầu kiểu này có thể là: Tính lâu bền (cần lưu trữ), sự phân bố và tính tương tranh, các điểm đặc trưng về an toàn, dung sai về lỗi, quản lý giao dịch… 1.3.3.2. Phân tích một ca sử dụng Việc phân tích một ca sử dụng bao gồm: a.Xác định các lớp phân tích Lớp phân tích thể hiện một sự trừu tượng của một hoặc nhiều lớp và/hoặc hệ thống con. Có ba kiểu lớp phân tích cơ bản sau: lớp biên, lớp điều khiển và lớp thực thể. Hình 1.1: Các lớp phân tích Lớp biên (boundary class) được sử dụng để mô hình hóa sự tương tác giữa hệ thống và các tác nhân của nó. Lớp thực thể (entity class) được dùng để mô hình hóa các thông tin tồn tại lâu dài và có thể được lưu trữ. Nó thường thể hiện các cấu trúc dữ liệu lôgic và góp phần làm rõ về các thông tin mà hệ thống phải thao tác trên chúng. Lớp điều khiển (control class) thể hiện sự phối hợp, sắp xếp trình tự, các giao dịch, sự điều khiển của các đối tượng và thường được sử dụng để gói lại các điều khiển liên quan đến một ca sử dụng cụ thể. Các khía cạnh động của hệ thống được mô hình hóa qua các lớp điều khiển. b. Mô tả các tương tác giữa các đối tượng phân tích Cách thức mà các đối tượng phân tích tương tác với nhau là hành vi của hệ thống. Hành vi của hệ thống là một bản mô tả những việc hệ thống làm. Mô tả hành vi của hệ thống được tiến hành bằng cách sử dụng các biểu đồ cộng tác (hay tuần tự), chúng chứa các thể hiện của tác nhân tham gia, các đối tượng phân tích, và các mối liên kết giữa chúng. Trần Thị Kiều Dung_Lớp CT1001 12 c. Mô tả luồng các sự kiện phân tích Bên cạnh các biểu đồ, đặc biệt là biểu đồ cộng tác, ta cần bổ sung thêm các mô tả bằng văn bản để các biểu đồ trở nên dễ hiểu và dễ dùng hơn d. Nắm bắt các yêu cầu đặc biệt Ta cần nắm bắt các yêu cầu (phi chức năng) cần cho việc thực thi một ca sử dụng mà đã được xác định trong phân tích nhưng phải được xử lý trong thiết kế và thực thi. 1.3.3.3. Phân tích một lớp a. Xác định trách nhiệm của lớp Xác định và duy trì các trách nhiệm của một lớp phân tích dựa trên vai trò của nó trong các thực thi ca sử dụng. b. Xác định các thuộc tính Một thuộc tính đặc tả một tính chất của một lớp phân tích và nó thường được gợi ý và đòi hỏi các trách nhiệm của lớp. Tên của thuộc tính phải là một danh từ. c. Xác định các liên kết và các kết hợp Số lượng các mối quan hệ giữa các lớp phải được tối thiểu hoá. Đó là các mối quan hệ cần phải tồn tại để đáp ứng lại các đòi hỏi từ các thực thi ca sử dụng khác nhau. Số lượng các đối tượng của hai lớp tham gia vào liên kết cũng rất quan trọng. Ngoài ra, hai lớp có thể có nhiều mối liên kết. Ngược lại, một lớp có thể liên kết với nhiều lớp khác nhau. d. Xác định các lớp tổng quát hoá Các tổng quát hoá được dùng trong quá trình phân tích để biểu diễn hành vi chia sẻ và hành vi chung của các lớp phân tích khác nhau. Các lớp tổng quát hoá phải được giữ ở một mức cao và có tính khái niệm, chúng làm cho mô hình phân tích dễ hiểu hơn. e. Nắm bắt các yêu cầu đặc biệt của lớp phân tích Khi nắm bắt các yêu cầu này, nên tham khảo bất kỳ các yêu cầu đặc biệt chung nào đã được nhà kiến trúc xác định, nếu có thể. Trần Thị Kiều Dung_Lớp CT1001 13 1.3.3.4. Phân tích một gói Mục đích của việc phân tích một gói nhằm: – Đảm bảo gói phân tích càng độc lập đối với các gói khác nếu có thể. – Đảm bảo gói phân tích hoàn thành mục đích của nó là thực thi những lớp miền hoặc các ca sử dụng nào đó. – Mô tả các mối quan hệ phụ thuộc sao cho có thể ước tính được hiệu ứng của các thay đổi sau này. Một số nguyên tắc chung phân tích một gói: – Xác định và duy trì các mối quan hệ phụ thuộc giữa hai gói có chứa các lớp liên kết với nhau. – Mỗi gói chứa các lớp đúng. – Hạn chế tối đa các mối quan hệ phụ thuộc tới các gói khác bằng cách bố trí các lớp chứa trong một gói sang gói khác nếu nó quá phụ thuộc vào các gói khác. 1.3.4.Thiết kế Đầu vào của thiết kế là mô hình phân tích. Khi thiết kế ta sẽ cố gắng bảo tồn càng nhiều càng tốt cấu trúc của hệ thống được định hình từ mô hình phân tích. Thiết kế bao gồm các hoạt động sau: - Thiết kế kiến trúc. - Thiết kế một ca sử dụng. - Thiết kế một lớp. - Thiết kế một hệ thống con. Mô hình thiết kế là một mô hình đối tượng mô tả sự thực thi các ca sử dụng. 1.3.4.1. Thiết kế kiến trúc Mục đích của thiết kế kiến trúc là phác hoạ các mô hình thiết kế và sự bố trí của chúng bằng cách xác định: – Các nút và các cấu hình mạng của hệ thống. – Các hệ thống con và các giao diện của chúng. – Các lớp thiết kế quan trọng về mặt kiến trúc. – Các cơ chế thiết kế chung để xử lý các yêu cầu chung Trần Thị Kiều Dung_Lớp CT1001 14 1.3.4.2. Thiết kế một ca sử dụng a. Xác định các lớp thiết kế tham gia thực thi ca sử dụng Xác định các lớp thiết kế và hoặc các hệ thống con mà các thể hiện của chúng là cần thiết để thực hiện luồng các sự kiện của ca sử dụng đó. b. Mô tả các tương tác giữa các đối tượng thiết kế Khi chúng ta đã có một phác thảo về các lớp thiết kế cần thiết để thực thi ca sử dụng, ta cần phải mô tả cách thức mà các đối tượng thiết kế tương tác với nhau, bằng cách sử dụng các biểu đồ tuần tự chứa các thể hiện của tác nhân tham gia, các đối tượng thiết kế và sự truyền thông báo giữa chúng. Biểu đồ tuần tự của một ca sử dụng mô tả theo thứ tự các sự kiện được phát sinh bởi các tác nhân ngoài và các sự kiện bên trong hệ thống. c. Mô tả tương tác giữa các hệ thống con Việc mô tả này được tiến hành bằng cách sử dụng các biểu đồ tuần tự chứa các thể hiện của tác nhân tham gia, các hệ thống con, và những sự truyền thông báo giữa chúng . Một mô tả như vậy trở nên khái quát hơn, đơn giản hơn và cho một khung nhìn kiến trúc thực thi ca sử dụng thiết kế rỗ ràng hơn. e. Nắm bắt các yêu cầu triển khai Nắm bắt các yêu cầu triển khai và thể hiện mọi yêu cầu thực thi một ca sử dụng để thể hiện vào lớp thiết kế. 1.3.4.3. Thiết kế một lớp Mục tiêu của việc thiết kế một lớp là tạo ra một lớp thiết kế sao cho hoàn thành vai trò của nó trong các thực thi ca sử dụng và các yêu cầu phi chức năng được áp dụng cho nó. Công việc này bao gồm việc bảo trì chính bản thân lớp thiết kế cùng các mặt sau đây của nó: – Các tác vụ. – Các thuộc tính. – Các mối quan hệ mà nó tham gia vào . – Các phương pháp của nó (các phương pháp thực hiện các thao tác của nó). – Các trạng thái được áp đặt cho nó. – Các mối quan hệ phụ thuộc của nó với bất kỳ các cơ chế thiết kế chung nào. – Các yêu cầu thích hợp cho việc thực thi của nó. Trần Thị Kiều Dung_Lớp CT1001 15 – Sự thực thi đúng đắn của bất kỳ giao diện nào mà nó được yêu cầu cung cấp. 1.3.4.4. Thiết kế một hệ thống con a. Duy trì các mối quan hệ phụ thuộc của hệ thống con Các mối quan hệ phụ thuộc phải được xác định và duy trì từ hệ thống con này tới các hệ thống con khác có chứa các phần tử được liên kết với nó.Nên tối thiểu hoá các phụ thuộc vào các hệ thống con và hoặc các giao diện bằng việc bố trí lại các lớp được chứa mà không quá phụ thuộc vào các hệ thống con khác. b. Duy trì các giao diện được cung cấp bởi hệ thống Các thao tác được xác định qua các giao diện được cung cấp bởi một hệ thống con cần phải hỗ trợ mọi vai trò mà hệ thống con này đóng góp trong thực thi các ca sử dụng khác nhau. c. Duy trì các nội dung của các hệ thống con Duy trì các nội dung của các hệ thống con nhằm mục tiêu đảm bảo rằng hệ thống con thực thi đúng các thao tác đã được xác định bởi các giao diện mà nó cung cấp. 1.4. Mô hình khái niệm của UML: Ba khối chính tạo nên UML: các khối xây dựng cơ bản, các quy tắc ngữ nghĩa và một số cơ chế chung được áp dụng cho việc mô hình hoá. 1.4.1. Các khối xây dựng: (building blocks) 1.4.1.1. Các sự vật cấu trúc (Structural things) a.Lớp (class) Một lớp mô tả một nhóm đối tượng có chung các thuộc tính, các tác vụ, các mối quan hệ và ngữ nghĩa. Một lớp có trách nhiệm thực hiện một hay nhiều giao diện. Một lớp được biểu diễn bằng một hình chữ nhật bên trong có tên, các thuộc tính và tác vụ. Hình 1.3: Lớp Hình 1.4: Giao diện Trần Thị Kiều Dung_Lớp CT1001 16 b.Giao diện (interface) Một giao diện là một tập hợp các tác vụ đặc tả một dich vụ của một lớp hoặc một thành phần. c.Sự cộng tác (collaboration) Sự cộng tác xác định các hoạt động bên trong hệ thống và là một bộ các nguyên tắc và các phần tử khác nhau cùng làm việc để cung cấp một hành vi hợp tác lớn hơn tổng hành vi của tất cả các phần tử. Một sự cộng tác được kí hiệu bằng một hình elip với đường đứt nét và thường chỉ gồm có tên. Hình 1.5: Sự cộng tác Hình 1.6: Ca sử dụng d.Ca sử dụng (use case) Một ca sử dụng mô tả một tập hợp các dãy hành động mà hệ thống thực hiện để cho kết quả có thể quan sát được có giá trị đối với một tác nhân. Một ca sử dụng được kí hiệu bằng hình elip nét liền, thường chỉ có tên. e.Thành phần (component) Thành phần là một bộ phận vật lý có thể thay thế được của một hệ thống được làm phù hợp với những điều kiện cụ thể và cung cấp phương tiện thực hiện một tập các giao diện. Một thành phần biểu diễn một gói vật lý các phần tử logic khác nhau như các lớp, các giao diện và sự cộng tác. Một thành phần được kí hiệu bằng một hình chữ nhật với các bảng và thường chỉ có tên. Hình 1.7: Thành phần Hình 1.8: Lớp hoạt động f.Lớp hoạt động (active class) Lớp hoạt động là một lớp mà các đối tượng của nó sở hữu một hay một số tiến trình hoặc các dãy thao tác. Bởi vậy nó có thể khởi động hoạt động điều Trần Thị Kiều Dung_Lớp CT1001 17 khiển. Một lớp hoạt động được kí hiệu như một lớp nhưng có đường viền đậm. g.Nút (node) Một nút là một phần tử vật lý tồn tại trong thời gian thực và biểu diễn một nguồn lực tính toán, thường có ít nhất bộ nhớ và khả năng xử lý. Một nút kí hiệu bằng một hình hộp gồm tên của nó. 1.4.1.2. Các sự vật hành vi (behavioral things) Sự vật hành vi là những bộ phận động của các mô hình UML mô tả hành vi của hệ thống theo thời gian và không gian. Có hai loại hành vi sơ cấp của sự vật: a. Sự tương tác (interaction) Sự tương tác là một hành vi bao gồm một tập các thông báo được trao đổi giữa một tập các đối tượng trong một khung cảnh cụ thể nhằm thực hiện một mục tiêu xác định. Một thông báo được kí hiệu bằng một đường thẳng có hướng, gồm tên của tác vụ. Hình 1.9: Sự tương tác Hình 1.10: Trạng thái b. Máy trạng thái (state machine) Một máy trạng thái gồm một số các phần tử biểu diễn các trạng thái, các chuyển dịch, các sự kiện. Một trạng thái được kí hiệu bằng một hình chữ nhật góc tròn trong đó có tên trạng thái và các trạng thái con của nó (nếu có). 1.4.1.3. Các sự vật nhóm gộp (grouping things) Sự vật nhóm gộp duy nhất là gói. Gói là công cụ để tổ chức các thành phần của một mô hình thành các nhóm: Một mô hình có thể được phân chia vào trong các gói. Một gói đơn thuần là một khái niệm. Một gói được kí hiệu như một bảng có tên (có thể có nội dung của nó). 1.4.1.4. Sự vật giải thích (annontional thing) Sự vật giải thích là phần giải thích của mô hình UML. Nó dùng để mô tả, giải thích và đánh dấu một phần tử bất kì trong một mô hình. Nó được kí hiệu bằng một hình chữ nhật có góc gấp cùng với lời bình luận hay đồ thị bên trong. 1.4.2. Các quan hệ (relationships) a. Sự phụ thuộc (dependency) Chờ Trần Thị Kiều Dung_Lớp CT1001 18 Sự phụ thuộc là một mối quan hệ ngữ nghĩa giữa hai sự vật, trong đó sự thay đổi của một sự vật có thể tác động đến ngữ nghĩa của một sự vật khác. Sự phụ thuộc được kí hiệu bằng một đường nét đứt, có thể có hướng hay có nhãn. Hình 1.11: Sự phụ thuộc Hình 1.12: Sự kết hợp b. Sự kết hợp (association) Sự kết hợp là một mối quan hệ cấu trúc mô tả một tập hợp các mối liên kết giữa một số đối tượng. Được kí hiệu bằng đường nét liền, có thể có hướng bao gồm nhãn và thường chứa các bài trí khác nhau giải thích vai trò của đối tượng tham gia vào liên kết và các bản số của chúng. c. Tổng quát hóa (generalization) Tổng quát hóa là quan hệ tổng quát hóa hay cá biệt hóa trong đó các đối tượng của phần tử cá biệt hóa (con) có thể thay thế được các đối tượng của phần tử tổng quát hóa (cha). Kí hiệu bằng đường nét liền với mũi tên rỗng chỉ về phía cha. Hình 1.13: Tổng quát hóa Hình 1.14: Sự thực hiện d. Sự thực hiện (realization) Sự thực hiện là một mối quan hệ ngữ nghĩa giữa các phân lớp, trong đó xác định một hợp đồng sao cho những phân lớp khác nhau đảm nhận những trách nhiệm khác nhau. Mối quan hệ thực hiện được đưa vào hai vị trí: giữa các giao diện và các lớp hoặc các thành phần thực hiện nó. Một mối quan hệ thực hiện được xem như mối quan hệ nằm giữa mối quan hệ tổng quát và mối quan hệ phụ thuộc, được kí hiệu bằng đường nét đứt có mũi tên trống. 1.5. Giới thiệu công cụ Rational Rose Rational Rose là bộ công cụ sử dụng phát triển các hệ phần mềm hướng đối tượng theo ngôn ngữ mô hình hóa UML. Với chức năng của bộ công cụ trực quan, Rational Rose cho phép chúng ta tạo, quan sát, sửa đổi và quản lý các biểu đồ. Tập ký hiệu Rational Rose cung cấp thống nhất với các ký hiệu trong UML. Rational Rose giúp ta mô hình hoá hệ thống khi viết mã chương trình, đảm Trần Thị Kiều Dung_Lớp CT1001 19 bảo tính đúng đắn, hợp lý của kiến trúc hệ thống từ khi khởi đầu dự án. Ngoài ra, Rational Rose còn cung cấp chức năng hỗ trợ quản lý dự án phát triển phần mềm, cung cấp các thư viện hỗ trợ sinh khung mã cho hệ thống theo một ngôn ngữ lập trình nào đó. 1.6. Ngôn ngữ Visual Basic 6.0 1.6.1.Giới thiệu về ngôn ngữ Visual basic 6.0 Ngay từ khi mới ra đời, Visual basic được coi như là một đột phá làm thay đổi đáng kể nhận thức và sử dụng Windows. Hiện nay VB đã trở thành ngôn ngữ lập trình phổ biến nhất hiện nay. Đây là công cụ mạnh để phát triển ứng dụng trên nền Windows. Thành phần “Visual” đã nói đến các phương thức dùng để tạo giao diện người dùng đồ họa ( GUI- Graphic User Interface). Thay vì phải viết những dòng mã lệnh để mô tả sự xuất hiện và vị trí của những thành phần giao diện, ta chỉ cần thêm vào các đối tượng đã được định nghĩa trước ở vị trí nào đó trên màn hình. Ngoài những tính năng tương thích với phiên bản VB trước đó, VB 6.0 ra đời năm 1998 trong bộ Visual Studio 6.0 còn có nhiều đặc điểm mới tính năng tăng cường hơn: hỗ trợ phát triển ứng dụng phát triển trên nền 32 bit, tạo tệp tin thi hành và khả năng lập trình điều khiển. Những chức năng truy xuất dữ liệu cho phép ta tạo ra những CSDL và những thành phần phạm vi Server Side cho hầu hết các dạng thức CSDL phổ biến, bao gồm Microsoft Excel và những ứng dụng Windows khác. Những kỹ thuật ActiveX cho phép ta dùng những chức năng từ những ứng dugnj khác như: chương trình xử lý VB Microsoft Word, bảng tính Microsoft Excel và những ứng dụng Windows khác. Khả năng Internet làm cho nó dễ dàng cung cấp cho việc thêm vào những tài liệu và ứng dụng qua Internet hoặc Intranet từ bên trong ứng dụng, hoặc tạo ra những ứng dụng Internet Server. Một ứng dụng VB có thể bao gồm một hay nhiều Project được nhóm lại với nhau. Mỗi Project có thể bao gồm một hay nhiều mẫu biểu (Form). Trên một Form cũng có thể đặt các điều khiển khác nhau. Để phát triển một ứng dụng VB, Trần Thị Kiều Dung_Lớp CT1001 20 sau khi đã tiến hành phân tích thiết kế, xây dưng CSDL cần phải qua ba bước chính: + Bước 1: Thiết kế giao diện, Vb dễ dàng cho bạn thiết kế giao diện và kích hoạt mọi thủ tục bằng mã lệnh. + Bước 2: Viết mã lệnh nhằm kích hoạt giao diện đã sử dụng + Bước 3: Chỉnh sửa và tìm lỗi. 1.6.2.Các thành phần chính của Visual Basic Do VB là ngôn ngữ lập trình Hướng đối tượng nên việc thiết kế rất đơn giản bằng cách đưa các đối tượng vào Form và tiến hành thay đổi mottj số thuộc tính của các đối tượng đó. Form Form là mẫu biểu của mỗi ứng dụng trong VB. Ta dùng Form (như là một biểu mẫu) nhằm định vị và sắp xếp các bộ phận trên nó khi sắp xếp các bộ phận trên nó khi thiết kế các phần giao tiếp với người dùng. Ta có thể xem Form như là bộ phận mà nó có thể chứa các bộ phận khác. Form chính của ứng dụng, các thành phần của nó tương tác với các Form khác và bộ phận của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện chính của ứng dụng, các Form khác có thể chứa các hộp thoại, hiển thị cho nhập dữ liệu và hơn thế nữa. Trong nhiều ứng dụng VB kích vào vị trí của mẫu biểu vào lúc hoàn tất thiết kế (Thường mênh danh là thời gian thiết kế hoặc lúc thiết kế) là kích cỡ và hình dáng mà người dùng sẽ gặp vào lúc thời gian thực hiện hoặc lúc chạy. Điều này có nghĩa là VB cho phép ta thay đổi kích cỡ và vị trí của các Form đến bất kỳ nơi nào trên màn hình khi chạy một đề án bằng cách thay đổi các thuộc tính của nó trong cửa sổ thuộc tính đối tượng. Thực tế một trong những tính năng thiết yếu của Vb đó là khả năng tiến hành các thay đổi động để ddáp ứng các sự kiện của người dùng. Toolbox (Hộp công cụ) Các hộp công cụ này chỉ chứa các biểu tượng biểu thị cho các điều khiển mà ta có thể bổ sung vào biểu mẫu, là bảng chứa các đối tượng được định nghĩa sẵn của VB. Các đối tượng này được sử dụng trong Form để tạo thành giao diện cho các Trần Thị Kiều Dung_Lớp CT1001 21 chương trình ứng dụng của VB.Các đối tượng trong tthanh công cụ sau đây là thông dụng nhất. Scroll Bar (Thanh cuốn) Các thanh cuốn được dùng để nhận nhập dữ liệu hoặc hiển thị kết xuất khi ta không quan tâm đến giá trị chính xác của một đối tượng nhưng lại quan tâm đến sự thay đổi đó nhỏ hay lớn. Nói cách khác, thanh cuốn là đối tượng cho phép nhận từ người dùng một giá trị tùy theo vị trí con chạy trên thanh cuốn, thay cho giá trị số. Thanh cuốn có giá trị quan trọng nhất là : + Thuốc tính Min : xác định cận dưới của thanh cuốn. + Thuộc tính Max: xác định cận trên của thanh cuốn. + Thuộc tính Value: xác định giá trị tạm thời của thanh cuốn. Option Button Control (Nút chọn) Đối tượng nút chọn cho phép người dùng chọn một trong những lựa chọn đưa ra. Như vậy tại một thời điểm chỉ có một trong các nút chọn được chọn. Check Box (Hộp kiểm tra) Đối tượng hộp kiểm tra cho phép người dùng kiểm tra một hay nhiều điều kiện của chương trình ứng dụng. Như vậy tại một thời điểm có thể có nhiều hộp kiểm tra được đánh dấu. Lable (Nhãn) Đối tượng nhẫn cho phép người dùng gắn nhãn một bộ phận nào đó của giao diện trong lúc thiết kế giao diện cho chương trình ứng dụng. Dùng các nhãn để hiển thị thông tin khong muốn người dùng thay đổi. Các nhãn thường được dùng để định danh một hộp văn bản hoặc một điều khiển khác bằng cách mô tả nội dung của nó. Một công cụ phổ biến nhất là hiển thị thông tin trợ giúp. Image ( Hình ảnh) Đối tượng Image cho phép người dùng đưa hình ảnh vào Form. Picture Box Đối tượng Picture Box có tác dụng gần giống như Image. Text Box (Hộp soạn thảo) Đối tượng Text Box cho phép đưa các chuỗi ký tự vào Form. Thuộc tính Trần Thị Kiều Dung_Lớp CT1001 22 quan trọng nhất của Text Box là thuộc tính Text cho biết nội dung của hộp Text box. Command Button (Nút lệnh) Đối tượng Command Button cho phép quyết định thực thi một công việc nào đó. Directory List Box, Drive List Box,File List Box Đây là những đối tượng hỗ trợ cho việc tìm kiếm các tệp tin trên một thư mục hay một ổ đĩa nào đó. List Box(Hộp danh sách) Đối tượng List Box cho phép xuất các tệp tin về chuỗi.Trên đây là các đối tượng được sử dụng thường xuyên nhất phần thiết kế giao diện cho một chương trình sử dụng của VB. Propertise Windows(Cửa sổ thuộc tính) Propertise Windows là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể. Các thuộc tính này có thể thay đổi được để phù hợp với yêu cầu về giao diện của chương trình ứng dụng. Project Explorer Do các ứng dụng của Vb thường dung chung hoặc mã các Form đã tùy biến trước đó nên VB 6.0 tổ chức các ứng dụng thành các Project. Mỗi Project có thể có nhiều Form và mã kích hoạt các điều khiển trên một Form sẽ được lưu trữ chungvowis Form đó trong các tệp tin riêng biệt. Mã lập trình chung mà tất cả các Form trong ứng dụng chia sẻ có thể được phân thành các Module khác nhau và cũng được lưu trữ tách biệt, gọi là các Modul mã. Project Explorer nêu tất cả các biểu mẫu tùy biến được và các Modul mã chung, tạo nên ứng dụng của ta. 1.7.Cơ sở dữ liệu 1.7.1.1. , : , đ ...) Trần Thị Kiều Dung_Lớp CT1001 23 ). ) . p. : . . . 1.7.2.Giới thiệu hệ quản trị cở sở dữ liệu SQL Server 2000 SQL Server 2000 là một hệ quản trị cơ sở dữ liệu quan hệ. SQL Server 2000 được tối ưu để chạy trên môi trường dữ liệu lớn, lên đến Tera-byte và có thể cùng lúc phục vụ cho hàng nghìn User. SQL Server 2000 cos thể kết hợp ăn ý với các Server khác. Standard: Rất thuận tiện cho các công ty vừa và nhỏ, và giá thành lại rẻ hơn rất nhiều so với Enterprise Edition nhưng lại bị giới hạn bởi một số chức năng cao cấp khác. Edition này có thể chạy tốt trên hệ thống lên đến 4 CPU và 2 GBRam. Professional: Được tối ưu hóa để chạy trên PC nên có thể cài đặt trên hầu hết các phiên bản của Window kể cả Window 98. Developer: Có đầy đủ chức năng Enterprise Edition nhưng được thiết kế đặc biệt như giới hạn người kết nối vào Server cùng lúc. Edition này có thể cài vào Window 2000 Professional, hay WinNT Workstation. Desktop Engine(MSDE): Đây chỉ là một Engine được sử dụng trên Desktop và không có User Interface. Thích ứng cho ứng dụng ở máy Client. Kích thước Database bị giới hạn khoảng 2 GB. Trần Thị Kiều Dung_Lớp CT1001 24  Các thành phần quan trọng của SQL Data base: Lưu trữ các đối tượng dùng để trình bày, quản lý và truy cập cơ sở dữ liệu Table: Lưu trữ các dữ liệu và xác định quan hệ giữa các bảng. Database Diagrams: Trình bày các đối tượng cơ sở dữ liệu dưới dạng đồ họa và đảm bảo cho ta giao tiếp với cơ sở dữ liệu mà không cần thông qua các Stransact SQL. Indexes: Tối ưu hóa tốc độ truy cập dữ liệu trong table. Views: Cung cấp một cách khác để xem, tìm kiếm dữ liệu một trong nhiều bảng. Stored Procedures: Tập trung vào các quy tắc, tác vụ và các phương thức bên trong Server bằng cách sử dụng các chương trình Stransact SQL.