markdown:
# Một số vấn đề và phương pháp học tập và nghiên cứu khoa học
Chia sẻ: Xuan Truong | Ngày: | Loại File: PDF | Số trang:16
lượt xem 166
download
![](http://image1.tailieu.vn/document/thumbnail/2009/20090612/xuantruong/80x100/scientificmethodologyv-pdf-7651.jpg)
##
Một số vấn đề và phương pháp học tập và nghiên cứu khoa học
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static1.tailieu.vn/b2013az/templates/version1/default/images/down16x21.png)
Bản chất của đào tạo thạc sĩ là học Học là việc chuyển tri thức con người đã biết thành tri thức của các cá nhân hoặc tổ chức. Đại học: học các tri thức chung của nghề; Thạc sĩ: học các tri thức chuyên sâu của nghề. Thạc sĩ là người tinh thông nghề nghiệp (master, étude approfondie).
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
##
Nội dung Text: Một số vấn đề và phương pháp học tập và nghiên cứu khoa học
- Phần 1 Về việc học cao học và nghiên cứu khoa học Một số vấn đề và phương pháp (from talks at HCMUT 2007, ICT-Hanoi 2007, and some writings) học tập và nghiên cứu khoa học Hồ Tú Bảo Japan Advanced Institute Vietnamese Academy of Science and Technology of Science and Technology 1 2 Bản chất của đào tạo sau đại học Bản chất của đào tạo thạc sĩ là học Bản chất của đào tạo thạc sĩ Bản chất của đào tạo Chương trình thạc sĩ phổ Chương trình thạc sĩ là học tiến sĩ là nghiên cứu biến trên thế giới phổ biến của ta Học là việc chuyển tri thức con Nghiên cứu là việc tìm Học hai năm với tín chỉ Phần lớn thời gian cho các người đã biết thành tri thức của và tạo ra các tri thức môn học trên lớp (khoảng Năm đầu chủ yếu học các 20 môn) các cá nhân hoặc tổ chức. mới và có ý nghĩa bởi môn cần thiết (khoảng 10 Chưa dùng hệ tín chỉ Đại học: học các tri thức chung các cá nhân hoặc tổ môn, phần lớn tự chọn) chức. Ít thời gian cho rèn luyện của nghề; Thạc sĩ: học các tri Năm thứ hai chủ yếu cho việc và làm luận văn thức chuyên sâu của nghề. rèn luyện Tiến sĩ là người biết Ít rèn khả năng tự học seminar, reading, hoạt động Thạc sĩ là người tinh thông làm nghiên cứu, và Tiêu chí và cách đánh giá của lab nghề nghiệp (master, étude chủ yếu làm việc chưa thích hợp (luôn làm đề tài nghiên cứu, viết và yêu cầu cái mới)? approfondie). nghiên cứu. bảo vệ luận văn. 3 4
- Bản chất của đào tạo tiến sĩ là nghiên cứu Some Ph.D. thesis (Tạp chí Tia Sáng, 18.10.2007) Đòi hỏi cơ bản Xa điều kiện của Bộ GD-ĐT: “Nhận thức của công chức hành chính về việc sắp xếp Biết xác định được vấn đề 01 bài báo tạp chí quốc tế, một lại bộ máy của cơ quan chuyên môn trực thuộc Ủy ban nghiên cứu có ý nghĩa vài bai hội nghị quốc tế nhân dân cấp tỉnh, thành phố” Biết giải quyết vấn đề 01 bài báo tạp chí trong nước Biết viết bài và trình bày. “Nhận thức của thanh niên nông thôn về chất lượng Rất nhiều luận án làm Thách thức lớn!1995-2004: cuộc sống gia đình hiện nay” ứng dụng thay vì nghiên 5259 GS & PGS “Nghiên cứu nhu cầu điện ảnh của sinh viên” cứu cơ bản hay ứng 3236 (800) bài tạp chí quốc tế “Phát huy vai trò của tri thức ngành y tế Việt dụng Nam trong công cuộc đổi mới”. Kết quả chủ yếu công bố ở các tạp chí hay hội “Lịch sử phát triển giáo dục–đào tạo ở An giang nghị trong nước. (1975 – 2000)” (http://vietnamnet.vn/khoahoc/vande/2006/01/532815) 5 http://www.hed.edu.vn/TrangChu/LuanAnTienSi/TomTatNhungDiemMoi/ 6 Chương trình và sách giáo khoa ICT Chương trình và sách giáo khoa ICT Toàn bộ những thứ liên quan đến Phát triển và bảo trì “Sinh viên không chỉ cần học những thứ hiện nay đã được biết, Khoa học Kỹ nghệ tính toán, từ cấu phần mềm các hệ thống phần mà cần cả cách làm sao giữ cho kiến thức của mình được cập trúc máy tính đến máy tính mềm, cho chúng tin các hệ thống (computer (software cậy và hiệu quả nhật. Các công cụ dựa trên công nghệ để thu thập tri thức cần thông minh, science) engineering) phải trở thành những yếu tố trung tâm của giáo dục cho họ, và người máy, đến thuật toán và lý chương trình cần được xây dựng để sinh viên học cách học” * thuyết tính toán. Công nghệ (a) Tất cả mọi Kỹ nghệ hệ thống Công nghệ thứ thông tin (b) Công nghệ Khả năng tự học là cốt yếu máy tính thông tin Information information (computer (information (information máy tính để vận hành và technology systems technology trong ICT (Công nghệ engineering) systems technology) phát triển các thông tin) (Công nghệ hệ Phụ thuộc chương trình, thầy thống thông tin) Thiết kế và technology) hệ thống xây dựng các thông tin của và trò. hệ máy tính, tổ chức (chú computer computer software Gắn giải pháp của CNTT vào các quá trình kinh các hệ thống trọng phần engineering science engineering doanh, tác nghiệp qua việc xây dựng các hệ thống (Kỹ nghệ (Kỹ nghệ dựa trên máy công nghệ) (Khoa học thông tin của tổ chức (chú trọng phần thông tin) máy tính) máy tính) phần mềm) tính (hardware) Computing Curriculum 2005 (IEEE & ACM) CC 2005: http://www.computer.org/portal/cms_docs_ieeecs/ieeecs/education/cc2001/CC2005-March06Final.pdf * “Peril and Promise: Higher Education in Developing Countries”, World Bank & UNESCO Before 1990s, in North America: computer science, electrical engineering, and information systems 7 8
- Khoa học và Công nghệ Nghiên cứu cơ bản, nghiên cứu ứng dụng và ứng dụng? Khoa học là việc khảo sát các hiện tượng tự nhiên và xã hội để tìm tri thức mới. Nghiên cứu cơ bản: Tìm tri Ứng dụng: Dùng tri thức đã Công nghệ là cách dùng các tri thức khoa học và vật liệu thức mới cho các nghiên biết để giải quyết các vấn để đạt mục tiêu làm sản phẩm (“technology is not about cứu cơ bản khác hay đề thực tế. tools, it deals with how humans work”, Peter Drucker). nghiên cứu ứng dụng Trong ICT Thay đổi khắp nơi ở Việt Nam trong các năm 1990s: khoa Gene finding Nghiên cứu cơ bản có thể học khoa học & công nghệ (Viện KHVN Viện Mô hình ngôn ngữ tiếng Việt nhanh chóng chuyển vào KH&CNVN, Bộ Khoa học và Công nghệ, etc.) Kernel methods nghiên cứu ứng dụng Khoa học và công nghệ rất liên quan đến nhau nhưng là hai Nghiên cứu ứng dụng: Tìm Nghiên cứu ứng dụng có thể thứ khác nhau. KH-CN đang được dùng lẫn vào nhau như nhanh chóng chuyển thành một đơn vị của nhận thức (không luôn luôn tốt). tri thức khoa học để giải sản phẩm quyết các vấn đề thực tế Ứng dụng có khắp nơi Việt Nam cần tỷ lệ khoa học IC và công nghệ IC bao nhiêu? Dịch máy Anh-Việt 9 (http://vietnamnet.vn/khoahoc/vande/2006/01/532815) 10 Nghiên cứu cơ bản, nghiên cứu ứng Nghiên cứu cho nhu cầu ICT của dụng và ứng dụng? Vietnam “Trong khi không phải mọi đất nước đều cần tiến hành nghiên cứu Các lĩnh vực thiết yếu của ICT: như kỹ thuật mạng, công nghệ cơ bản ở nhiều lĩnh vực khác nhau, mỗi đất nước cần phải xem xét phần mềm, an toàn thông tin, trí tuệ nhân tạo, v.v. công bố các loại nghiên cứu khoa học và công nghệ có thể trực tiếp đóng quốc tế góp vào sự phát triển của mình. Các lĩnh vực mới, thích hợp và triển vọng ... Có lẽ câu hỏi cần hỏi nhất là: đâu là mức tối thiểu các hoạt động Tin sinh học, công nghệ Web, các loại dữ liệu phức tạp ... khoa học và công nghệ cần phải có để đạt được các mục tiêu của thay vì các chủ đề đã quá quen thuộc như tập mờ, tập thô, cơ quốc gia?” sở dữ liệu quan hệ, ... Nghiên cứu cơ bản bao nhiêu phần trăm? Vào vấn đề gi? Lĩnh vực Các lĩnh vực cần cho nhu cầu ở Việt Nam và người Việt phải nào? nên tập trung cho các nghiên cứu làm nền tảng cho nghiên cứu làm, như: ứng dụng. Hành chính điện tử, hạ tầng cơ sở ICT ... vs. thực tại ảo Cần khuyến khích và tổ chức nghiên cứu công nghệ Xử lý văn bản và tiếng nói tiếng Việt Đề cao và ưu tiên cho số đông làm nghiên cứu ứng dụng. Phát hiện đạo văn và cơ sở dữ liệu luận văn “Peril and Promise: Higher Education in Developing Countries”, World Bank and UNESCO 11 12
- Dự đoán gene gây bệnh và tin y-sinh Hạ tầng cơ sở cho xử lý tiếng nói và học văn bản tiếng Việt Gene Gene Gene Gene Protein SP8.1 SP8.1 Protein Speech analysis tools Protein Speech analysis tools Protein SP6.1 SP6.1 SP6.2 SP6.2 SP6.3 SP6.3 Gene Protein Complex disease Corpora for Corpora for Corpora for Corpora for Corpora for Corpora for SP1 speech recognition speech recognition Speech synthesis Speech synthesis specific words specific words Protein 50 putative Apllicationoriented SP3 Gene Protein Protein disease genes systems based on English-Vietnamese SP7.4 SP7.4 addition to Vietnamese speech SP7.3 SP7.3 translation system E-V corpora of E-V corpora of recognition & synthesis Vietnamese tree bank Vietnamese tree bank 3053 known aligned sentences aligned sentences Gene Gene SP7.1 SP7.1 SP7.2 SP7.2 English-Vietnamese English-Vietnamese Viet dictionary Viet dictionary dictionary dictionary SP2 SP4 Speech recognition SP8.2 SP8.2 SP8.3 SP8.3 IREST: Internet use system with Vietnamese word Vietnamese word Vietnamese POS tagging support system large vocabulary segmentation segmentation Vietnamese POS tagging Metabolomics 1400 Chemicals SP8.4 SP8.5 SP8.5 SP8.4 Vietnamese Vietnamese chunking Vietnamese Vietnamese chunking syntax analyser syntax analyser Proteomics 100,000 Proteins SP5 Vietnamese spelling checker Genomics 25,000 Genes 13 National project KC01-01/06-10 on “Vietnamese Language and Speech Processing” 14 Dịch máy Anh-Việt Hướng đến các công bố quốc tế Nghiên cứu cần hướng đến công bố trên các tạp chí và hội nghị quốc tế * Cần khuyến khích và đề cao các nghiên cứu chất lượng cao, và phân biệt giá trị khác nhau của kết quả nghiên cứu (rất cạnh tranh) Cần dạy và học phương pháp nghiên cứu khoa học Từng bước đạt mục tiêu trên 15 * ‘Văn hóa ngành’ trong tiêu chí đánh giá, http://www.tiasang.com.vn/news?id=1771 16
- Hai loại ấn phẩm khoa học chính Computer science journal ranking (Google “computer science journal ranking”, trích phần AI journals) Premium: Artificial Intelligence, Artificial Intelligence Review, Computational Tạp chí Linguistics, IEEE Trans on PAMI, Robotics and Automation, Image Processing, Journal of AI Research, Neural Computation, Machine Learning, Intl Jnl of Computer Vision, etc. Quốc tế: Google “computer science journal ranking” Leading: ACM Trans. on Asian Language Information Processing, AI Magazine, Annals Trong nước: of Mathematics and AI, Applied Artificial Intelligence, Applied Intelligence, Artificial Intelligence in Medicine, IEEE Trans on Neural Networks, Speech and Audio Proc, Hội nghị quốc tế Systems, Man, & Cybernetics, Part A & B, Intl Jnl on Artificial Intelligence Tools, Conferences (hội nghị), symposiums, workshop, forums (hội Machine Translation, Neural Networks, Pattern Recognition, etc. thảo), congress (đại hội) Reputable: Computer Processing of Chinese & Oriental Languages, Intl Jnl of Pattern Recognition & AI, Computers and Artificial Intelligence, IEEE Transactions on Fuzzy Quốc tế: Google “computer science conference ranking” Systems, Journal of Intelligent and Fuzzy Systems, Knowledge Acquisition Jnl, Trong nước: ICT, FAIR, etc. Knowledge-Based Systems, Pattern Recognition Letters, Jnl. of Japanese Soc. of AI, Intelligent Data Analysis, etc. Measures: Impact factor, citation Others: Canadian Artificial Intelligence, Journal of Advanced Robotics, Journal of Artificial Intelligence in Education, Journal of Artificial Intelligence in Engineering, Trong ICT, hội nghị tốt được đánh giá rất cao (khác với các Automation, and Manufacturing, Journal of Computational Acoustics, Journal of ngành toán, lý, hóa, sinh học, etc.) Computational Neuroscience, Journal of Computational Vision, etc. Easy: WASET (World Academy of Science, Engineering and Technology) , WSEAS 17 18 Computer science conference ranking Số bài báo tạp chí quốc tế 10 năm (Google “computer science conference ranking”, trích phần hội nghị AI) (“made in Vietnam” during 1995-2004) Rank 1: IJCAI: Intl Joint Conf on AI, AAAI: American Association for AI National Areas # papers Res. Institutions Universities Citation avg Conference, ICML: Intl Conf on Machine Learning, UAI: Conference on Uncertainty in AI, Mathematics 300 144 121 1.4 UM: Intl Conf on User Modeling, NIPS: Neural Information Processing Systems, AGENTS: Theoretical Physics 131 100 31 2.4 International Conference on Autonomous Agents [SIGKDD: ACM Knowledge Discovery Experimental Physics 40 16 24 1.6 and Data Mining, ICDM: IEEE International Conference on Data Mining], etc. Technology 42 25 9 0.8 Rank 2: ECAI: European Conf on AI, ECML: European Conf on Machine Learning, GECCO: ICT 38 19 11 1.3 Genetic and Evolutionary Computation Conference, GP: Genetic Programming Materials Science 36 9 27 1.8 Conference, IAAI: Innovative Applications of AI, ICIP: Intl Conf on Image Processing, Medicine 36 28 8 2.3 ICPR: Intl Conf on Pattern Recognition, ICTAI: IEEE conference on Tools with AI, etc. Chemistry 32 28 4 1.2 Agriculture 23 15 8 1.7 [COLING: Intl Conf on Computational Liguistics, PAKDD: Pacific-Asia Conf on Know. Polymer 19 14 5 1.1 Discovery & Data Mining, PKDD: European Conf Knowledge Discovery in Databases], etc. Mechanics 17 15 1 2.6 Rank 3: PRICAI: Pacific Rim Intl Conf on AI, AusAI: Australian Joint Conf on AI, etc. Social science 14 12 2 0.2 Unranked Conferences: AAMAS: Intl Joint Conf on Autonomous Agents and Multiagent Environmental science 13 13 0 4.1 Systems, NFOVIS: IEEE Symp. on Information Visualization, VIS: IEEE Visualization, etc. Biology 10 9 1 1.3 Not Encouraged (due to dubious referee process): Intl Multiconferences in Computer Earth science 9 8 1 0.5 Science -- 14 joint int'l confs., SCI: World Multi confs on systemics, sybernetics and Pharmacy and drug 1 0 1 4 informatics , SSGRR: International conf on Advances in Infrastructure for e-B, e-Edu and Management science 1 1 0 0 e-Science and e-Medicine , IASTED conferences, CCCT: International Conference on Others 36 Computer, Communication and Control Technologies. Total 798 Source: Phạm Duy Hiển, http://vietnamnet.vn/khoahoc/vande/2006/01/532815/ (1995-2004: 3236) 19 Nguyễn Văn Tuấn: http://www.tiasang.com.vn/news?id=2166 (1996-2005: 3456) 20
- So sánh Thailand & Vietnam Đem hội nghị quốc tế đến Vietnam In 2001-2002 Thailand Vietnam Rate (TL/VN) Rất ít người từ các nước đang phát triển tham dự # Articles in inter. journals 3103 737 4/1 Made with foreigners (A) 1739 546 3/1 được các hội nghị khoa học quốc tế hàng đầu về ICT # Citations (A) until 12.2006 13912 4681 3/1 (NIPS, ICML, KDD, IJCAI, …) Made in the country (B) 1364 173 8/1 Lý do vì không có bài lọt vào các nơi này và không có # Citations (B) until 12.2006 5324 323 16/1 Made by universities 1208 69 17/1 tiền để đi (thí dụ của IJCAI 2007 tại Ấn độ) # Articles in Math & Physics 68 104 0.7/1 Hai vấn đề nổi cộm: no show, plagiarism. In 2001-2002 Làm sao đem được nhiều hội nghị quốc tế tốt đến Việt Chulalongkorn VNU-HN VNU-HCM Rate (Chula/ VNUHN+VNUHCM) Nam (PAKDD’05, RIVF’07, RIVF’08, PRICAI’08, etc.)? # Articles 302 25 8 9.15/1 Cần sự tham gia với nhiều cố gắng, # Citations 948 63 13 12.47/1 Articles in Math & Physics 15 21 7 0.53/1 chuẩn bị và đóng góp từ Việt Nam. Source: Phạm Duy Hiển, http://vietnamnet.vn/nhandinh/2007/01/649976/ 21 22 Phần 2 Finding a research topic: first step Xác định đề tài nghiên cứu “The difference between a trivial project and (Adapted from the lecture of Prof. Duong Nguyen Vu, HCMC, November 2007) a significant project is not the amount of work required to carry it out, but the amount of thought that you apply in the selection and definition of your problem.” David P. Beach & Torsten K.E. Alvager Handbook for Scientific and Technical Research, Prentice-Hall, 1992, p. 29 23 24
- Phát biểu bài toán Phát biểu bài toán Quá trình phát biểu bài toán bao hàm một loạt các Là bước đầu tiên của mọi đề tài nghiên cứu. hành động lặp: Nói chung, cái khó nhất của quá trình này là Original problem điểm xuất phát: original idea/topic. Decision on the “problem” Discussions: Thông thường, chủ đề nghiên cứu được gợi ý modified problem bởi thầy hướng dẫn hay phụ trách đề tài: thường được chọn trong số các bài toán đang Bibliographic ∃ literature được khảo sát của nhóm hay phòng thí nghiệm. Search or public ? Dù thế, ý tưởng khởi đầu thường còn chưa rõ Finalize problem hoặc còn thô cần phát triển và chế biến. Research Planning 25 26 Nghiên cứu một vấn đề nghiên cứu Làm mịn một đề tài nghiên cứu Các đề tài quá mơ hồ hoặc chưa chính xác đòi hỏi Một đề tài của luận văn tiến sĩ hướng đến: một khối lượng lớn công việc. Phát triển một lý thuyết mới, một hình thức hóa mới, hoặc Theo ngôn ngữ toán học, một bài toán có thể có nhiều lời giải được gọi là “ill-posed problem.” Đóng góp vào một lý thuyết hoặc hình thức hóa đã tồn tại. Problem Space Solution space Một đề tài luận văn thạc sĩ hướng đến: Việc tinh thông các tri thức và kỹ năng của một lĩnh vực trong một nghề (if going to industry) Rèn luyện kinh nghiệm nghiên cứu (if going to doctor Constraints course) 27 28
- Hypothesis Results of a Hypothesis Giả thuyết thể hiện các thành phần của một bài toán Các giả thuyết quy định thí nghiệm cho một lý thuyết nghiên cứu. − nhằm khẳng định hoặc chỉ ra sư hạn chế của các kết quả đặc biệt được thiết lập từ lý thuyết − cần phải Do vậy, các giả thuyết xác định tập các thí nghiệm, chúng minh cần làm trong quá trình nghiên cứu. được kiểm chứng theo một trong 4 cách sau: Đối với một phạm vi mở rộng của lý thuyết Trong thực tế, một đề tài nghiên cứu thường chứa đựng nhiều giả thuyết chưa biết. Đối với các giới hạn của khả năng ứng dụng của lý thuyết Đối với độ chính xác được cải tiến của lý thuyết Trong qúa trình nghiên cứu, người làm nghiên cứu cần Đối với sự đánh giá hiệu lực (validation) của các giả thiết cơ làm sáng tỏ các gia thuyết chưa biết này với các minh bản của lý thuyết. chứng hoặc chứng minh không thể phủ nhận được. Các giả thuyết cần được thiết lập rõ ràng (well-posed.) 29 30 Hypothesis Validating a Theory Hypothesis Validating a Theory Kiểm chứng việc cải tiến tính chính xác của lý thuyết Kiểm chứng về phạm vi mở rộng (extended scope): Các lý thuyết thường là sự tổng quát hóa của các hiện tượng Mỗi lý thuyết thường chỉ ứng dụng vào được một số quan sát được, qua các độ đo khách quan có được từ sư phân tình huống hay điều kiện hạn chế. Lý thuyết này có thể tích trực cảm (heuristics). trở nên “hoành tráng” (“powerful”) hơn nếu nó được Tổng quát hóa và tính ứng dụng thường không luôn luôn song hành. chứng tỏ có thể áp dụng vào những tình huống khác. Độ chính xác của lý thuyết luôn được mong muốn. Điều ngược lại sẽ củng cố thêm các giới hạn của khả năng ứng dụng của lý thuyết. Kiểm chứng việc khẳng định hoặc phủ định các giả thiết cơ bản Kiểm chứng về các giới hạn của khả năng ứng dụng: Liệu giả thiết ranh giới (baseline assumption) có đúng không? Tại sao? Thí dụ: lý thuyết tương đối của Einstein không làm sai Một lý thuyết có thể trở nên kỳ cục (ridiculous) nếu các giả thiết lệch cơ học Newton. Lý thuyết này chỉ mô tả các giới cơ bản không có giá trị khoa học hoặc không có tính thuyết phục hạn trong đó lý thuyết này có thể áp dụng được. với công đồng khoa học. Có thể có xung đột khoa học (Scientific “Warfare”!!) 31 32
- Xác định đề tài nghiên cứu Khảo sát tài liệu Thường có một vài cách để nhìn sâu hơn về đề tài khi bắt đầu Việc khảo sát tài liệu giúp người nghiên cứu thu hẹp phạm vi làm nghiên cứu: của việc tìm hiểu và chuyển tầm quan trọng của việc tìm hiểu Phác thảo một tên ngắn gọn của nghiên cứu: dựa trên giả thuyết đề tài tới người đọc. ban đầu hoặc “tên công việc”. Chú ý đến sự tiến hóa của giả Khảo sát tài là một phần không thể thiếu của việc lựa thuyết hoặc tên công việc. chọn/quyết định đề tài nghiên cứu. Một chiến lược khác để phát triển chủ đề là đặt cho đề tài một câu hỏi ngắn (dạng câu hỏi của giả thuyết). Cần xem xét liệu đề tài có thể và cần phải khảo sát. Tiếp cận Newtonian – Lời khuyên thực tiễn: Phải xác định được một đề tài ban đầu (bởi người làm nghiên cứu thay vì người hướng dẫn). Viết ra như “Nghiên cứu của tôi là về …” ; Tránh dùng một ngôn ngữ phức tạp và uyên bác. Khảo sát tài liệu liên quan việc “đối thoại” không ngừng với tư liệu về Phác thảo ra các tên không dài quá 12 từ, bỏ đi hầu hết các mạo từ đề tài, lấp những chỗ trống về hiểu biết và mở rộng những điều đã (articles) và giới từ (prepositions), và đảm bảo rằng tên này tập trung biết. được vào nội dung chính của nghiên cứu. Cung cấp một sườn làm việc để thiết lập tầm quan trọng của nghiên Định nghĩa các từ trong “giả thuyết” hoặc “tên công việc” cứu cũng như một chuẩn để so sánh các kết quả đã có với những Quá trình ssịnh nghĩa các từ này cần gắn với khảo sát tài liệu. phát kiến mới. 33 34 Tìm kiếm tư liệu Các bước khảo sát tư liệu Tìm kiếm tài liệu cho phép biết những tri thức về lĩnh vực “A literature review for a proposal or a research study means (domain knowledge), về các nghiên cứu liên quan để vẽ lên locating and summarizing the studies about the topic.” được một bức tranh theo thời gian các nghiên cứu về chủ đề. Step 1: Bắt đầu bằng việc xác định các keywords cần thiết Cần nhận rõ là yếu tố cốt tử của nghiên cứu là tri thức tìm ra để tìm kiếm tài liệu. Các từ khóa này có thể nảy sinh khi xác định một đề tài. được phải mới hoặc đầu tiên (must be new or original.) Step 2: Tìm kiếm tài liệu trong các cơ sở dữ liệu của thư viện Một nghiên cứu chỉ tìm ra kết quả đã được cộgn đồng biết từ (library databases) với các từ khóa đã xác định. trước, và chỉ có ích cho một người hoặc một nhóm nhỏ, sẽ không có giá trị như một nghiên cứu. Step 3: Thử tìm khoảng 50 reports and articles (or books) liên quan đến chủ đề nghiên cứu. Sắp xếp các tư liệu này Có những nghiên cứu đã bị gián đoạn trong những bước đầu theo thứ tự ưu tiên. bởi nhiều lý do khác nhau, nhưng phần lớn còn lại đã bị ngừng Step 4: Đọc nhanh các tài liệu chọn lọc với tập trung về các vì đề tài nghiên cứu không đủ “thuyết phục”. Cũng không hẳn là abstracts and core results để thu được cảm nhận liệu các tài bất thường nếu tiếp tục triển khai đề tài này sau việc khảo sát liệu này có đem tới một đóng góp có ích cho việc hiểu đề tài. kỹ tư liệu. 35 36
- Các bước khảo sát tư liệu Using the Internet Step 5: Với mỗi tài liệu được chọn, viết ra maximum 10 lines để mô tả bạn đã hiểu tài liệu này thế nào, tức việc hiểu về đóng góp của tài liệu đối với Internet không phải là một thư viện chủ đề nghiên cứu. Books and journals trong một thư viện đều có Step 6: Thiết lập một “literature map,” tức một bức tranh về các tư liệu nghiên cứu về chủ đề. Bức tranh này cung cấp một phương tiện để đặt người chịu trách nhiệm và nhà xuất bản. nghiên cứu của bạn vào trong một toàn thể lớn hơn các tư liệu về chủ đề. Bất kỳ ai cũng có thể đưa bất kỳ thứ gì lên Step 7: Cùng lúc với (6), bắt đầu phác thảo các summaries của các bài Internet. báo liên quan nhất khi dùng các kết quả của bước (5). Các tóm tắt này được kết hợp vào các khảo sát tư liệu cuối cho đề xuất nghiên cứu. Chú ý Cần chú ý đến sự đáng tin của nguồn tài liệu (cấp để đảm bảo có các tài liệu tham khảo chính xác. bởi các viện, các tổ chức tư nhân có uy tín, các cơ Step 8: Thảo luận với peers and supervisors về nghiên cứu của bạn; hoặc quan chính phủ, etc). lặp quá trình này hoặc cuối cùng “lắp ráp” các tài liệu được khảo sát sao cho chúng được tổ chức hoặc cấu trúc bởi các khái niệm đã được đề cập. Cần phân biệt phân biệt cái hay cái dở trên Kết thúc với một tóm tắt các chủ đề chính tìm được trước khi gợi ý xa hơn Internet (to separate the wheat from the chaff). các chủ đề nghiên cứu cần thiết. 37 38 Hướng dẫn đánh giá thông tin (1) Hướng dẫn đánh giá thông tin(2) Ref. Elizabeth Kirk (2002) - Johns Hopkins University Library Web page www.library.jhu.edu/elp/useit/evaluate/index.html LIÊN KẾT TƯ LIỆU (CONNECTION TO THE LITERATURE) NGUỒN GỐC TÁC GIẢ (AUTHORSHIP) Có các tài liệu tham khảo tới các công trình trong lĩnh vực không? Tác giả có là người nổi tiếng? Có các lý thuyết thích hợp được thảo luận? Nếu không, công trình của tác giả này có được trích dẫn bởi các tác giả nôi tiếng khac? Các tranh luận có được thừa nhận? Nếu không, liệu bạn có thể tìm thấy thông tin tư liệu để sự tin cậy của tác giả? TÍNH THẨM TRA ĐƯỢC (VERIFIABILITY) NGUỒN GỐC NƠI XUẤT BẢN (PUBLISHING BODY) Có thông tin cho phép bạn kiểm chứng phương pháp? Ai là người tài trợ cho web site? TÍNH THỜI GIAN (CURRENCY) Trang Web có phải của một tổ chức có uy tín? Thông tin có trên các trang Web cá nhân cần phải xem như đáng ngờ (considered highly Có không một ngày trên tài liệu cho phép bạn đánh giá về thời suspect.) gian của thông tin? QUAN ĐIỂM (POINT OF VIEW) Liệu tổ chức tài trợ trang Web có một quan điểm? SEARCH ENGINE Note: Cần xem thông tin của các công ty kinh doanh gắn với quảng cáo Search engine đã xác định thế nào thứ tự các hits? Cần đặc biệt cảnh giác với thông tin cung cấp bởi các nhóm luật sư Some search engines bán chỗ cho nhà quảng cáo. Bạn đã thấy (advocacy groups.) search enngine xác định thứ tự thông tin tìm được thế nào? 39 40
- Đánh giá tính khả thi (1) Đánh giá tính khả thi (2) Nếu cơ may của thành công và thất bại của một khảo Tính sẵn sàng của dữ liệu cơ bản: Liệu bạn có sát có thể tiên liệu được (anticipated) ở một mức khá thể có những dữ liệu cơ bản cần thiết? chính xác trong giai đoạn xác định nghiên cứu, ta có Quen thuộc với dữ liệu thô, thể tránh được các nỗ lực vô ích. Nguồn dữ liệu, Tính khả thi của một vấn đề nghiên cứu có thể được Phương pháp thu thập dữ liệu, đánh giá dưới những góc độ sau: Yêu cầu cho các trang bị đặc biệt, Lĩnh vực khảo sát: Đề tài nghiên cứu là phát triển của một Thao tác trên các thiết bị quá trình suy nghĩ, một ý tưởng, hoặc của cả hai? Đâu là các lĩnh vực khoa học của đề tài? Bạn có đủ tri thức để Đánh giá khả năng: đâu là lĩnh vực khoa học và đánh giá đề tài? công nghệ thứ nhất, thứ hai cần thiết cho việc tìm Vấn đề nghiên cứu: Liệu chúng ta có thể minh học chủ đề kiếm giải pháp? Liệu ta có khả năng tiến hành nghiên cứu bởi một mô tả đơn giản dưới dạng một câu hỏi? nghiên cứu trong các lĩnh vực này? 41 42 Tiêu chuẩn quyết định Tiêu chuẩn quyết định Tiêu chuẩn chính: Các tiêu chuẩn khác: Timing : Đề tài có “hot” không? Ham thích cá nhân: đề tài nghiên cứu phải kích Originality: Đã có ai làm chưa? thích trí tưởng tượng và sáng tạo. Người nghiên cứu cần phải “be in.” Solidity: Đề xuất nghiên cứu đã đầy đủ chưa? Có mâu thuẫn gì không? Kích cỡ của nghiên cứu: đề tài nghiên cứu cần Utility: Phạm vi của nghiên cứu là gì? Có ích lợi phải quản lý được. không? Dùng cho ai? Các lĩnh vực ứng dụng là gi? Khả năng của nhóm nghiên cứu Morality: Có vấn đề gì về đạo đức không? Triển vọng của tính mới mẻ Feasibility: Những ràng buộc đi cùng là gì? Thông thạo các lĩnh vực liên qaun chủ đề nghiên Human Resources? Time? cứu. Financial Resources? Cost? Availability of initial data? 43 44
- Phần 3 Research isn’t just research Ai quan tâm đến việc bạn làm nếu bạn không bao giờ Trình bày và giới thiệu kết quả nói cho họ biết? Bạn cần phải giới thiệu ý tưởng của mình ở nhiều dạng nghiên cứu: khác nhau: Papers, Talks, and Chats Liên kết mạng với các bạn bè Viết và gửi bài tới các workshops, conferences, and (from tutorial of Prof. Marie desJardins (University of Maryland) ICML/KDD 2003 journals Giới thiệu các bài báo ở workshops and conferences Đặt chúng lên một website để có thể nhấn mạnh diều bạn quan tâm và hoạt động nghiên cứu 45 46 Networking Networking II Meet people! Giúp cho có một mục tiêu: Bạn cần chuẩn bị để tóm tắt được nghiên Xem xem họ đang làm nghiên cứu gì cứu của mình Nói với họ bạn đang làm gì Tìm một lĩnh vực có chung quan tâm Cần sẵn sàng giới thiệu chủ đề luận án trong Học cách nhìn nhận và các phương hướng tương lai của vòng 1 phút, 5 phút, và 15 phút họ Thảo luận một hướng nghiên cứu mới hoặc đề tài mới Tương tự với các lọai đề tài nghiên cứu khác Bạn thu được gì từ giao tiếp này? Cần biết phân biệt rõ đóng góp của riêng bạn, Họ thu được gì? của thầy hướng dẫn, và ý tưởng từ các nghiên Nếu bạn biết hai người bạn, và họ biết hai người cứu trước đó. bạn khác, và những người bạn này biết hai người khác, … Bạn sẽ sớm quen biết rất nhiều người! Thực hành với các sinh viên khác! 47 48
- Writing and submitting papers Writing papers: Strategy Đối với master’s thesis, cần phấn đấu để có ít nhất Trước hết, quyết định xem nộp bài vào đâu một bài báo ở hội nghị “good” conference vào lức Bạn có thể không kịp nộp bài đúng hạn, nhưng việc có một tốt nghiệp deadline là luôn cần thiết Đối với doctoral dissertation, cần phấn đấu để có vài Hai đến bốn tháng luôn là thời hạn tốt để kế hoạch bài hội nghị tốt và một bài tạp chí Tiếp theo, quyết định xem nói gì Viết những bài báo này là một thực hành lớn cho Ý tưởng chính là gì? Đã phát triển chúng chưa? chính luận văn của mình … (và bạn có thể dùng lại Kết quả chính là gì? Đã thiết kế và chạy các thí nghiệm chưa? Đã phân tích dữ liệu chưa? các vật liệu này!) Các nghiên cứu liên quan chính là gì? Bạn đa có và đọc các bài Nộp bài ở đâu? nay chưa? Liệu bạn có thể tóm tắt chúng? Nhìn danh sách các ấn phẩm của những người làm nghiên Now get started on the work you need to do to fill in cứu liên quan, và đọc công bố của họ the missing holes! (You can write in parallel…) Công bố ở các hội nghị có những bài hay nhất 49 50 Writing papers: Design Writing papers: Tactics Abstract – tóm tắt research contributions, không phải tóm tắt bài báo (i.e., Top-down design (outline) rất quan trọng không thể là dàn ý của bài báo) Các gạch đầu dòng có thể giúp bạn nhận rõ cấu trúc bài viết Introduction/motivation – những gì bạn đã làm và tại sao người đọc cần quan tâm, cộng thêm dàn ý của bài báo tâm Trừ khi bạn là người rất tài hay rất nhiều kinh nghiệm, bạn cần Technical sections – một hoặc nhiều sections tóm tắt và giới thiệu các ý thiết kế cẩn thận trước khi bắt tay vào viết bài tưởng nghiên cứu bạn đã phát triển Neatness counts! Kiểm tra spelling, grammar, consistency of Experiments/results/analysis – một hoặc nhiều sections giới thiệu kết quả fonts and notation before chúng đến với mắt người khác thực nghiệm Nếu người đánh giá rất chú ý đến các lỗi typos của bạn, họ có thể Future work – tóm tắt những gì bạn dự định làm và những câu hỏi mở còn bỏ sót những gì hay của nội dung cần phải trả lời. Conclusions – nhắc lại những gì đã làm và tại sao chúng quan trọng Dành thời gian để kiểm tra! Related work – đôi khi viết ngay sau phần introduction, đôi khi viết trước phần Fellow students, collaborators, advisors, … conclusions (phụ thuộc chừng mực nào vào liệu việc bạn làm dựa trên nghiên Một bài báo được viết khi gửi bài ... Nhưng thường cũng không cứu trước kia, hoặc phủ nhận chúng) hẳn chỉ khi này. 51 52
- Authorship Giving talks Who should be an author? Cần biết bạn được nói bao lâu Những người có đóng góp đáng kể vào việc phát triển các nội Thời gian nói là bao lâu? QA có bao gồm trong thời gian đó? dung bài báo hoặc viết bài báo Sẽ rất tốt nếu mỗi slide được nói trong vòng 2-3 phút Không nhất thiết cần có tên người đọc góp ý, mã hóa, chạy thí Nếu bạn có quá nhiều slides, bạn phải bỏ qua một số, thậm chí nghiệm dở hơn là phải bỏ hết phần còn lại vì hết giờ. Hãy tránh các tình huống này!! What order should the authors be listed in? Bạn không bao giờ có thời gian để nói mọi thứ về đề tài, do vậy Nếu có những tác giả đóng góp nhiều hơn nguời khác về việc đừng băn khoăn nếu phải bỏ qua một số nội dung! phát triển nội dung và/hoặc viết phần lớn hay tất cả bài báo, họ phải đuợc kể lên trước Trừ khi bạn là người nói rất nhiều kinh nghiệm, bạn cần phải thực hành với việc tính đến thời gian: Nếu đóng góp là như nhau hoặc tác giả cùng việc trong một A couple of times on your own to get the general flow nhóm, tên nên viết theo thứ tự ABC At least one dry run to work out the kinks Đôi khi nên có thêm chú thích “The authors are listed in A run-through on your own the night before the talk alphabetical order” 53 54 Giving talks II Giving talks III Cần biết người nghe là ai Biết rõ bạn muốn nói gì Chỉ nêu ra một tóm tắt của đề tài sẽ chẳng có gì thích thú với hầu Đừng phí thời gian về những thứ cơ bản nếu bạn hết người nghe. đang nói với những người đang làm cùng nghề Bạn cần nêu đủ chi tiết để người nghe chú ý đến ý tưởng của bạn Thậm chí với những người này, cần chắc là bạn (và chỉ ra bạn đã thực làm gì, nhưng không cần quá chi tiết) giải thích những khái niệm mới một cách rõ ràng Họ muốn nghe what you did that was cool và why they should care Mặt khác, bạn sẽ mất người nghe không cùng làm Thông thường, họ thích nghe hai điều trên khi bắt đầu, trong quá nghề nếu không cung cấp những kiến thức cơ bản trình, và ở phần cuối của trình bày. Trong mọi trường hợp, điều quan trọng nhất là Nếu người nghe thích, họ sẽ hỏi hoặc đọc bài báo cần nhấn mạnh what you’ve done và why they Trong mọi trường hợp, không được chỉ đọc các slides! should care! Báo cáo hội nghị là “kể một câu chuyện” 55 56
- Preparing slides How to give a bad talk Advice from Dave Patterson, summarized by Mark Hill Don’t just read your slides! Use the minimum amount of text necessary 1. Thou shalt not be neat (rõ ràng) Use examples 2. Thou shalt not waste space Use a readable, simple, yet elegant format 3. Thou shalt not covet brevity (muốn sự ngắn gọn) Use color to emphasize important points, but 4. Thou shalt cover thy naked slides (trơ trụi) avoid the excessive use of color 5. Thou shalt not write large “Hiding” bullets like this is annoying (but 6. Thou shalt not use color sometimes effective), but… Abuse of animation is a cardinal sin! 7. Thou shalt not illustrate 8. Thou shalt not make eye contact Don’t fidget, and… 9. Thou shalt not skip slides in a long talk Don’t just read your slides! 10. Thou shalt not practice 57 58 Some useful resources Phần 4 Writing: Lynn DuPre, Bugs in Writing Một vài kinh nghiệm cá nhân Strunk & White, Elements of Style (from what I have discussed with students from Vietnam) Giving talks: Mark Hill, “Oral presentation advice” Patrick Winston, “Some lecturing heuristics” Simon L. Peyton Jones et al., “How to give a good research talk” Dave Patterson, “How to have a bad career in research/academia” 59 60
- English pronunciation Research proposal (typically in Japan) Usually do not pronounce vowels Objectives What to do clearly Examples Its significance book vs. books Background and research context Text mining vs “tech” mining Who are doing similar research, related research? Adapter [a-da-pu-ta] What are approaches to solve the problems? She asks me if I can fly to the moon Your critical view on the related work Methodology and plan What could be the key idea of the solution? 61 62 If I may give an advice to students To be self-confident 63
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Ebook Phương pháp luận nghiên cứu khoa học: Phần 1 - GS.TSKH. Lê Huy Bá
440 p |
145 |
97
-
Giáo trình Cơ sở phương pháp luận nghiên cứu khoa học giáo dục: Phần 2 - NXB ĐH Huế
146 p |
210 |
67
-
Tài liệu hướng dẫn về công tác nghiên cứu khoa học: Phần I - Đoàn Văn Bình
76 p |
172 |
49
-
Module Tiểu học 29: Phương pháp nghiên cứu khoa học sư phạm ứng dụng - Nguyễn Ngọc Ân
52 p |
80 |
32
-
Bài giảng Tập huấn nghiên cứu khoa học sư phạm ứng dụng: Giới thiệu tổng quan
17 p |
90 |
24
-
Module TH 29: Phương pháp nghiên cứu khoa học sư phạm ứng dụng - Nguyễn Ngọc Ân
52 p |
88 |
22
-
NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: “Kết quả nghiên cứu phương pháp lí hóa nhằm nâng cao hiệu quả giếng khai thác gaslift trong điều kiện khai thác tại Việt Nam”
8 p |
83 |
18
-
Bài giảng Phương pháp nghiên cứu khoa học: Chương 4 - TS. Lê Quốc Tuấn
21 p |
46 |
18
-
Bài giảng Phương pháp nghiên cứu khoa học: Bài 2 - TS. Lê Mạnh Hải
28 p |
73 |
17
-
Giáo trình Phương pháp nghiên cứu khoa học cho sinh viên ngành Sư phạm Giáo dục công dân: Phần 2 - TS. Trần Văn Hiếu
29 p |
58 |
16
-
Ebook Hoạt động nghiên cứu khoa học Giáo dục của sinh viên Sư phạm: Phần 1 - Phạm Hồng Quang
49 p |
52 |
16
-
Bài giảng Nghiên cứu khoa học ở trường trung học - Quách Tất Kiên
36 p |
43 |
13
-
NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: “Đặc điểm thạch học trầm tích cát kết Mioxen hạ bể Cửu Long”
14 p |
73 |
12
-
Ebook Phương pháp nghiên cứu khoa học (dùng cho sinh viên khối ngành Xã hội nhân văn)
48 p |
44 |
12
-
Môđun Phương pháp nghiên cứu khoa học giáo dục: Phần 2 - TS. Mai Ngọc Luông, ThS. Lý Minh Tiên
48 p |
38 |
10
-
Môđun Phương pháp nghiên cứu khoa học giáo dục: Phần 1 - TS. Mai Ngọc Luông, ThS. Lý Minh Tiên
43 p |
25 |
9
-
Giáo trình Phương pháp nghiên cứu khoa học cho sinh viên ngành Sư phạm Giáo dục công dân: Phần 1 - TS. Trần Văn Hiếu
28 p |
41 |
7
-
Bài giảng Phương pháp nghiên cứu khoa học: Bài 1 - PGS.TS. Thái Thanh Hà
29 p |
26 |
2

Set-Cookie: TLDEVNamespace=8okdkppk4gj72benrc2n95q5b0; path=/; domain=.tailieu.vn; HttpOnly


markdown:
# Phòng ngừa giảm thị lực ở người già
Chia sẻ: Goi Xoai | Ngày: | Loại File: PDF | Số trang:4
44
lượt xem 3
download
lượt xem 3
download
![](http://image1.tailieu.vn/document/thumbnail/2010/20100805/goixoaidongque/80x100/phong_ngua_giam_thi_luc_o_nguoi_gia_7359.jpg)
##
Phòng ngừa giảm thị lực ở người già
Mô tả tài liệu
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static1.tailieu.vn/b2013az/templates/version1/default/images/down16x21.png)
Những khuyến cáo chính về bệnh gây mù lòa chủ yếu cho người già là cơ sở để phát hiện, điều trị kịp thời cho bệnh nhân vì đây đều là những bệnh có thể điều trị được. Các bệnh về mắt dễ gặp ở người già Đục thủy tinh thể được nhắc tới đầu tiên bởi vì có tới khoảng 25 - 50 triệu người có thị lực
Chủ đề:
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
CÓ THỂ BẠN MUỐN DOWNLOAD

WARC-Type: response

Content-Type: application/http; msgtype=response

WARC-Identified-Payload-Type: application/xhtml+xml

Server: Apache/2.2.31 (CentOS)

Connection: close

Pragma: no-cache

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Set-Cookie: TLDEVNamespace=16aesmquvcta749vug9gjs1c96; path=/; domain=.tailieu.vn; HttpOnly

Vary: Accept-Encoding

Content-Type: text/html; charset=UTF-8


markdown:
# PHP Tutorial part 10
Chia sẻ: Avsdvvsd Qwdqdad | Ngày: | Loại File: PDF | Số trang:3
53
lượt xem 6
download
lượt xem 6
download
![](http://image1.tailieu.vn/document/thumbnail/2010/20100813/tuannghia91/80x100/php_tutorial_10__4024.jpg)
##
PHP Tutorial part 10
Mô tả tài liệu
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static1.tailieu.vn/b2013az/templates/version1/default/images/down16x21.png)
Hằng số và biến Do trong giáo trình của chúng ta còn khuyết mất phần này nên hôm nay xin phép viết 1 chút cho anh em nào còn chưa biết (mấy bác pro rồi nhìn đừng chê em :P) Định nghĩa 1 hằng số Các hằng số là những xâu kí tự được gán với 1 giá trị cố định. Các bạn định nghĩa 1 hằng số bằng cấu trúc PHP Code
Chủ đề:
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
CÓ THỂ BẠN MUỐN DOWNLOAD

Set-Cookie: TLDEVNamespace=1kh0kqas7ast9up0fmeef488p0; path=/; domain=.tailieu.vn; HttpOnly


markdown:
# phụ lục 6 phân tích, thiết kế và lập trình tượng
Chia sẻ: Men Men | Ngày: | Loại File: DOC | Số trang:30
lượt xem 33
download
![](http://image1.tailieu.vn/document/thumbnail/2010/20100526/tmaccounttemp1/80x100/phuc_luc_6_7818.jpg)
##
phụ lục 6 phân tích, thiết kế và lập trình tượng
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static1.tailieu.vn/b2013az/templates/version1/default/images/down16x21.png)
Tham khảo tài liệu 'phụ lục 6 phân tích, thiết kế và lập trình tượng', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
##
Nội dung Text: phụ lục 6 phân tích, thiết kế và lập trình tượng
- phụ lục 6 tượng cho phép mô tả hệ thống gần với thế giới thực hơn, xác phân tích, thiết kế và lập trình hướng đối định rõ các đối tượng, trừu tượng hoá các yêu cầu để trên cơ sở đó xây dựng được cấu trúc của hệ thống. Phương pháp hướng đối tượng tượng giải quyết được hố ngăn cách giữa phân tích và thiết kế hệ § 1. Phân tích hướng đối tượng thống. 1.1. Giới thiệu Trong mục này chúng ta đề cập đến các bước cần thực hiện trong phân tích hướng đối tượng (PTHĐT). Thông qua ví dụ về Phân tích hệ thống không chỉ có liên quan chặt chẽ với sự xuất phân tích hệ thống thư viện, chúng ta hình dung rõ hơn công việc hiện của máy tính, mà thực tế nhu cầu phân tích đã có trước khi xây dựng các đặc tả yêu cầu, mô tả đối tượng và cách xác định máy tính xuất hiện từ nhiều thế kỷ. Khi các Vua Pharaon của Ai mối quan hệ giữa các lớp đối tượng trong hệ thống. Cập cổ đại xây dựng các Kim Tự Tháp, thì những người thiết kế Kim Tự Tháp có thể được coi như những nhà thiết kế hệ thống, 1.2. Các bước thực hiện trong phân tích hướng đối tượng những kiến trúc sư đại tài, còn những người tổ chức vận chuyển Để xây dựng một hệ thống phần mềm thì phải giải quyết ba nguyên vật liệu, huy động nhân công xây dựng Kim Tự Tháp, theo vấn đề chính sau: một nghĩa nào đó, chính là những người phân tích hệ thống. Từ giữa thế kỷ trước, các nhà tư bản, các doanh nghiệp muốn có lợi + Dữ liệu, lớp các đối tượng và cấu trúc của chúng. nhuận cao đã phải tiến hành nghiên cứu phương pháp, cách tổ + Những hành vi thể hiện các chức năng cục bộ, những quá chức, phân công lao động hợp lý để cho các hệ thống sản xuất, trình trong hệ thống. kinh doanh hoạt động đạt hiệu quả cao hơn. Chính họ đã thực + Điều khiển hành vi tổng thể của hệ thống. hiện phân tích những hệ thống đó để đề ra những phương pháp Trong thực tế, cấu trúc dữ liệu và yêu cầu về hành vi của hệ quản lý, cách tổ chức mới, tốt hơn. thống thường xuyên thay đổi. Do vậy phải phân tích kỹ bài toán, Cùng với sự phát triển của công nghiệp điện tử, giá thành phần lựa chọn phương pháp phát triển hệ thống thích hợp để cho hệ cứng giảm nhiều, nhưng giá phần mềm lại tăng. Nhất là phí tổn thống có tính chất mở, dễ thích nghi giúp cho công việc bảo trì hệ cho bảo trì để hệ thống đáp ứng được như cầu của người sử dụng thống đỡ tốn kém. lại chiếm một tỷ trọng rất lớn trong tổng chi phí cho một dự án Người phân tích hệ thống là người có kiến thức bao quát, có phát triển phần mềm. Điều này cho thấy vai trò của công việc kinh nghiệm trong quá trình phân tích nhiều hệ thống ứng dụng phân tích hệ thống là rất quan trọng và cần thiết phải tìm ra khác nhau, đồng thời phải có khả năng giao tiếp, trao đổi và hiểu phương pháp tốt hơn cho việc phát triển hệ thống. được những người đầu tư, thiết kế và những người sử dụng hệ Phân tích làm nhiệm vụ phân tách bài toán thành các thành phần thống. nhỏ hơn. Trong công nghệ phần mềm thì nó còn có nghĩa là phải Nhiệm vụ của phân tích hệ thống là phải trả lời cho được câu hiểu rõ quá trình xây dựng đặc tả yêu cầu của người sử dụng, hỏi "Hệ thống làm cái gì?" và "Tại sao?". Để xác định được bài nắm được các chức năng và cách phân rã hệ thống vật lý thành các toán và trả lời được những câu hỏi nêu trên thì người phân tích đơn thể (module). Theo phương pháp truyền thống thì điều đó cũng cần phải phát hiện, tìm hiểu kỹ những hệ thống đã có hoặc thường được thực hiện theo cách tiếp cận trên-xuống (top-down), đang hoạt động trong thực tế. Có thể đó chưa phải là hệ thống tin sử dụng phương pháp phân tích có cấu trúc. Phân tích hướng đối 577 578
- học hoá. Trên cơ sở nghiên cứu những hệ thống cũ, xác định rõ + Xác định các hàm mà các đối tượng sẽ phải thực hiện (hành yêu cầu của người sử dụng để quyết định xem hệ thống cần xây vi của các đối tượng). dựng sẽ làm cái gì và hoạt động như thế nào. Quá trình đó được + Xác định mối quan hệ tương tác giữa các đối tượng, các mô tả như ở hình 1-1. thông báo và sự truyền thông báo giữa các đối tượng. Tìm hiểu Quyết định hệ thống cũ hệ thống mới làm cái gì? Xây dựng các đặc t ả 579 580 Yêu cầu của người sử dụng Định nghĩa bài Phát hiện những Xác định rõ Xác định các l ớp hệ thống cũ hệ thống cần phát triển Hình 1-1. Mức độ bao quát thế giới thực Xác định M i quan hệ ố các hàm gi ữa các đối Trong các phương pháp truyền thống thì mô hình dòng dữ liệu được mô tả thông qua sơ đồ dòng dữ liệu. Các quá trình trong hệ thống được xác định thông qua việc phân rã chức năng top-down. Sơ đồ biến đổi trạng thái được sử dụng để mô tả sự biến đổi Thiết kế thông tin và dòng điều khiển trong hệ thống. Phương pháp hướng đối tượng kết hợp hai phương diện dữ liệu với quá trình, gộp Hình 1-2. Phân tích hướng đối tượng chung hành vi cục bộ với dữ liệu trong một đơn vị cấu trúc. Phương pháp phân tích hướng đối tượng cung cấp cho chúng ta 1.2.1. Tìm hiểu kỹ bài toán công cụ đơn giản nhưng đủ mạnh để xác định các đối tượng và Nhiệm vụ đầu tiên của quá trình phân tích là phải tìm hiểu kỹ xây dựng các đơn nguyên của hệ thống cần phát triển. Phân tích bài toán ứng dụng. Người phân tích phải gặp gỡ, trao đổi với hướng đối tượng bao gồm các bước sau: những người đầu tư, những người sử dụng để biết rõ về chức + Tìm hiểu bài toán. năng, nhiệm vụ của hệ thống cần phát triển. Đồng thời người + Xác định rõ các đặc tả yêu cầu của người sử dụng, của hệ phân tích phải tìm hiểu, phát hiện những hệ thống cũ đã hoặc đang thống phần mềm. giải quyết những vấn đề tương tự như những vấn dề mà hệ thống cần xử lý. Dựa vào những kinh nghiệm, kết quả phân tích + Xác định các đối tượng và các thuộc tính của chúng.
- những hệ thống cũ, những công việ mà hàng ngàyphải thực hiện 1.2.3. Xác định các đối tượng để xác định chính xác bài toán. Trên cơ sở đó làm rõ hơn những Thông thường các đối tượng sẽ được xác định thông qua các yêu cầu của bài toán và định nghĩa lại theo quan điểm của các kỹ thực thể trong thế giới thực và được trừu tượng hoá thành các đối sư phầm mềm để đảm bảo đưa ra được lời giải tin học (hệ thống tượng trừu tượng. Để xác định các đối tượng chúng ta có thể sử thực hiện được trên máy tính). Các khẳng định về bài toán phải dụng một trong những công cụ sau: đơn giản và rõ ràng, mạch lạc về văn phạm. Điều này giúp cho các kỹ sư phần mềm có điều kiện tập chung nhiều hơn vào việc 1. Sơ đồ dòng dữ liệu xây dựng lời giải cho bài toán. Dựa trên những khẳng định của bài 2. Phân tích văn bản. toán để xây dựng các đặc tả yêu cầu của người sử dụng lẫn của Sơ đồ dòng dữ liệu: cả hệ thống phần mềm. Sơ đồ dòng dữ liệu là mô hình hệ thống cho cả dữ liệu lẫn quá 1.2.2. Xây dựng các đặc tả yêu cầu trình. Thông tin lấy từ các nguồn dữ liệu, được chuyển đến cho một hay nhiều quá trình xử lý và ngược lại, một quá trình khi nhận Khi đã định nghĩa rõ bài toán thì bước tiếp theo là phải tìm hiểu đủ thông tin vào (input) thì bắt đầu thực hiện, xử lý thông tin và xem hệ thống dự kiến sẽ yêu cầu làm cái gì? Điều quan trọng ở 581 cho các kết quả (output) và chúng được gửi tới các kho dữ liệu. 582 đây là phải xây dựng được danh sách các yêu cầu của người sử Trong sơ đồ dòng dữ liệu, một quá trình sẽ được thực hiện khi có dụng. Rõ ràng là ở đây cần có sự trao đổi, hiểu biết giữa người sử đủ các thông tin đầu vào (theo các đường có mũi tên dẫn đến quá dụng và người phát triển hệ thống về những điều mà họ mong trình đó). muốn. Dựa trên những yêu cầu của người sử dụng, người phát triển đưa ra các đặc tả cho hệ thống. Người xây dựng hệ thống Trong sơ đồ, hình tròn hoặc ellipse được sử dụng để biểu diễn phải trả lời được các câu hỏi: cho một quá trình, trong hình có tên gọi của quá trình. Tên gọi cho một quá trình phải là duy nhất và bao giờ cũng phải bắt đầu bằng + Đầu ra (output) của hệ thống là cái gì? động từ kết hợp với bổ ngữ như: "Xử lý đơn hàng", "Ghi nhận + Hệ thống sẽ phải làm cái gì để có kết quả mong muốn, nghĩa nguồn hàng" v.v... Ví dụ: là phải xử lý cái gì? + Đầu vào (input) của hệ thống là cái gì? Đơn đặt hàng Xử lý Chỉ thị đơn hàng + Những tài nguyên mà hệ thống yêu cầu là cái gì? Phải hiểu rõ nguồn gốc, các dạng thông tin cần cung cấp cho Chức năng quan trọng của quá trình là xử lý dữ liệu, biến đổi hệ thống hoạt động. Hệ thống sẽ giải quyết vấn đề gì, những kết thông tin. Dòng dữ liệu được biểu diễn bằng đường thẳng có mũi quả cần phải có là gì. Xác định được mối quan hệ giữa đầu vào/ra tên làm nhiệm vụ chuyển tải thông tin vào hoặc ra khỏi một quá (input/output), nghĩa là xác định được những khẳng định về mối trình. Mũi tên chỉ hướng của dòng thông tin. Lưu ý là ở đây chỉ nói quan hệ giữa tiền điều kiện và hậu điều kiện cho các quá trình tới sự vận chuyển thông tin logic chứ không phải thông tin ở dạng trong hệ thống. vật lý. Dòng dữ liệu được gắn với một tên nhưng không nhất thiết phải là duy nhất. Các dòng dữ liệu, và tên được gắn cho nó phải Các đặc tả chi tiết phục vụ cho việc xây dựng và trắc nghiệm chỉ ra được thông tin logic tương ứng cho một quá trình. Trong sơ hệ thống để kiểm tra xem những nhiệm vụ đặt ra có được hoàn đồ dòng dữ liệu, các dữ liệu được biểu diễn bằng hình chữ nhật thành hay không.
- có chứa tên của thông tin đượcc cất giữ. Tên gắn với dữ liệu phải CSDL về khách hàng là danh từ. Ví dụ: KHACH_HANG Tập hợp biểu diễn cho những thông tin về khách hàng được có tên là đơn hàng KHACH_HANG. Giữa dữ liệu và quá trình luôn có ít nhất một dòng dữ liệu liên kết. Hình 1-4. Sơ đồ dòng dữ liệu trong hệ xử lý đơn đặt hàng Khách Đơn đặt hàng Xử lý Chỉ thị Kho Phương pháp tạo ra sơ đồ dòng dữ liệu đơn hàng Chúng ta có thể tạo ra sơ đồ dòng dữ liệu theo một trong hai cách sau: Hình 1-3. Sơ đồ dòng dữ liệu 1. Dùng sơ đồ chức năng: Sơ đồ chức năng chỉ cho chúng ta Các quá trình được biểu diễn trong các ô hình tròn hoặc ellipse biết về chức năng và cấu trúc phân cấp công việc cần thực hiện. là các thủ tục, các hàm. Hình 1-3 mô tả sơ đồ dòng dữ liệu của hệ Một trong những nhiệm vụ đầu tiên của người phân tích là phân thống xử lý đơn hàng và vận chuyển thông tin cho công ty phát tích bài toán để xây dựng sơ đồ chức năng của hệ thống. Theo hành sách. phương pháp có cấu trúc, việc phân rã chức năng của hệ thống Trong sơ đồ dòng dữ liệu của hệ thống thì các thực thể được thành những chức năng con lại bao hàm nhiều chức năng con khác biểu diễn trong các hình chữ nhật và các kho dữ liệu được biểu nữa sẽ cho kết quả là một sơ đồ phân cấp các chức năng của hệ diễn với tên gọi đặt trong hai đường thẳng song song. Kho dữ liệu 583 thống (phân tích chức năng và cách xây dựng sơ đồ chức năng 584 biểu diễn cho một lượng lớn thông tin cần phải lưu trữ trong một được đề cập kỹ trong cuốn "Phân tích, thiết kế và cài đặt hệ thông thời gian dài, thường là trong các tệp dữ liệu để cho nhiều người tin quản lý, Viện Tin học"). Các chức năng trong sơ đồ chức năng có thể truy nhập vào. Sơ đồ dòng dữ liệu có thể sử dụng để biểu sẽ được chuyển tương ứng sang quá trình trong sơ đồ dòng dữ diễn quá trình xử lý thông tin trong hệ thống ở nhiều mức độ trừu liệu. Dựa vào kết quả tìm hiểu, phân tích bài toán để xác định các tượng khác nhau. Quá trình "Xử lý đơn hàng", "Tập hợp đơn hàng" nguồn dữ liệu, kho dữ liệu vào/ra cho các quá trình trong sơ đồ ở hình 1-4 được làm mịn từ quá trình "Xử lý đơn hàng" ở hình 1-3 dòng dữ liệu. và có thể tiếp tục được làm mịn thêm, mô tả những quá trình như 2. Sử dụng sơ đồ ngữ cảnh: Sơ đồ ngữ cảnh thường được sử thanh toán, giao hàng v.v..., ở mức độ chi tiết hơn. dụng ở giai đoạn đầu của quá trình phân tích và được dùng để vạch phạm vi hoạt động của hệ thống. Thông thường sơ đồ ngữ CSDL về sách cảnh được xây dựng dưới dạng tựa như sơ đồ chức năng, bao gồm một nút chính biểu diễn cho nhiệm vụ trung tâm của hệ thống, và toả ra là các tác nhân ngoài hoặc nhóm công việc có liên Xử lý Các kho quan. Đơn đặt đơn hàng Phân tích sơ đồ chức năng, sơ đồ ngữ cảnh và cách xây dựng sơ đồ dòng dữ liệu có thể tham khả trong cuốn "Phân tích, thiết kế và cài đặt hệ thông tin quản lý, Viện Tin học".
- Chúng ta có thể dựa vào định nghĩa của sơ đồ dòng dữ liệu để định xác định các đối tượng. Trong sơ đồ dòng dữ liệu, những ô hình Danh từ trừu Xác định chất lượng, đại Thu nhập, lương, giao chữ nhật, ô có hai đường thẳng song song biểu diễn cho dữ liệu, tượng hoặc đại lượng hoặc hoạt động ứng thông kho dữ liệu có thể được xem như là các đối tượng. Lưu ý rằng lượng với danh từ không có sự tương ứng 1-1 giữa những nút biểu diễn cho dữ liệu, kho dữ liệu trong sơ đồ dòng dữ liệu với các đối tượng. Một đối Tóm lại, chúng ta có thể sử dụng một trong hai công cụ trên để tượng có thể là đại diện của một hay nhiều nút dữ liệu, kho dữ xác định danh sách các đối tượng của bài toán ứng dụng và sau đó liệu trong sơ đồ dòng dữ liệu tuỳ thuộc vào ngữ cảnh của vấn đề tiếp tục: mà nó mô tả. Ví dụ trong hình 1-4. chúng ta sẽ có ba đối tượng: 1. Xác định những đối tượng chỉ nằm trong không gian bài toán, SACH, DON_HANG và KHACH_HANG. Hai nút: kho dữ liệu không gian lời giải, và những đối tượng nằm trong không gian bài "CSDL về sách" với nút dữ liệu "Các kho sách" cùng đại diện cho toán nhưng nằm ngoài giới hạn của hệ thống phần mềm. đối tượng SACH vì cùng quản lý những thông tin về sách; đối tượng DON_HANG được xác định từ nút "Đơn đặt sách" còn 2. Xây dựng các thuộc tính cho các đối tượng của không gian KHACH_HANG được xác định từ nút "CSDL về khách hàng". lời giải. Sau khi đã xác định được các đối tượng thì nhiệm vụ tiếp theo Phân tích văn bản: là xác định những thuộc tính mô tả các tính chất của từng lớp đối Cách thực hiện thứ hai là dựa trên mô tả bằng văn bản của bài tượng. Người phân tích có thể dựa vào ba nguồn cung cấp thông toán hoặc lời giải để phân tích. Văn bản mô tả có thể gồm có một tin cơ bản sau để tập hợp, xây dựng những thuộc tính cho từng hay nhiều câu, một hay nhiều đoạn, chương, phần, tuỳ thuộc vào lớp đối tượng: mức độ phức tạp của bài toán. Trong đó các đối tượng thường được mô tả bằng các danh từ. Danh từ thường được phân loại 1. Từ những kinh nghiệm, tri thức của người phân tích hệ thống thành danh từ riêng, danh từ chung, và các danh từ trừu tượng hoặc về thực tế công việc trong lĩnh vực tập trung nghiên cứu để dự danh từ chỉ đại lượng. đoán, xác định danh sách các thuộc tính. Điều quan trọng cần lưu ý khi phân tích là phải dựa vào ngữ 2. Từ những người sử dụng, thông qua các cuộc phỏng vấn, 585 586 nghĩa và ngữ cảnh để phân loại danh từ. Một từ có thể là danh từ trao đổi và tìm hiểu bài toán cụ thể để lập danh sách các thuộc chung trong ngữ cảnh này song nó cũng có thể là danh từ trừu tính. tượng hoặc danh từ chỉ đại lượng trong ngữ cảnh khác. Cũng cần 3. Từ những hệ thống cũ, những bảng biểu, báo cáo và các tài lưu ý là không phải tất cả các danh từ đều được dùng để biểu liệu khoa học được sử dụng thường xuyên trong lĩnh vực đang diễn cho những đối tượng cần thiết cho hệ thống của chúng ta. nghiên cứu để chọn lọc ra những thuộc tính cho lớp các đối tượng Bảng 1-1. Bảnh phân loại danh từ đã xác định. Theo cách thức đó chúng ta có thể đề xuất danh sách những Kiểu của danh từ ý nghĩa Ví dụ thuộc tính cho các lớp SACH, DON_HANG và KHACH_HANG Danh từ chung Xác định một lớp các thực Ô tô, khách hàng, học sinh trong hệ quản lý kinh doanh sách đã nêu ở trên như sau: thể Đối với lớp SACH Danh từ riêng Tên của một đối tượng xác Nguyễn An, IBM, BBC Tac_gia : Tên tác giả của cuốn sách
- Ten_sach : Tên gọi, tiêu đề của cuốn sách Động từ chỉ sự so sánh Các phép so sánh Nhỏ hơn, bằng v.v... Nha_XB : Nhà xuất bản Động từ chỉ trạng thái Điều kiện - bất biến Cần, phải có mặt Nam_XB : Năm xuất bản Các động từ chỉ hành động và so sánh giúp cho chúng ta xác Đối với lớp DON_HANG định được các hàm, còn động từ chỉ sự xuất hiện, so sánh giúp So_hieu : Số hiệu đơn đặt hàng chúng ta xây dựng được cấu trúc phân loại. Động từ sở hữu giúp cho việc xác định những cấu trúc cấu thành của các đối tượng. SH_KH : Số hiệu hoặc tên khách hàng Cách thứ hai là dựa vào sơ đồ dòng dữ liệu để xác định các hàm, Ngay_DH : Ngày đặt hàng các chức năng được biểu diễn bằng các hình tròn hoặc ellipse. Ví Ngay_GH : Ngày giao hàng dụ, để mô tả cho hành vi của đối tượng trong lớp KHACH_HANG chúng ta phải xây dựng các hàm xử lý những thuộc tính đã xác định Đối với lớp KHACH_HANG ở trên như các hàm xác định những thông tin về khách hàng: số SH_KH : Số hiệu khách hàng hiệu, họ và tên, địa chỉ, tài khoản v.v... Ten_KH : Tên khách hàng 1.2.5. Xác định mối quan hệ giữa các đối tượng Dia_chi : Địa chỉ, nơi giao hàng Bước tiếp theo là xác định mối quan hệ giữa các đối tượng, TK_KH : Số tài khoản của khách hàng trong ngân hàng nghĩa là sự trao đổi thông tin giữa chúng. Như chúng ta thấy, trong một hệ thống mỗi thực thể phải có quan hệ ít nhất với một thực Danh sách các thuộc tính của các lớp sẽ được tiếp tục xem xét, thể khác. Chẳng hạn, trong hệ thống quản lý kinh doanh của công bổ sung cho đầy đủ trong giai đoạn thiết kế. Cần lưu ý là phải cân ty phát hành sách với sơ đồ dòng dữ liệu đã xây dựng ở hình 1-4, nhắc để đưa ra được những thuộc tính chung nhất, với những tên khách hàng muốn mua sách thì phải ghi vào đơn đặt hàng, nghĩa là gọi đặc trưng cho từng lớp đối tượng. đối tượng KHACH_HANG sẽ phải gửi một thông báo (đơn đặt 1.2.4. Xác định các hàm hàng) cho đối tượng DON_HANG. Tương tự, DON_HANG lại có quan hệ với SACH vì những cuốn sách sẽ được bán cho khách Để mô tả đầy đủ, chính xác các đối tượng chúng ta cần tiếp hàng khi nhận được các đơn đặt hàng. Quan hệ giữa các lớp đối tục xác định các hàm mô tả hành vi của chúng. Chúng ta có thể dựa tượng có thể có những kiểu khác nhau và được phân thành ba kiểu vào văn bản mô tả bài toán để xác định các hàm. Thông thường, sau: trong các câu mô tả thì động từ được dùng để chỉ một hành động, sự xuất hiện, phân loại hay cấu thành của các đối tượng. 1. Quan hệ một - một 587 588 Bảng 1-2. Bảng phân loại động từ 2. Quan hệ một - nhiều ý nghĩa Ví dụ 3. Quan hệ nhiều - nhiều Các kiểu động từ Quan hệ một - một: Hai lớp có quan hệ 1-1 nếu với mỗi đối Động từ chỉ hành động Nêu các hành động Đọc, viết, mua, bán tượng của lớp này có liên quan tương ứng một đối tượng ở lớp kia Động từ chỉ sự xuất Phân loại Là, nằm trong v.v... và ngược lại. Ví dụ: Hai lớp PHIEU_GHI và MAT_HANG có quan hiện Cấu thành Có, là một phần của hệ 1-1. Mỗi phiếu ghi trong lớp PHIEU_GHI sẽ mô tả đúng một Động từ chỉ sở hữu mặt hàng được quản lý trong lớp MAT_HANG. Quan hệ này được
- biểu diễn như sau: Hình 1-7. Quan hệ nhiều - nhiều PHIEU_GHI MAT_HANG Hai lớp NHA_CUNG_CAP và MAT_HANG có quan hệ nhiều - nhiều vì mỗi xí nghiệp có thể sản xuất và bán ra nhiều mặt hàng Hình 1-5. Quan hệ một - một và ngược lại, một mặt hàng cũng có thể được sản xuất ở nhiều Quan hệ một - nhiều: Hai lớp A và B có quan hệ một - nhiều nơi. nếu: Mô hình dữ liệu và những quan hệ giữa các đối tượng được sử - Với mỗi đối tượng trong lớp A có quan hệ với một hay nhiều dụng không chỉ như một công cụ để phân tích, thiết kế mà còn đối tượng trong lớp B. như một phương pháp kiểm chứng các yêu cầu của hệ thống. Những vấn đề về xây dựng mô hình dữ liệu, mô hình quan hệ và - Mỗi đối tượng trong lớp B có quan hệ với một đối tượng của các bước chuẩn hoá dữ liệu có thể tham khảo trong cuốn “Phân lớp A. tích, thiết kế và cài đặt hệ thông tin quản lý, Viện Tin học”. Quan hệ một - nhiều được biểu diễn như sau: 1.3. Ví dụ A KHACH_HANG 1.3.1. Phát biểu bài toán Tại khoa Tin học của một trường đại học có khoảng vài trăm B DON_HANG cuốn sách để cho các cán bộ nhân viên trong khoa mượn. Hãy xây dựng một hệ thống để quản lý trên máy tính những cuốn sách mà Hình 1-6. Quan hệ một - nhiều khoa có, những cuốn nào đang trong phòng làm việc, những cuốn Lớp KHACH_HANG có quan hệ một - nhiều với lớp nào đang có người mượn và ai mượn. DON_HANG vì một khách hàng có thể đặt nhiều đơn hàng khác Đây là ví dụ đơn giản, nhưng cũng khá điển hình trong quá trình nhau. phân tích, thiết kế hướng đối tượng. Chúng ta cũng sẽ phân tích Quan hệ nhiều - nhiều: Hai lớp A và B có quan hệ nhều - nhiều khả năng mở rộng, khả năng bảo trì hệ thống hướng đối tượng nếu: theo những yêu cầu mới cần mở rộng và phát triển hệ thống nhằm - Mỗi đối tượng A có sự tương ứng với nhiều đối tượng trong đáp ứng nhu cầu của người sử dụng. B. Để giải quyết bài toán đã nêu ở trên, chúng ta có thể sử dụng - Ngược lại, mỗi đối tượng trong B cũng có tương ứng với một trong những hệ quản trị dữ liệu phổ dụng như FoxPro, Access nhiều đối tượng trong A. v.v... ở đây chúng ta muốn thông qua ví dụ này làm rõ hơn những công việc, các bước cần thực hiện trong quá trình phân tích hướng Quan hệ nhiều - nhiều được biểu diễn như sau: đối tượng. A NHA_CUNG_CAP 1.3.2. Phân tích hệ thống 589 Bài toán nêu ở trên tương đối rõ ràng. Yêu cầu xây dựng hệ 590 B MAT_HANG thống phần mềm để quản lý các cuốn sách. Phân tích hướng đối tượng là việc lặp lại nhiều lần việc phân tích bài toán để xác định
- các đối tượng và xây dựng các đặc tả bài toán. Nhưng phân tích đối tượng, chúng ta thực hiện bước tiếp theo là xác định các thuộc hướng đối tượng còn có yếu tố tổng hợp. Việc thực hiện trừu tính, hàm và mối quan hệ giữa các lớp đối tượng. tượng hoá những yêu cầu của người sử dụng và xác định rõ được Sách là đối tượng đã được xác định và được biểu diễn như sau: các đối tượng chính cho phép tập hợp chúng để tạo ra cấu trúc hệ thống logic hỗ trợ cho giai đoạn thiết kế tiếp theo. SACH Nhiệm vụ chính của giai đoạn phân tích là xây dựng mô hình Peter Norton khái niệm cho thế giới thực. Thế giới thực của chúng ta ở đây ... gồm những cuốn sách và bạn đọc. Những cuốn sách sẽ được để ở Trong đó, SACH là tên gọi lớp tất cả các cuốn sách có trong thư đâu đó, trong phòng làm việc hoặc đã cho ai mượn. viện. Peter Norton là tên một cuốn sách, một đối tượng cụ thể. Để hiểu rõ hơn về các thực thể và mối quan hệ của chúng Tương tự đối tượng bạn đọc sẽ được mô tả như sau: trong thế giới thực mà bài toán đặt ra ở đây là sách và bạn đọc, chúng ta cần tìm hiểu kỹ về hệ thống có liên quan như hệ thống BAN_DOC thư viện. Trên cơ sở đó, xây dựng các đặc tả yêu cầu cho bài toán. Lan Anh Phân tích kỹ bài toán, dựa vào văn bản mô tả bài toán chúng ta ... thấy có hai lớp đối tượng là: SACH và BAN_DOC. Trong các hệ Trong đó, BAN_DOC là lớp các độc giả và Lan Anh là một bạn thống thư viện, một cuốn sách có thể được xác định thông các đọc, một đối tượng trong lớp đó. thuộc tính như: mã số thư viện, tên tác giả, tên gọi cuốn sách, nhà xuất bản, năm xuất bản v.v... Để đơn giản chúng ta có thể dùng Trong hệ thống thư viện, những cuốn sách và độc giả sẽ được tên tác giả để xác định cuốn sách, hoặc tên gọi cùng tên tác giả mô tả tương ứng là các đối tượng SACH và BAN_DOC. Bằng nếu như có hai cuốn cùng tác giả, còn bạn đọc thì sẽ được xác nhiều cách khác nhau, chúng ta phân tích và xác định được các định thông qua họ và tên của từng người. Ví dụ: Peter Norton là thuộc tính, các hàm cho hai lớp SACH, BAN_DOC. cuốn sách “Cẩm nang lập trình” do Peter Norton viết, là một đối class SACH tượng trong lớp SACH. Lan Anh là tên một độc giả, là một đối { tượng trong lớp BAN_DOC v.v... Attribute //Thuộc tính Hệ thống phần mềm mà chúng ta xây dựng sẽ phải giải quyết các vấn đề sau: Tac_gia : Tác giả cuốn sách, + Lan Anh đã mượn cuốn Peter Norton. Ten_sach : Tên gọi hoặc tiêu đề của cuốn sách + Hoang Trung đã mượn những cuốn sách nào? Xuat_ban : Nhà, năm xuất bản + Ai mượn cuốn sách Peter Hendenson? Noi_giu : Sách đã cho ai mượn hay có tại thư viện + Lan Anh trả cuốn Peter Norton. Function //Hàm + Một cuốn sách mới được bổ sung. Nhap_sach() : Nhập các thông tin về cuốn sách vào Đây chính là danh sách các yêu cầu của hệ thống. thư viện Sau khi đã xác định được các yêu cầu của bài toán và lớp các Cho_muon() : Xác định là sách đã cho mượn 591 592
- Hoan_tra() : Sách đã được trả lại thư viện Hình 1-9. Mối quan hệ giữa độc giả và sách Display() : Hiện các thông tin về cuốn sách Trong mô hình đồ thị của chúng ta, mối quan hệ giữa hai lớp đối tượng được thể hiện chi tiết hơn như hình 1-10. } class BAN_DOC BAN_DOC BAN_DOC BAN_DOC BAN_DOC { Lan Anh Thu Ha Van Dung Quynh Lien Attribute //Thuộc tính Ho_ten : Họ và tên người mượn sách, Dia_chi : Địa chỉ, điện thoại của bạn đọc Ten_sach : Tên những cuốn sách đã mượn Function //Hàm SACH SACH SACH SACH Nhan_HT() : Nhập họ tên, địa chỉ của một bạn đọc OOD Peter Norton C++ OOA Muon() : Nhập thêm những cuốn sách mới mượn Tra() : Trả sách cho thư viện Display() : Cho biết những thông tin về bạn đọc Hình 1-10. Thể hiện mối quan hệ giữa hai lớp đối tượng SACH và BAN_DOC } Sơ đồ trên mô tả sự trao đổi thông tin giữa các lớp đối tượng. Bây giờ chúng ta cần xác định mối quan hệ giữa hai lớp SACH Lan Anh mượn hai cuốn Peter Norton và C++; Hoang Trung mượn và BAN_DOC. Ví dụ, Lan Anh mượn cuốn Peter Norton có thể cuốn OOA, cuốn sách OOD vẫn chưa có ai mượn v.v... được mô tả như đồ thị sau: Hệ thống của chúng ta luôn hoạt động bởi vì: BAN_DOC + Thường xuyên có người mượn sách. Lan Anh SACH + Một cuốn sách được trả lại hoặc được mua bổ sung. Ian Graham Dựa vào kết quả phân tích ở trên chúng ta dễ dàng xây dựng thiết kế và cài đặt hệ thống quản lý sách đơn giản nhưng đáp ứng được yêu cầu đặt ra là quản lý được sách và dễ dàng sửa đổi, bổ Hình 1-8. Lan Anh mượn cuốn sách Peter Norton sung khi cần thiết. Một cuốn sách có thể cho nhiều nhất một người mượn, ngược lại một người có thể mượn nhiều cuốn sách. Do vậy BAN_DOC và SACH có quan hệ một - nhiều. BAN_DOC SACH 593 594
- § 2. Thiết kế hướng đối tượng phần mềm không phụ thuộc vào ngôn ngữ lập trình. Nhiều đặc tính như “Che dấu”, “kế thừa” làm cho việc thực hiện thiết kế trở 2.1. Giới thiệu chung nên dễ dàng hơn, đơn giản hơn. Những thiết kế này cũng có thể Mục này sẽ mô tả phương pháp thiết kế phần mềm dựa trên được cài đặt bằng ngôn ngữ chưa có đặc tính đó như Turbo C, các đối tượng. Phương pháp hướng đối tượng (HĐT) nhằm che hoặc Pascal, nhưng tốt nhất là nên sử dụng những ngôn ngữ dấu thông tin ở mức tối đa và vì vậy hỗ trợ cho việc thiết kế hướng đối tượng để cài đặt những thiết kế được thực hiện theo những hệ thống với những cặp bộ giữa các thành phần là cực tiểu cách tiếp cận hướng đối. Nhiều ngôn ngữ lập trình hướng đối nhưng mức độ cố kết hệ thống lại cao hơn cách tiếp cận chức tượng như Eiffel, Object Pascal, Smalltalk, C++ có những đặc tính năng. Chúng ta sẽ tập trung nghiên cứu các bước cần thực hiện hướng đối tượng hỗ trợ cho việc mô tả và thực hiện cài đặt trực trong thiết kế hướng đối tượng và ví dụ mô tả cách thiết kế các tiếp những thiết kế hướng đối tượng hiệu quả hơn. lớp, xây dựng cấu trúc hệ thống trong quá trình phát triển phần Tóm lại thiết kế hướng đối tượng có những ưu điểm chính sau: mềm. - Loại bỏ được những miền dữ liệu dùng chung thông qua cơ Che giấu thông tin là chiến thuật thiết kế sao cho có thể giấu chế trao đổi thông tin giữa các đối tượng bằng các thông báo. được nhiều nhất lượng thông tin ở bên trong các thành phần cơ sở của một thiết kế. Điều này có nghĩa là sự trao đổi giữa các thực - Các đối tượng được thiết kế là các thực thể độc lập (theo thể của thiết kế là cực tiểu và vì vậy thiết kế dễ dàng thay đổi nghĩa không sử dụng dữ liệu chung), mọi thay đổi về trạng thái, hơn. Thiết kế hướng đối tượng (TKHĐT) là phương pháp thiết kế bổ sung, sửa đổi các hoạt động chức năng của một đối tượng chỉ được thực hiện theo nguyên lý che giấu thông tin. Khác với cách sảy ra bên trong của đối tượng đó, không ảnh hưởng đến các đối tiếp cận truyền thống (hướng chức năng) là nó xem hệ thống tượng khác. Mọi sự thay đổi trong thiết kế, trong hệ thống phần phần mềm (HTPM) là tập hợp các đối tượng tương tác với nhau. mềm chỉ sảy ra cục bộ đối với một số đối tượng liên quan. Điều Mỗi đối tượng làm việc với trạng thái (dữ liệu) riêng của mình. này đảm bảo hệ thống có tính dễ mở rộng và dễ thích nghi, đáp Đối tượng, khái niệm cơ sở đã được đề cập nhiều ở các phần ứng được nhiều tính chất quan trọng của sản phẩm phần mềm. trước là một thực thể có tập các thuộc tính và tập các hàm tác Các đối tượng có thể được tổ chức phân tán hoặc song song động trên các thuộc tính đó. hay tuần tự theo yêu cầu của bài toán ứng dụng và khả năng kỹ Tập giá trị các thuộc tính xác định trạng thái của một đối tượng. thuật thực tế của dự án phát triển tin học ứng dụng. Một đối tượng không được quyền truy nhập trực tiếp hoặc làm 2.2. Các bước thực hiện trong thiết kế hướng đối tượng thay đổi trạng thái của đối tượng khác. Điều này dẫn đến là các đối tượng chỉ có thể trao đổi với nhau bằng các thông báo. Thông Nhiện vụ của thiết kế hướng đối tượng là xác định các đối báo sẽ kích hoạt các hàm của đối tượng nhận thông tin tương ứng. tượng trong không gian bài toán, chuyển chúng sang không gian lời Hoạt động của cơ chế truyền thông báo giữa các đối tượng là dị giải, xây dựng mô hình kiến trúc và mô hình tính toán cho hệ thống bộ (không đồng bộ) vì vậy chương trình được thiết kế theo hướng phần mềm. Để xây dựng kiến trúc tổng thể cho hệ thống chúng ta đối tượng có thể được thực hiện song song hoặc tuần tự tuỳ theo sử dụng cách tiếp cận dưới - lên (bottom - up). Điều quan trọng là phương pháp lập trình và những công cụ mà chúng ta thực hiện cài phải tạo ra được cấu trúc phân cấp, xác định được các lớp đối đặt có cho phép thực hiện song song hay không. tượng trừu tượng và giảm thiểu được sự trao đổi giữa các đối tượng. ở đây chúng ta cũng đề cập đến khả năng sử dụng lại trong Thiết kế hướng đối tượng là phương pháp thiết kế hệ thống
- thiết kế, phân loại các đối tượng thành những hệ thống con trong hàm thì cần phải xác định vùng hoạt động riêng của hàm trong các cấu trúc phân cấp. đối tượng đó. Cách tiếp cận TKHĐT gồm các bước sau: 3. Nếu có một hàm cần nhiều hơn một kiểu đối tượng (liên 1. Xác định các lớp và các đối tượng, các thành phần cơ bản quan đến hai hoặc nhiều hơn các lớp đối tượng) thì hàm đó không của lời giải. phải là một hàm cố kết, do vậy cần phải phân tách dịch vụ đó ra thành các hàm mịn hơn. 2. Xây dựng các đặc tả cho các đối tượng, các lớp và mối quan hệ giữa chúng. 595 596 ằng cách đó chúng ta xây dựng được danh sách các hàm mô tả B hành vi của các đối tượng. Đồng thời chúng ta cũng loại bỏ được 3. Xây dựng cấu trúc phân cấp cho các lớp. những dư thừa, những thành phần phụ không cần thiết trong cấu 4. Thiết kế các lớp. trúc và trong các đối tượng. 5. Thiết kế các hàm thành phần của lớp. Sự phụ thuộc giữa các lớp 6. Thiết kế chương trình chính. Mục tiêu của thiết kế là xây dựng cấu trúc phân cấp cho hệ Xác định các đối tượng trong không gian lời giải thống. Do vậy, nhiệm vụ tiếp theo của chúng ta là xác định mối quan hệ giữa các lớp đối tượng cấu thành hệ thống. Lớp là tập Khi phân tích văn bản mô tả bài toán và các yêu cầu của người hợp các đối tượng có chung một số thuộc tính, một số hàm vừa đủ sử dụng, chúng ta xác định được các thực thể, những đối tượng để phân biệt với những lớp khác. Đối tượng là thể hiện của lớp. trong không gian bài toán. Bước tiếp theo là phân tích kỹ các đối Trong thiết kế, khái niệm lớp đối tượng và đối tượng là hầu như tượng, xác định các thuộc tính và các hàm đặc tả cho từng đối không phân biệt, các lớp biểu diễn cho các đối tượng trong không tượng. Đồng thời xác định thêm những đối tượng mới xuất hiện gian lời giải. Để xây dựng được mô hình kiến trúc cho hệ thống trong không gian lời giải. Khi xây dựng các đặc tả cho đối tượng, phần mềm, chúng ta cần phân biệt ba loại quan hệ quan trọng chúng ta phải xác định được các thuộc tính, dữ liệu mô tả trạng giữa các lớp: thái của đối tượng và các hàm mô tả hành vi của đối tượng. Thuộc tính là miền dữ liệu riêng của lớp đối tượng, là dữ liệu cục bộ - Quan hệ kế thừa trong một lớp. Thực hiện nguyên lý che giấu thông tin, trong một - Quan hệ thành phần lớp dữ liệu có thể tổ chức thành hai vùng: vùng sở hữu riêng, chỉ - Quan hệ về sử dụng dành riêng cho những đối tượng trong cùng lớp và vùng dùng chung, cho phép những đối tượng trong các lớp có quan hệ với Quan hệ kế thừa: Trong thực tế, có nhiều lớp có những thuộc nhau được quyền sử dụng. Các hàm (nhiều sách còn gọi là thủ tính, hàm giống nhau không những chỉ trong cùng một hệ thống mà tục, dịch vụ, phương thức) có thể dùng chung cho một số đối có thể ở nhiều hệ thống khác nhau. Một trong những mục tiêu tượng. Quá trình xác định các hàm mô tả đối tượng (còn được gọi quan trọng của phương pháp hướng đối tượng là xây dựng các lớp là hàm thành phần của lớp) được thực hiện như sau: đối tượng có khả năng sử dụng cho nhiều ứng dụng khác nhau trên cơ sở khai thác triệt để nguyên lý kế thừa. Quan hệ kế thừa 1. Nếu một hàm chỉ cần thiết cho một đối tượng thì hàm này giữa các lớp là sự giống nhau trong các lớp đối tượng và khả năng chỉ hoạt động trong đối tượng yêu cầu. sử dụng một số đặc tính kế thừa từ những lớp trước. Một lớp có 2. Nếu có hai hoặc nhiều hơn đối tượng cần yêu cầu về một thể sử dụng lại một số thuộc tính, hàm của một hay nhiều lớp đã
- được định nghĩa trước. Lớp được định nghĩa trước có những tính ...... ...... chất chung để cho những lớp khác có thể kế thừa được gọi là lớp cơ sở và lớp kế thừa lớp cơ sở được gọi là lớp dẫn xuất (hoặc là lớp con). Lớp dẫn xuất kế thừa một số hoặc tất cả các đặc tính của một CHIM_CO_DO CHIM_NHAN CHIM_CANH_CUT KIWI hay nhiều lớp cơ sở. Một lớp có thể kế thừa các tính chất của nhiều lớp ở nhiều mức khác nhau và được bổ sung thêm một số ..... ..... ..... ..... đặc tính riêng. Có năm loại kế thừa: kế thừa đơn, kế thừa bội, kế Hình 2-1. Quan hệ kế thừa thừa đa mức, kế thừa phân cấp, kế thừa phức hợp. Trong quan hệ kế thừa, chỉ những thuộc tính, hàm được khai báo sử dụng chung Quan hệ thành phần: Đối tượng của lớp này cũng là phần tử mới được quyền kế thừa. của lớp khác. 597 598 Ví dụ: Trong hệ thống quản lý các loài chim, lớp cơ sở đầu Ví dụ: Trong hệ thống quản lý cán bộ khoa học của một cơ tiên chúng ta có thể xây dựng là lớp CAC_LOAI_CHIM có thuộc quan thì một cán bộ nữ trẻ sẽ là thể hiện của tính, chức năng chung nhất như có lông, đẻ chứng. Trong số các LOP_CAN_BO_TRE và cũng là thành phần của lớp loài chim thì chúng ta cá thể phân làm hai loại: loại chin không bay CAN_BO_NU. được và loại chim biết bay. Hai lớp CHIM_BIET_BAY và Quan hệ về sử dụng: Khả năng sử dụng của một lớp để đọc, CHIM_KHONG_BIET_BAY kế thừa từ lớp CAC_LOAI_CHIM xử lý các đối tượng của những lớp khác. nghĩa là các đặc tính: có lông và đẻ chứng không cần phải mô tả Ví dụ: Một lớp A có thể sử dụng các lớp B và C theo các cách trong các lớp đó nữa mà chỉ cần bổ sung những đặc tính mô tả như sau: thêm về khả năng biết bay hoặc không biết bay của các loài chim. Tiếp tục phân tích lớp CHIM_KHONG_BIET_BAY, giả sử gồm - A đọc các phần tử của B hai lớp CANH_CUT và KIWI còn lớp CHIM_BIET_BAY gồm các - A gọi tới các phần tử của C lớp CHIM_CO_DO, CHIM_NHAN v.v... Trên cơ sở xác định quan - A tạo ra B bằng các sử dụng toán tử new hệ kế thừa các loài chim chúng ta có cấu trúc như trong hình 2-1. Mối quan hệ của các lớp đóng vai trò quan trọng trong thiết kế chương trình sau này. CAC_LOAI_CHIM Tổ chức phân cấp các lớp (theo nghuyên lý tổng quát hoá) - Có lông ở trên chúng ta đã nghiên cứu mối quan hệ mà chủ yếu là quan - Đẻ trứng hệ kế thừa của các lớp đối tượng. ở đây chúng ta dựa vào những ...... mối quan hệ đó để xây dựng cấu trúc phân cấp trên nguyên tắc sử dụng lại tối đa các thuộc tính và hàm của những lớp đã được thiết kế trước. CAC_LOAI_CHIM CHIM_KHONG_BIET_BAY Tổ chức phân cấp các lớp là tập trung phân tích từng nhóm lớp - Lông cánh phát triển - Lông cánh không phát triển có liên quan để xác định được những thuộc tính, hàm chung nhất của cả nhóm và sau đó kết hợp chúng lại để tạo ra lớp mới. Lớp
- mới được gọi là lớp trừu tượng và cũng là lớp cơ sở để cho các lớp trong cùng nhóm kế thừa. Lớp trừu tượng có thể có hoặc CAN_BO_NGHIEN_CUU không có thể hiện là đối tượng trong không gian bài toán. Nó được TREN_DAI_HOC tạo ra thuần tuý bằng cách gộp những thuộc tính chung lại ở nhiều mức trừu tượng khác nhau cho đến khi cảm thấy chắc chắn Các lớp mới được xây dựng: CAN_BO_GIAN_TIEP, không còn một lớp nào mới được tạo ra nữa. TRUC_TIEP_SAN_XUAT, CAN_BO_NGHIEN_CUU lại có Ví dụ: Sau khi phân tích kỹ bài toán quản lý nhân sự của một xí những thuộc tính chung là cán bộ, nhân viên trong cùng một xí nghiệp chúng ta có được các lớp đối tượng: nghiệp nên có thể gộp những đặc tính chung lại để tạo ra một lớp CAN_BO_QUAN_LY, trừu tượng mới là NHAN_VIEN. Những gì đã mô tả trong các lớp NHAN_VIEN_PHUC_VU,CONG_NHAN,CAN_BO_TRUNG_CA cơ sở thì không cần nêu lại trong các lớp dẫn xuất. Sau khi phân P, KY_SU, TREN_DAI_HOC. tích kỹ mối quan hệ giữa các đối tượng để thiết kế lớp, chúng ta sẽ được cấu trúc phân cấp các lớp của hệ thống quản lý nhân sự ở mức thứ nhất chúng ta thấy hai lớp : CAN_BO_QUAN_LY, như sau (theo nguyên lý tổng quát hoá). NHAN_VIEN_PHUC_VU, có thể gộp những đặc tính chung về những thuộc tính, chức năng liên quan đến công việc phục vụ, quản lý xí nghiệp để tạo ra một lớp mới là CAN_BO_GIAN_TIEP. Tương tự hai lớp CONG_NHAN, 599 600 NHAN_VIEN CAN_BO_TRUNG_CAP có những thuộc tính, chức năng chung là tham gia trực tiếp sản xuất ra sản phẩm của xí nghiệp vì vậy có thể gộp chung lại để tạo ra lớp mới TRUC_TIEP_SAN_XUAT. Những cán bộ thuộc lớp TREN_DAI_HOC và KY_SU có chức CAN_BO_ TRUC_TIEP CAN_BO_ năng chung là nghiên cứu để phát triển sản xuất nên có thể gộp lại GIAN_TIEP _SAN_XUAT NGHIEN_CUU thành lớp CAN_BO_NGHIEN_CUU. Các mối quan hệ đó được thể hiện như sau: CAN_BO_ NHAN_VIEN CAN_BO_ NHAN_VIEN CAN_BO_QUAN_LY QUAN_LY _PHUC_VU QUAN_LY _PHUC_VU CAN_BO_GIAN_TIEP NHAN_VIEN_PHUC_VU Hình 2-2. Cấu trúc phân cấp các lớp (dạng cây) Cấu trúc mà chúng ta thu được ở hình 2-2 có dạng cấu trúc cây. Tuy nhiên trong thực tế có nhiều hệ thống trong đó các lớp trừu CONG_NHAN tượng ở mức cuối không có những đặc tính chung để gộp tạo TRUC_TIEP_SAN_SUAT thành một lớp mới. Khi đó chúng ta có một dạng cấu trúc phân cấp CAN_BO_TRUNG_CAP dạng rừng (có nhiều hơn một nút gốc) như hình 2-3. KY_SU
- 1. Các loại điều khiển truy nhập cần thiết cho các lớp cơ sở? 2. Những hàm nào là những hàm ảo? Hàm ảo là những hàm có cùng tên trong lớp cơ sở và lớp dẫn xuất, sẽ được phân biệt trong quá trình thực hiện bởi từng đối tượng cụ thể. 3. Những thư viện các lớp nào được sử dụng để thiết kế lớp. Kết quả thiết kế lớp sẽ ảnh hưởng rất lớp đến chất lượng Hình 2-3. Cấu trúc phân cấp dạng rừng cây phần mềm. Vì vậy khi thiết kế lớp chúng ta cần chú ý những vấn Thiết kế các lớp đề sau: Trong bước phân tích, chúng ta đã xác định được các lớp với các 1. Các lớp chỉ trao đổi với nhau thông qua các hàm. thuộc tính và tập tối thiểu các hàm chính thực hiện trên các thuộc 2. Một đối tượng của một lớp không được gửi thông báo trực tính mô tả đối tượng của lớp đó. Để xây dựng được thiết kế tổng tiếp cho đối tượng của lớp khác. thể cho hệ thống, chúng ta cần xem xét các lớp ở mức độ chi tiết, 3. Hàm được khai báo là chung (public) chỉ khi nó được sử dụng bổ sung thêm những thuộc tính, hàm cần thiết cho các lớp đối chung cho nhiều đối tượng của một lớp. tượng. Ngoài những hàm thể hiện đặc tính cơ bản của đối tượng trong một lớp, chúng ta cần bổ sung các hàm phục vụ sau: 4. Mỗi hàm làm nhiệm vụ truy nhập hoặc làm thay đổi một số dữ liệu của lớp mà nó biểu diễn. 1. Những hàm quản lý lớp trả lời cho các câu hỏi sau: + Một đối tượng được tạo lập như thế nào? 601 602 Sự phụ thuộc của một lớp vào các lớp khác càng ít càng tốt. 5. 6. Tương tác giữa các lớp phải luôn luôn tường minh. + Một đối tượng được huỷ bỏ như thế nào? 7. Lớp dẫn xuất là một trường hợp của lớp cơ sở, được bổ 2. Những hàm thực hiện cài đặt lớp sung thêm một số đặc tính riêng để mô tả chi tiết hơn về lớp con + Những phép toán nào được thực hiện trên dữ liệu kiểu của lớp cơ sở. lớp? 8. Lớp trên cùng của cấu trúc phân cấp biểu diễn mô hình khái 3. Những hàm truy nhập vào lớp niệm trừu tượng của hệ thống. + Làm thế nào chúng ta nhận được thông tin về các biến nội Thông thường khi thiết kế các lớp, hàm và chương trình chính, bộ của một lớp. chúng ta nên sử dụng ngôn ngữ lập trình sẽ được chọn để cài đặt 4. Hàm xử lý lỗi (tốt nhất là chọn ngôn ngữ lập trình hướng đối tượng như C++) + Làm thế nào xử lý được các lỗi xuất hiện khi thao tác với để mô tả. các đối tượng. Thiết kế hàm thành phần Để thiết kế các lớp chúng ta cần phải biết rõ cách thức trao đổi Đến giai đoạn này chúng ta đã xây dựng được: thông tin giữa các đối tượng, các mối quan hệ về kế thừa, quan hệ thành phần và quan hệ về sử dụng lại trong các lớp. Chúng ta phải 1. Các đối tượng và lớp trả lời được những câu hỏi: 2. Các thành phần dữ liệu
- 3. Giao diện giữa các đối tượng chương trình chính, giống như chương trình main() trong ngôn ngữ 4. Sự phụ thuộc của các lớp C++. Hệ thống được bắt đầu và kết thúc tại chương trình chính. Do vậy nhiệm vụ của chương trình chính là: 5. Cấu trúc phân cấp các lớp 1. Nhập dữ liệu từ người sử dụng. Bây giờ là lúc chúng ta cần xem xét đến việc thiết kế các hàm thành phần, những phép toán thực hiện trên các dữ liệu của đối 2. Tạo ra các đối tượng theo định nghĩa các lớp. tượng. Các hàm này cũng giống như các hàm trong ngôn ngữ lập 3. Tổ chức thực hiện trao đổi thông tin giữa các đối tượng. trình C vì vậy chúng ta có thể sử dụng kỹ thuật phân rã chức năng 4. Lưu trữ kết quả xử lý hoặc hiện lên màn hình, máy in, thiết trên-xuống (top-down) để thiết kế chúng. bị ngoại vi theo yêu cầu người sử dụng. Ví dụ: Một đối tượng có hai hàm thành phần F1, F2 tác động Mọi hoạt động, xử lý trong quá trình thực hiện chương trình lên vùng dữ liệu DL, trong đó F2 lại có thể phân tích thành các đều là kết quả của sự trao đổi, tương tác giữa các đối tượng. Vì khối chức năng nhỏ hơn như trong hình 2-4. vậy nhiệm vụ chủ yếu của thiết kế chương trình là xác định thứ DL tự logic của quá trình trao đổi thông tin giữa các đối tượng trong DL hệ thống. DL Chương trình chính liên quan trực tiếp đến người sử dụng. Vì DL DL DL vậy trong thiết kế chúng ta cũng cần đề cập đến thiết kế giao DL diện thân thiện với người sử dụng. DL DL DL Thiết kế giao diện người máy DL DL Có nhiều kiểu thiết kế giao diện đã được tạo ra nhằm phục vụ cho người sử dụng khai thác hệ thống phần mềm sao cho có hiệu Hình 2.4. Thiết kế top-down các hàm thành phần quả nhất. Mỗi kiểu đều có những đặc tính và khả năng khác nhau. Trong mỗi khối chúng ta lại có thể sử dụng kỹ thuật thiết kế Điều quan trọng là thiết kế giao diện phải phù hợp với lĩnh vực có cấu trúc để tạo ra cấu trúc phân cấp về chức năng cho nhữ603 ng 604 dụng và những công việc của người sử dụng, những người ứng hàm phức tạp. Nhiều ngôn ngữ lập trình phổ dụng, như C, C++ đã tham gia trực tiếp đối thoại với máy tính. Nhìn chung, các hệ giao được xây dựng để hỗ trợ cho phương pháp mô tả thiết kế và lập diện với người sử dụng đều cần phải có những tính chất sau: trình có cấu trúc. Chúng ta có thể cài đặt các đơn thể được cấu + Dễ sử dụng: Giao diện thân thiện, dễ sử dụng ngay cả với thành từ những cấu trúc tuần tự, tuyển chọn và vòng lặp. Có thể những người sử dụng không có kinh nghiệm. thiết kế các hàm thành phần theo phương pháp có cấu trúc. Kết + Dễ học: Các lệnh, thao tác hệ thống được xây dựng theo quả của thiết kế có cấu trúc cho một hàm là một cấu trúc có một những qui định chung, dễ tiếp thu và dễ nhớ. lối vào và một lối ra được tổ hợp từ một trong ba cấu trúc cơ bản: + Tốc độ thao tác nhanh, hợp lý: Các bước thao tác, ấn nút trên cấu trúc tuần tự, tuyển chọn và vòng lặp. bàn phím, con chuột nhanh gọn, tiện lợi cho người sử dụng. Thời Thiết kế chương trình chính gian thực hiện và trả lời trên máy tính nhanh và chính xác. Bước cuối cùng trong khâu thiết kế hệ thống là xây dựng + Đảm bảo an toàn: Kiểm soát được các tình huống, những thao
- tác cố tình hay vô ý của người sử dụng đều được xử lý tốt. 2.3.1. Bài toán thứ nhất: Thiết kế hệ thống quản lý Dễ phát triển: Hệ thống có tính mở, có khả năng thay đổi, bổ Bài toán đặt ra: Hãy xây dựng chương trình chạy trên máy tính sung theo yêu cầu của người sử dụng. để theo dõi kết quả học tập của sinh viên trong một lớp, và tìm Dưới đây chúng ta sẽ đề cập đến một số kiểu thiết kế giao kiếm theo kết quả điểm trung bình các môn thi. Giáo viên muốn diện: dạng hỏi đáp, thực đơn và biểu tượng. Bạn đọc nào quan quản lý sinh viên thông qua: Họ và tên, các điểm thi: học kỳ 1, học tâm sâu về thiết kế giao diện với người sử dụng có thể tham khảo kỳ 2, thi cuối năm và điểm trung bình qua các kỳ thi của các môn cuốn "Phân tích, thiết kế và cài đặt hệ thông tin quản lý, Viện Tin học. học". Phân tích kỹ bài toán ở trên chúng ta xác định được hai đối Thiết kế giao diện đối thoại: Việc thiết kế đối thoại bắt đầu tượng là: SINH_VIEN và MON_HOC. Tương ứng với các đối bằng việc chia các chức năng về giao diện của hệ thống thành tượng này trong thiết kế là các lớp SINH_VIEN và MON_HOC. Vì những đơn thể. Mỗi đơn thể sẽ đảm nhận đúng một chức năng đối tượng là thể hiện của lớp, nên hai lớp SINH_VIEN và của hệ thống. Ví dụ, đơn thể nhập dữ liệu chỉ làm nhiệm vụ MON_HOC xác định hai loại đối tượng cơ bản trong hệ thống kiểm soát dữ liệu nhập vào sao cho phù hợp với qui định của theo dõi kết quả học tập mà giáo viên cần phải phát triển. người thiết. Bảng đối thoại thường bao gồm một loạt những câu Bước tiếp theo trong thiết kế là mô tả chi tiết các lớp đối hỏi, thông báo nhắc về những công việc của hệ thống cần thực tượng và mối quan hệ giữa chúng. Theo yêu cầu của giáo viên hiện. Thiết kế hỏi đáp phải bao quát hết các trường hợp, có đầy (người sử dụng) thì mỗi đối tượng trong lớp SINH_VIEN được đủ chú thích, hướng dẫn trợ giúp người sử dụng. Cách thiết kế mô tả bởi các thuộc tính: Ho_ten, Diem_thi_ky1, Diem_thi_ky2, này phù hợp với những người sử dụng ít kinh nghiệm. Diem_thi_CN và Diem_TB; còn MON_HOC cho biết danh sách các Thiết kế bảng thực đơn (Menu): Bảng thực đơn cho biết tất cả đối tượng SINH_VIEN theo môn học đó. Mỗi thành phần dữ liệu các công việc để lựa chọn. Thông thường bảng thực đơn nên tổ có một kiểu xác định và giá trị các dữ liệu thành phần mô tả trạng chức thành cấu trúc phân cấp. Mỗi mục trong bảng thực đơn chính thái của đối tượng. Cuối cùng chúng ta có danh sách các thuộc tính lại được tổ chức thành bảng thực đơn con gồm một số mục để mô tả lớp SINH_VIEN và MON_HOC như sau: lựa chọn và được thể hiện ở dạng màn hình cửa sổ (Window). class SINH_VIEN Thiết kế biểu tượng: Biểu tượng được sử dụng để giới thiệu {// Danh sách các thuộc tính mô tả SINH_VIEN các chức năng của hệ thống trên màn hình. Mỗi chức năng được a. Ho_ten : string (kiểu xâu ký tự) biểu diễn bằng một biểu tượng (hình vẽ tương ứng) sao cho dễ nhớ và dễ hình dung nhất. b. Diem_thi_ky1 : float 605 606 c. Diem_thi_ky2 : float ở trên chúng ta đã nêu tất cả các bước của quá trình thiết kế hướng đối tượng. Phần còn lại của chương này chúng ta xây dựng d. Diem_thi_CN : float thiết kế cho hai hệ: hệ quản lý kết quả học tập của học sinh và e. Diem_TB : float hệ điều khiển hệ thống điều hoà nhiệt độ. } 2.3. Ví dụ class MON_HOC {// Danh sách các thuộc tính mô tả MON_HOC
- a. Mon_hoc : string // tên môn học e. Hàm đọc dữ liệu: DOC_DL() b. Danh_sach_SV :SINH_VIEN // Bảng danh sách các f. Hàm tính trung bình: T_BINH() // sinh viên theo học g. Hàm hiện kết quả: DISPLAY() c. Si_so : integer // Số học sinh trong lớp 2. Các hàm của lớp MON_HOC } a. Hàm khởi tạo môn học: MON_HOC() Sau khi xác định được các đối tượng, lớp và danh sách các b. Hàm huỷ bỏ đối tượng môn học: ~MON_HOC() thuộc tính mô tả đối tượng, bước tiếp theo là xác định các hàm thành phần của các lớp. Hàm thành phần mô tả hành vi của đối c. Hàm đọc tên môn học: DOC_TEN() tượng bao gồm: d. Hàm đọc dữ liệu: DOC_DL() + Truy nhập vào thành phần dữ liệu của đối tượng e. Hàm tính trung bình: T_BINH() + Cho phép cập nhật, thay đổi dữ liệu thành phần f. Hàm bổ sung sinh viên vào lớp: THEM_SV() + Kiểm tra dữ liệu theo nhiều cách khá nhau g. Hàm sắp xếp sinh viên theo tên: SAP_XEP() + Hiện các thông tin dữ liệu lên màn hình, thiết bị ngoại vi h. Hàm tìm kiếm một sinh viên: TIM() Mục tiêu của thiết kế lớp là tạo ra các lớp cho nhiều ứng dụng Hàm làm nhiệm vụ khởi tạo các đối tượng của một lớp thường khác nhau nhưng cùng liên quan đến một loại dữ liệu. Người thiết có cùng tên của lớp đối tượng đó và được gọi là cấu tử, còn hàm kế các lớp muốn xây dựng các class đáp ứng được mọi nhu cầu huỷ bỏ một đối tượng cũng cùng tên nhưng có dấu "~" đứng trước của người lập trình (khách hàng). Quan hệ giữa người phát triển được gọi là huỷ tử. Hai hàm này sẽ được gọi thực hiện một cách với người lập trình, cũng giống như quan hệ chủ hàng - khách tự động khi cần thiết. Hàm cấu tử được gọi khi cần định nghĩa, hàng, dẫn đến trường hợp là chủ hàng mong sao có nhiều người tạo lập một đối tượng, còn hàm huỷ tử được gọi khi chương trình sử dụng nhất, nghĩa là lớp sẽ được xây dựng với một số lượng thoát ra khỏi phạm vi mà đối tượng đó được định nghĩa. Một lớp lớn các hàm thành phần. Nhưng khách hàng lại chỉ sử dụng những có thể có nhiều hàm cấu tử và chúng được phân biệt bởi danh sách hàm nào liên quan đến ứng dụng của họ mà thôi. Do vậy chúng ta và kiểu của các tham biến. Nhưng chỉ có duy nhất một hàm huỷ tử phải cố gắng xây dựng được những hàm thành phần cơ bản, đặc cho một lớp và là hàm không có tham số. trưng nhất cho lớp đang xét, sau đó sử dụng quan hệ kế thừa để 2.3.2. Bài toán thứ hai: Thiết kế hệ thống điều hoà nhiệt tạo ra những lớp mới thích hợp cho nhiều ứng dụng khác nhau. độ Trong bài toán của chúng ta, các hàm thành phần có thể là: Phát biểu bài toán: Một toà nhà có N phòng, mỗi phòng có máy 1. Các hàm thành phần của lớp SINH_VIEN điều hoà, máy cảm nhiệt và máy điều nhiệt. Hãy xây dựng hệ a. Hàm khởi tạo đối tượng sinh viên: SINH_VIEN() thống phần mềm điều khiển các máy điều hoà nhiệt độ theo yêu b. Hàm huỷ bỏ đối tượng sinh viên: ~SINH_VIEN() cầu người sử dụng. c. Hàm đọc tên sinh viên: DOC_TEN() 607 608 Theo cách tiếp cận truyền thống thì chúng ta nghĩ ngay đến việc dùng cấu trúc mảng một chiều để lưu trữ nhiệt độ mà người d. Hàm gán tên của một sinh viên: GAN_TEN() sử dụng yêu cầu, nhiệt độ và trạng thái của máy điều hoà hiện tại
- trong các phòng. Khi đó hệ thống điều hoà nhiệt độ các phòng sẽ 2. Hàm xoá bỏ đối tượng: ~DIEU_HOA() được thiết kế dựa theo thuật toán sau: 3. Hàm xác định trạng thái On, Off: DONG_MO() 1. Lần lượt xem xét các phòng I=1 . . N. 4. Hàm xác định số phòng đặt máy điều hoà: PHONG_MAY() 609 610 2. Nếu nhiệt độ trong phòng khác với nhiệt độ yêu cầu thì máy Hệ điều khiển hệ thống điều hoà nhiệt độ các phòng không điều hoà chuyển sang trạng thái On (đóng) nếu nó đang ở trạng nhất thiết phải có sự tương ứng 1-1 giữa số phòng và máy điều thái Off (tắt). hoà như điều kiện ban đầu bài toán đặt ra. Trong trường hợp cần 3. Ngược lại nếu nhiệt độ trong phòng làm việc đã đạt được thay đổi, ví dụ như đối với hội trường lớn thì cần phải đặt nhiều như nhiệt độ người sử dụng yêu cầu thì máy điều hoà chuyển máy mới đủ công suất điều hoà nhiệt độ hoặc nhiều phòng dùng sang trạng thái Off nếu nó đang ở trạng thái On. chung một máy. Cách thứ hai chúng ta thực hiện thiết kế theo cách tiếp cận Khi có sự thay đổi như trên thì thiết kế theo cách tiếp cận thứ hướng đối tượng. Nhiệm vụ trước tiên của chúng ta là xác định nhất phải thay đổi ít nhiều, chương trình gần như phải viết lại các đối tượng thành phần cơ sở của hệ thống điều hoà nhiệt độ. toàn bộ vì chúng ta đã giả thiết rằng mỗi phòng có một máy điều Phân tích bài toán chúng ta thấy ở đây có hai lớp đối tượng: hoà. Nhưng cách tiếp cận thứ hai (thiết kế hướng đối tượng) thì 1. Đối tượng PHONG chỉ cần sửa đổi ở những đối tượng liên quan. Để sửa đổi hệ thống theo yêu cầu thì hàm DONG_MO() của đối tượng DIEU_HOA 2. Đối tượng DIEU_HOA phải thiết kế lại sao cho nó có thể bật tắt nhiều hơn một máy và Trong mỗi phòng: nhiệt độ hiện thời được xác định bởi máy hàm T_YEU_CAU() của các đối tượng PHONG dùng chung một điều nhiệt. Máy điều hoà có hai trạng thái On (đóng) và Off (tắt). DIEU_HOA cần được thiết kế lại sao cho xác định được nhiệt độ Trạng thái của máy điều hoà sẽ thay đổi tuỳ thuộc vào thông báo bình quân của các phòng đó, còn cấu trúc hệ thống, mô hình tính của PHONG: nhiệt độ trong phòng có cần phải thay đổi hay toán không có gì thay đổi. không. 2.3.3. Bài toán thứ 3: Thiết kế hệ thống khí tượng thuỷ văn Sau khi xác định được các lớp, các thuộc tính mô tả trạng thái của các đối tượng và mối quan hệ giữa hai lớp đối tượng chúng ta Nội dung bài toán: Hệ thống gồm nhiều trạm đo số liệu và thu cần xác định các hàm thành phần của chúng. nhận thông tin dữ liệu về khí tượng thuỷ văn để dự báo thời tiết. Hệ thống thu nhận dữ liệu theo định kỳ, xử lý dữ liệu cục bộ và Đối với lớp PHONG chúng ta có: truyền những dữ liệu, thông tin cần thiết về cho máy tính trung 1. Hàm khởi tạo đối tượng: PHONG() tâm xử lý tiếp. Dữ liệu mà hệ thống tập hợp bao gồm: nhiệt độ 2. Hàm xoá bỏ đối tượng: ~PHONG() khí quyển, lòng đất; tốc độ, hướng gió; áp suất và lưu lượng mưa. 3. Hàm xác định nhiệt độ qua máy cảm nhiệt: NHIET_KE() Một trong những ưu điểm của cách tiếp cận hướng đối tượng 4. Hàm đặt nhiệt độ yêu cầu vào máy điều nhiệt: là có thể tiến hành thiết kế ngay khi chưa có đủ tất cả các đặc tả T_YEU_CAU() yêu cầu và sau đó có thể dễ dàng thay đổi khi cần bổ sung hay sửa đổi các yêu cầu đã nêu. Bài toán mô tả ở trên chưa cho biết về tần Đối với lớp DIEU_HOA: số thu thập dữ liệu cũng như cách xử lý dữ liệu, nhưng chúng ta 1. Hàm khởi tạo đối tượng: DIEU_HOA() có thể tiến hành ngay xây dựng thiết kế cho hệ thống.
- Trước tiên chúng ta cần xác định những thành phần cơ bản của May_DKH Evaluate Đo nhiệt độ không khí hệ thống, nghĩa là các thực thể sẽ tương ứng với khái niệm đối May_DLD Evaluate Đo nhiệt độ lòng đất tượng của hệ thống phần mềm mà chúng ta cần xây dựng. Nói May_DSG Evaluate Đo sức gió chung, việc xác định các đối tượng được thực hiện theo cách làm May_DHG Evaluate Đo hướng gió, tính theo độ đo góc mịn dần trong quá trình thiết kế. Hệ thống mà chúng ta xây dựng ở May_DLA Evaluate Đo áp suất của không khí đây là hệ khí tượng thuỷ văn sẽ có cả đối tượng "cứng" lẫn đối May_DLM Evaluate Xác định lượng nước mưa kể từ lúc Reset lại tượng "mềm". Đối tượng "cứng" không phải là hoàn toàn máy Reset Đặt lại máy đo, xoá các thông số cũ móc, thiết bị phần cứng mà là những thực thể liên quan đến máy Time_now() Xác định thời gian theo yêu cầu móc, thiết bị. Những đối tượng này được nhúng vào hệ thống DONG_HO 611 612 Reset Đặt lại thời gian theo yêu cầu phần mềm để điều khiển các phần cứng tương ứng. Ngược lại, Transmit Truyền thông báo cho máy tính trung tâm đối tượng "mềm" là những đối tượng chỉ tương tác với các đối Modem tượng khác trong hệ thống, nghĩa là giúp các đối tượng "cứng" trao Receive Nhận thông báo từ máy tính trng tâm đổi thông tin với nhau. Phân tích kỹ bài toán chúng ta có thể xác Để dễ theo dõi, chúng ta nên sử dụng sơ đồ khối để mô tả thiết định được các đối tượng "cứng" như sau: kế. ở trên chúng ta đã xác định là trong hệ thống sẽ có hai loại đối + Trạm khí tượng thuỷ văn tượng: cứng và mềm. Những đối tượng đó sẽ được mô tả như sau: + Máy đo nhiệt độ khí quyển + Máy đo nhiệt độ lòng đất Object Object + Máy đo sức gió Attr. Attr. + Máy đo hướng gió ...... ...... + Máy đo áp suất khi quyển Functions Functions + Máy đo lưu lượng mưa ...... ...... + Đồng hồ (xác định thời gian thu nhận dữ liệu và truyền a) Đối tượng cứng b) Đối tượng mềm thông báo) Các đối tượng "cứng" có quan hệ với nhau trong hệ thống như + Modem (truyền và nhận thông báo từ máy tính trung tâm) trong hình 2-6. Đối tượng TRAM_KT thu nhận các thông tin từ các Nhiệm vụ của từng đối tượng được mô tả như trong Bảng 2.1. đối tượng con là May_DKH, May_DLD, May_DSG, May_DHG, Bảng 3.1. Xác định công việc của các đối tượng "cứng" May_DKA, May_DLM, DONG_HO và Modem để xử lý sơ bộ rồi chuyển thông báo về cho máy tính trung tâm. Một điều chúng ta Đối tượng Nhiệm vụ Mô tả công việc cụ thể cần lưu ý ở đây là những đối tượng "cứng" không thể trao đổi Operate Khởi động bằng cách bấm nút khởi động thông tin trực tiếp với nhau mà phải thông qua các đối tượng máy. TRAM_KT thu nhận thông tin và làm "mềm". TRAM_KT báo cáo để dự báo thời tiết. Self_test Kiểm tra lại các kết quả đã thu nhận Bước tiếp theo là xác định các đối tượng "mềm". Để làm được điều đó chúng ta cần tìm hiểu thêm một số thông tin về tần suất Shut_down Bấm nút để dừng hoạt động của máy
- thu nhận dữ liệu và cách xử lý dữ liệu của hệ thống. Trong quá trị trung bình, giá trị cực đại, cực tiểu và trong 1 giờ đó, lượng trình tiếp xúc với những chuyên gia, những người sử dụng hệ mưa cũng được ghi nhận. Các hướng gió được đo theo độ đo góc thống khí tượng thuỷ văn để xác định bài toán, chúng ta có thêm α (α < 150) cũng sẽ được ghi nhận. Tất cả những thông số đó sẽ những mô tả như sau: được tính toán sơ bộ và được truyền về máy tính trung tâm để xử lý và dự báo về thời tiết" Phân tích mô tả bài toán chúng ta thấy có những đối tượng "mềm" sau: + SUC_ GIO Xác định tốc độ của gió + H_GIO Xác định hướng gió + ND_KH Đo nhiệt độ không khí Tram_KT + ND_LD Đo nhiệt độ lòng đất 613 614 ............ + L_MUA Đo lưu lượng nước mưa Operate + A_SUAT Đo áp suất khí quyển Self_test Những đối tượng này cung cấp thông tin cho một đối tượng làm Shut_down nhiệm vụ tổng hợp dữ liệu là: + TH_DL Tạo ra các bản ghi thông tin từ các đối tượng con, kiển tra, truyền và nhận thông báo. May_ĐKH May_ĐKH May_ĐKH May_ĐKH Chức năng và nhiệm vụ của các đối tượng trên được mô tả chi tiết trong Bảng 2-2. ......... ......... ......... ......... Bảng 2-2. Mô tả công việc của các đối tượng mềm Evaluate Evaluate Evaluate Evaluate Đối tượng Thao tác Mô tả công việc Create Tạo lập DL để dự báo thời tiết TH_DL Check Kiểm tra tính hợp lý của DL May_ĐKH May_ĐKH May_ĐKH May_ĐKH Transmit Gửi thông báo về trung tâm ......... ......... ......... ......... Collect Ghi nhận tốc độ của gió theo từng phút Evaluate Evaluate Evaluate Evaluate Max Xác định tốc độ cực đại của gió SUC_GIO Min Xác định tốc độ cực tiểu của gió Hình 2-6. Cấu trúc phân cấp của phần cứng Mean Xác định tốc độ trung bình của gió "Tất cả các tham số về thời tiết, ngoại trừ lượng mưa sẽ được Collect Ghi nhận các hướng gió thu thập theo chu kỳ từng phút một. Sau mỗi giờ (sau 60 lần nhận dữ liệu) thì nhiệt độ, tốc độ gió, áp suất sẽ được xử lý để tính giá H_GIO Variances Danh sách hướng gió lớn hơn α
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Hướng dẫn thiết kế và lập trình PLC part 1
23 p |
880 |
480
-
Hướng dẫn thiết kế và lập trình PLC part 2
23 p |
525 |
362
-
Hướng dẫn thiết kế và lập trình PLC part 3
23 p |
437 |
317
-
Hướng dẫn thiết kế và lập trình PLC part 4
23 p |
383 |
284
-
Hướng dẫn thiết kế và lập trình PLC part 5
23 p |
358 |
263
-
Hướng dẫn thiết kế và lập trình PLC part 6
23 p |
327 |
254
-
Hướng dẫn thiết kế và lập trình PLC part 7
23 p |
318 |
253
-
Hướng dẫn thiết kế và lập trình PLC part 8
23 p |
314 |
235
-
Bài giảng Nhập môn Công nghệ học phần mềm (Phần IV: Thiết kế và lập trình Design and Programming) – Chương 6: Phương pháp thiết kế hệ thống
10 p |
38 |
12
-
Phân tích, thiết kế và lập trình hướng đối tượng_phụ lục 3
8 p |
68 |
10
-
Phụ lục 6. Phân tích, thiết kế và lập trình hướng đối tượng
30 p |
52 |
7
-
Phân tích, thiết kế và lập trình hướng đối tượng_phụ lục 4
8 p |
44 |
6
-
Phân tích, thiết kế và lập trình hướng đối tượng_phụ lục 5
11 p |
58 |
6
-
Phân tích, thiết kế và lập trình hướng đối tượng_phụ lục 1
4 p |
54 |
5
-
Phân tích, thiết kế và lập trình hướng đối tượng_phụ lục 6
51 p |
46 |
5
-
Bài giảng Thiết kế và lập trình Web: Phần 2 – Đại học Hàng Hải
26 p |
18 |
4
-
Bài giảng Thiết kế và lập trình Web: Phần 1 – Đại học Hàng Hải
38 p |
19 |
3

Set-Cookie: TLDEVNamespace=89enjtlvvq54d3u0qi0o4j0ri2; path=/; domain=.tailieu.vn; HttpOnly


markdown:
# Quyết định 09/2008/QĐ-UBND
Chia sẻ: Son Pham | Ngày: | Loại File: PDF | Số trang:2
51
lượt xem 3
download
lượt xem 3
download
![](http://image1.tailieu.vn/document/thumbnail/2009/20091124/lawbmhc1/80x100/84.jpg)
##
Quyết định 09/2008/QĐ-UBND
Mô tả tài liệu
[Vui lòng tải xuống để xem tài liệu đầy đủ](javascript:void(0);)
Download
![](http://static1.tailieu.vn/b2013az/templates/version1/default/images/down16x21.png)
Quyết định 09/2008/QĐ-UBND của Ủy ban nhân dân thành phố Đà Nẵng về việc ban hành Khung theo dõi và đánh giá dựa trên kết quả tình hình thực hiện kế hoạch phát triển kinh tế - xã hội 5 năm 2006 - 2010 của thành phố Đà Nẵng
Chủ đề:
Bình luận(0)
[Đăng nhập để gửi bình luận!](javascript:void(0);)
CÓ THỂ BẠN MUỐN DOWNLOAD

Set-Cookie: TLDEVNamespace=6bf8trrjk6k0evggj95toi0md4; path=/; domain=.tailieu.vn; HttpOnly