Đề tài Xây dựng chương trình quản lý sinh viên

Tài liệu Đề tài Xây dựng chương trình quản lý sinh viên: Lời Mở Đầu Trong sự phát triển của nhân loại cuối thế kỷ 20 đầu thế kỷ 21 , công nghệ thông tin được coi là một trong những lĩnh vực ảnh hưởng sâu rộng nhất đến toàn bộ sinh hoạt của loài người. Trên thế giới công nghệ thông tin đã thúc đẩy sự phát triển của mọi ngành từ khoa học, giáo dục, y tế, giao thông, văn hoá, ngôn ngữ v.v cho đến cuộc sống của từng con người. Chính vì vậy hiện nay , công nghệ thông tin hiện nay là ngành công nghệ có tốc độ phát triển cao nhất trên thế giới. Ngay cả Việt Nam , công nghệ thông tin cũng có tốc độ tăng trưởng nhanh một cách chóng mặt. Vì vậy các nhà quản lý hiện đại càng ngày càng phải chịu trách nhiệm nhiều hơn trong việc xác định những yêu cầu hệ thống hệ thống thông tin và trách nhiệm trong việc phân tích, thiết kế và cài đặt những hệ thống thông tin sao cho chúng trợ giúp tốt nhất những yêu cầu thông tin của nhà quản lý. Chương trình quản lý sinh viên là một chương trình quản lý các nghiệp vụ liên quan đến tình hình sinh viên trong trường...

doc57 trang | Chia sẻ: hunglv | Lượt xem: 1340 | Lượt tải: 2download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Xây dựng chương trình quản lý sinh viên, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Lời Mở Đầu Trong sự phát triển của nhân loại cuối thế kỷ 20 đầu thế kỷ 21 , công nghệ thông tin được coi là một trong những lĩnh vực ảnh hưởng sâu rộng nhất đến toàn bộ sinh hoạt của loài người. Trên thế giới công nghệ thông tin đã thúc đẩy sự phát triển của mọi ngành từ khoa học, giáo dục, y tế, giao thông, văn hoá, ngôn ngữ v.v cho đến cuộc sống của từng con người. Chính vì vậy hiện nay , công nghệ thông tin hiện nay là ngành công nghệ có tốc độ phát triển cao nhất trên thế giới. Ngay cả Việt Nam , công nghệ thông tin cũng có tốc độ tăng trưởng nhanh một cách chóng mặt. Vì vậy các nhà quản lý hiện đại càng ngày càng phải chịu trách nhiệm nhiều hơn trong việc xác định những yêu cầu hệ thống hệ thống thông tin và trách nhiệm trong việc phân tích, thiết kế và cài đặt những hệ thống thông tin sao cho chúng trợ giúp tốt nhất những yêu cầu thông tin của nhà quản lý. Chương trình quản lý sinh viên là một chương trình quản lý các nghiệp vụ liên quan đến tình hình sinh viên trong trường như : Quản lý hồ sơ sinh viên, nhập điểm của sinh viên, in bảng điểm của sinh viên ... Thông báo cho bộ phận lãnh đạo biết về tình hình sinh viên trong trường. Căn cứ vào các nghiệp vụ của công việc quản lý sinh viên, chương trình quản lý sinh viên được thực hiện nhằm đáp ứng các nghiệp vụ đó. Chương trình này được viết trên ngôn ngữ lập trình Visual Foxpro 6.0, là ngôn ngữ lập trình phi cấu trúc, được coi là ngôn ngữ thế hệ 5. Phương pháp nhập số liệu đựợc thực hiện trên một form nhập số liệu, sau khi đã nhập xong một dữ liệu nào đó cần phải ghi nhận ngay dữ liệu này, sau khi ghi nhận dữ liệu này dữ liệu được thể hiện trong một bảng ngay sau đó. Chương trình này cho phép người quản lý tệp dữ liệu có thể xuất một báo cáo tổng hợp cho biết tình hình sinh viên trong một thời gian nào đó, hoặc tìm sinh viên theo mã sinh viên sẽ cho biết tất cả thông tin về lý lịch của sinh viên đó. Hiện nay các trường đại học của Việt Nam, cũng như các doanh nghiệp đang trong tiến trình ứng dụng mạnh mẽ sự phát triển của công nghệ thông tin vào quản lý. Mới đầu chỉ là những máy tính cá nhân đơn giản và hiện nay là các mạng thông tin phức tạp. Tuy nhiên do đặc điểm của công nghệ thông tin của Việt Nam mới trong quá trình phát triển nên mặc dù đã quan tâm đến việc ứng dụng công nghệ thông tin vào quản lý nhưng các phần mềm hệ thống, các phần mềm trợ giúp hoặc phần mềm quản lý có thể thay thế hoàn toàn công việc thủ công chưa được quan tâm. Với chương trình “quản lý sinh viên” này hy vọng sẽ giúp cho ngưới sử dụng tiết kiệm được thời gian trong việc quản lý và giúp cho các nhà quản lý ứng dụng công nghệ thông tin vào lĩnh vực quản lý với hiệu quả cao nhất. Chương 1: Phương pháp luận phân tích thiết kế hệ thống thông tin quản lý sinh viên I.Khái quát về quản lý hệ thống quản lý sinh viên. 1. Khái quát chung : Trong suốt thời gian chuyển đổi từ nền kinh tế bao cấp sang nền kinh tế thị trường, cùng với sự quan tâm chỉ đạo của các cấp lãnh đạo đảng, cơ quan bộ giáo dục và những nỗ lực không ngừng của tập thể giáo viên, học sinh của trường kinh tế quốc dân đã đạt được những kết quả đáng tự hào. Thực hiện phương hướng đề ra trong nghị quyết của Đảng và Nhà nước : “ứng dụng công nghệ thông tin trong tất cả các lĩnh vực, tạo ra sự chuyển biến rõ rệt về chất lượng và hiệu quả của công tác giảng dạy và học tập, hình thành mạng thông tin quốc gia liên kết với một số mạng thông tin quốc tế”, Nghị quyết 49/CP ngày 4/8/1993 về phát triển công nghệ thông tin ở Việt Nam trong những năm 90 và thực hiện chương trình về phát triển công nghệ thông tin trong ngành giáo dục. Trường đại học kinh quốc dân đã thành lập riêng khoa tin học kinh tế với phương châm “ Chất lượng, hiệu quả, đổi mới và phát triển tin học” tập trung xây dựng cơ sở vật chất, nâng cao chất lượng đào tạo, học tập. Trường đại học kinh tế quốc dân là đơn vị trực thuộc quản lý của Bộ giáo dục và đào tạo, được điều hành bởi hiệu trưởng. Trong những năm gần đây, số lượng sinh viên tăng lên do yêu cầu ngày càng cao của công việc, đòi phải được đào tạo một cách chính quy. Hiện nay số sinh viên trong trường khoảng 12000 người, không kể các loại hình đào tạo khác. Bộ máy quản lý của trường bao gồm : Hiệu trưởng Phó hiệu trưởng(3 người) Phòng đào tạo và các phòng chức năng Các khoa trực tiếp quản lý sinh viên thuộc chuyên ngành Các lớp trực thuộc khoa Nhiệm vụ của từng bộ phận : Hiệu trưởng: chỉ đạo chung * Chịu trách nhiệm truớc nhà nước và cán bộ công nhân viên trong trường về mọi hoạt động đào tạo. * Xác lập và phê duyệt chính sách và cam kết quả hoạt động đào tạo của trường. * Bổ nhiệm, uỷ quyền và phân công trách nhiệm cho các cán bộ phụ trách các công việc quản lý và đào tạo thực hiện, kiểm tra công hoạt động liên quan đến chất lượng, đảm bảo cho họ hiểu rằng quy. 1.2-Hiệu phó: một phụ trách về đào tạo, một phụ trách về hậu cần và một phụ trách về quan hệ. 1.3-Phòng đào tạo : quản lý tất cả mọi thứ liên quan đến sinh viên như hồ sơ sinh viên, điểm sinh viên... 1.4-Các khoa : quản lý các sinh viên thuộc khoa của mình và chuyển thông tin cho phòng đào tạo. 1.5-Các lớp : quản lý sinh viên của lớp từ đó báo cáo cho khoa thuộc chuyên ngành của mình. 2- Lý do và sự cần thiết của việc xây dựng đề tài ứng dụng tin học trong việc quản lý sinh viên tại trường đại học kinh tế quốc dân. 2.1 - Tình hình thực tế về hệ thống quản lý điểm sinh viên. Trường đại học kinh tế quốc dân thuộc sự quản lý của bộ giáo dục và đào tạo, bao gồm 15 khoa. Mỗi khoa có nhiệm vụ quản lý sinh viên thuộc khoa mình, còn phòng đào tạo có trách quản lý chung tất cả sinh viên của trường với các nội dung : Nhập mới hồ sơ sinh viên mới được trúng tuyển vào trường với các thông tin họ tên, ngày tháng năm sinh, quê quán... Nạp điểm cho sinh viên sau mỗi kì thi Tính điểm trung bình sau mỗi học kì In ra danh sách những sinh viên được học bổng, lưu ban, ngừng học, thôi học. In ra bảng điểm tổng hợp cả 4 năm cho mỗi sinh viên. Tìm kiếm hồ sơ sinh viên để bổ sung, sửa chữa, bổ sung các thông tin hoặc đáp ứng yêu cầu nào đó. In ra các giấy chứng nhận để sinh viên đăng kí xe máy, hộ khẩu, thẻ sinh viên... In ra các báo cáo về tình hình học tập của sinh viên . 2.2 - Tình hình ứng dụng tin học trong công tác quản lý điểm sinh viên của trường đại hoc kinh tế quốc dân. Hiện nay tát cả các khoa và phòng ban đều có máy tính và đã đều nối mạng. Tuy nhiên chưa có một hệ thống mạng chung trong toàn trường, hệ thống mạng mới chuẩn bị được xây dựng. Điều này cho thấy trường ngày càng quan tâm đến việc ứng dụng tin học vào trong công tác giáo dục của trường và quản lý sinh viên. Tuy vậy vẫn còn một số những bất cập như các sinh viên không thể lên mạng để xem kết quả thi của mình, thông tin về sinh viên còn thiếu cập nhật... 3. Lý do thiết kế đề tài ứng dụng tin học vào công tác quản lý sinh viên ở trường đại hoc kinh tế quốc dân. Trong giai đoạn hiện nay, với việc Công nghệ thông tin phát triển như vũ bão ở trên toàn thế giới và nó đã có ảnh hưởng rất lớn đến việc phát triển Công nghệ thông tin ở nước ta. Công nghệ thông tin góp phần tổ chức khai thác có hiệu quả các nguồn thông tin rất phong phú và tiềm tàng trong mọi lĩnh vực hoạt động của con người và xã hội. Công nghệ thông tin phục vụ trực tiếp cho việc cải tiến quản lý nhà nước nâng cao hiệu quả các hoạt động giáo dục và đào tạo, sản xuất kinh doanh và các hoạt động kinh tế xã hội khác, từ đó góp phần nâng cao chất lượng đào tạo cũng như nâng cao chất lượng cuộc sống nhân dân. Trường đại học kinh tế quốc dân cũng đã xác định công nghệ thông tin trong những năm tới là một đòi hỏi cấp bách nhằm nâng cao hiệu quả của công tác giảng dạy và học tập trong trường, đáp ứng tốt các nhiệm vụ mà bộ giáo dục đã giao cho, đồng thời hoà nhập với sự phát triển CNTT trong cả nước và có thể trở thành một trường mà bằng cấp được công nhận trên toàn thế giới. Trường đã khai thác sử dụng máy tính vào hàng sớm nhất trong các trường đại học tuy nhiên từ khi nhà nước ta chuyển sang nền kinh tế thị trường tin học mới thực sự bắt đầu được giảng dạy phổ biến. Đặc biệt trong những năm gần đây trường đã rất trú trọng vào công nghệ thông tin và đã thành lập riêng khoa tin học, đã đào tạo được một đội ngũ các cử nhân ra trường có trình độ cao về tin học và đã tạo được chỗ đứng trong các công ty lớn cũng như một số vị trí lãnh đạo cấp cao của đảng và nhà nước. Từ đó góp phần nâng cao hiệu quả quản lý, làm lợi cho xã hội và nâng cao đời sống của nhân dân trong công cuộc đổi mới đất nước. Mặc dù đã đạt được nhiều thành tích như vậy nhưng không phải là không có những khó khăn như thiếu giáo viên về tin học, thiếu giáo viên có trình độ giảng dạy về tin học, đội ngũ làm công tác quản lý có trình độ tin học chưa cao nên dễ dẫn đến những sai sót trong công tác quản lý và đưa ra được các thông tin về sinh viên, báo cáo về tình hình học tập của sinh viên hay sửa chữa điểm còn mất nhiều thời gian. Chính vì nhứng lý do trên mà em cho rằng cần thiêt kế một hệ thống mới cho công tác quản lý sinh viên. Mục đích của việc thiết kế hệ thống mới là dễ dàng sử dụng, nhanh chóng đưa ra được các thông tin về sinh viên một cách thuận tiện nhất và đạt hiệu quả cao nhất. Để đạt được các yêu cầu trên hệ thống mới cần đạt được các công việc sau. -Tạo điều kiện thuận lợi đối với các công tác chỉnh sửa huỷ bỏ và lưu trữ hồ sơ sinh viên trong trường. - Việc truy cập đến một đối tượng theo một tiêu thức nào đó được nhanh chóng dễ dàng -Việc xem xét, thống kê sinh viên theo một tiêu thức nào đó có thể thực hiện bất kỳ lúc nào cần đến, trong một khoảng thời gian rất ngắn có thể nắm bắt được các thông tin cần thiết. -Quá trình tạo ra các báo cáo để đáp ứng nhu cầu của lãnh đạo cũng như đáp ứng nhu cầu của các khoa, sinh viên trong quá trình học tập một cách kịp thời, chính xác đầy đủ và tiết kiệm thời gian. -Chương trình phải dễ sử dụng, tránh dư thừa dữ liệu nhưng phải đảm bảo đầy đủ thông tin, đảm bảo được tính bí mật của thông tin (nghĩa là xác định ai là người được phép sử dụng chương trình các thông tin được phân phát cho những đối thượng nào. II- Các giai đoạn phân tích thiết kế hệ thống thông tin 1.Đánh giá yêu cầu phát triển HTTT. Một dự án phát triển hệ thống không tự động tiến hành ngay khi có bản yêu cầu. Vì loại dự án này đòi hỏi đầu tư không chỉ tiền bạc, thời gian mà cả nguồn nhân lực, do đó quyết định vấn đề này phải được thực hiện sau một cuộc phân tích cho phép xác định cơ hội và khả năng thực thi. Sự phân tích này được gọi là đành giá hay thẩm định yêu cầu hay còn được gọi là nghiên cứu khả thi và cơ hội.Bao gồm các công đoạn sau: Lập kế hoạch, làm rõ yêu cầu, đánh giá khả năng thực thi, chuẩn bị và trình bày báo cáo. 1.1.Lập kế hoạch. Mỗi giai đoạn của quá trình phát triển hệ thống cần phải được lập kế hoạch cẩn thận.Lập kế hoạch của giai đoạn thẩm định dự án là làm quen với hệ thống đang xét, xác định thông tin cần thu thập cũng như nguồn và phương pháp thu thập. Số lượng và sự đa dạng của nguồn thông tin phụ thuộc vào kích thước và độ phức tạp của hệ thống nghiên cứu. 1.2.Làm rõ yêu cầu. Làm rõ yêu cầu là làm cho phân tích viên hiểu đúng yêu cầu của người yêu cầu. Xác định chính xác đối tượng yêu cầu, thu thập những yếu tố cơ bản của môi trường hệ thống và xác định khung cảnh nghiên cứu. Làm sáng tỏ yêu cầu được thực hiện chủ yếu qua các cuộc gặp gỡ với những người yêu cầu sau đó là với những người quản lý chính mà bộ phận của họ bị tác động. Phân tích viên phải tổng hợp thông tin dưới ánh sáng của những vần đề đã được xác định và những nguyên nhân có thể nhất, chuẩn bị một bức tranh khái quát về giải pháp để tiến hành đánh giá khả năng thực thi của dự án. 1.3.Đánh giá khả thi. Đánh giá khả năng thức thi của một dự án là tìm xem có những yếu tố nào ngăn cản nhà phân tích thực hiện, cài đặt một cách thành công giải pháp đã đề ra hay không. Những vấn đề chính về khả năng thực thi là: khả thi về tổ chức, khả thi về tài chính, khả thi về thời hạn và khả thi về kỹ thuật. Khả thi về tổ chức: Đánh giá tình khả thi về tổ chức đòi hỏi phải có sự hoà hợp giữa giải pháp dự kiến với môi trường tổ chức. Khả thi kỹ thuật: Tính khả thi kỹ thuật được đánh giá bằng cách so sánh công nghệ hiện có hoặc có thể mua sắm được với yêu cầu kỹ thuật của hệ thống đề xuất. Khả thi tài chính: Khả thi tài chính là xác định xem lợi ích hữu hình chờ đợi có lớn hơn tổng các chi phí bỏ ra hay không. Khả thi về mặt thời gian: Xem có khả năng hoàn thành đúng hạn không. 1.4.Chuẩn bị và trình bày báo cáo. Báo cáo cho phép các nhà quyết định cho phép dự án tiếp tục hay dừng lại. Báo cáo phải cung cấp một bức tranh sáng sửa và đầy đủ về tình hình, khuyết nghị những hành động tiếp theo.Báo cáo thường được trình bày để các nhà quyết định có thể yêu cầu làm rõ hơn các vấn đề, sau đó là quyết định tiếp tục hay loại bỏ dự án. 2.Phân tích nghiệp vụ. Mục đích của giai đoạn này là đưa ra phân tích logic về hệ thống hiện thời, rút ra từ đó các yêu cầu không tường minh của nghiệp vụ, điều hiển nhiên phải tính đến trong thiết kế hệ thống mới. Mục đích của giai đoạn này còn là để đưa vào trong yêu cầu nghiệp vụ mọi tiên nghi phụ mà người sử dụng xác định rằng chưa có trong hệ thông hiện tại. Các công đoạn trong giai đoạn này bao gồm: sơ đồ chức năng phân cấp, sơ đồ dòng dữ liệu, mô hình quan hệ thực thể, mô hình quan hệ. 2.1. Phân tích chức năng nghiệp vụ. Một trong những vấn đề khó khăn nhất mà các nhà phân tích gặp phải là việc xác định đùng những yêu cầu logic đăng sau hiện thực vật lý của hệ thống hiện thời. Để làm cho nhiệm vụ này dễ dàng hơn, phương pháp luận bắt buộc tiến hành phân rã một cách có thứ bậc các chức năng nghiệp vụ bên trong lĩnh vực nghiên cứu(sơ đồ chức năng nghiệp vụ). Việc nhấn mạnh vào chức năng hơnvào tiến trình gây khó khăn cho nhà phân tích làm chệch hướng ghi nhận cách thức các tiến trình được thực hiện về mặt vật lý. í tưởng này được chuyển tiếp sang hoạt động mô hình tiếp theo, vì các chức năng của IFD trở thành các tiến trình của sơ đồ dòng dữ liệu DFD. Hai mô hình IFD và DFD kiểm tra chéo lẫn nhau và đước lặp đi lặp lại cho đền khi đạt tới một mô hình các yêu cầu chức năng thoả đáng đơn giản và thẩm mỹ.Một khía cạnh quan trọng khác của việc dùng sơ đồ chức năng nghiệp vụ BFD làm công cụ lập mô hình đầu tiên là ở chỗ nhà phân tích thường có thể xác định toàn bộ chức năng tích hợp rồi tiến hành khảo sát, phân tích và thiết kế một chức năng này một cách tách biệt đối với các chức năng khác. 2.2. Phân tích các yêu cầu thông tin nghiệp vụ. Để xem xét chi tiết các yêu cầu thông tin của hệ thống, cần dùng thêm hai mô hình nữa là mô hình dữ liệu và mô hình quan hệ. Mô hình dữ liệu cơ bản là mô hình quan hệ-thuộc tính-thức thể đạt được thông qua cách tiếp cận từ trên xuống dưới. Mô hình quan hệ được xây dựng từ những thuộc tính xác định trong mô hình trước và được chuyển qua quá trình chuẩn hoá . Hai mô hình này được dùng để kiểm tra chéo lẫn nhau nhưng chúng cũng được tích hợp với các mô hinhf chức năng mà trong đó các kiểu thực thể trong bản cuối cùng của sơ đồ dòng dữ liệu. Bốn mô hình trên chưa đủ tư liệu cho đặc tả yêu cầu, cần phải có giải thích thêm, các mục từ trong từ điển dữ liệu, các mô tả tiến trình mức thấp của DFD, các thông tin nền tảngv.v… 3.Thiết kế hệ thống. Trong khi giai đoạn phân tích nghiệp vụ thuần tuý xử lý cho quan điểm logic về hệ thống và không liên quan tới cách thức có thể thoả mãn cho các yêu cầu, thì giai đoạn thiết kế hệ thống lại bao gồm việc xem xét ngay lập tức các khả năng cài đặt các yêu cầu nghiệp vụ này bằng cách sử dụng máy tính. Quá trình thiết kế sử dụng tất cả các phần của đặc tả yêu cầu được xây dựng trong quá trình phân tích làm đầu vào chính. Quá trình này bao gồm các phần sau: sơ đồ chức năng nghiệp vụ, sơ đồ dòng dữ liệu, mô hình thực thể, mô hình quan hệ. Các tài liệu trợ giúp gồm: các mô tả tiến trình, biểu đồ các yêu cầu vật lý, từ điển dữ liệu. 3.1.Xác định hệ thống máy tính. Đây là công đoạn đầu tiên của các tiến trình thiết kế và nó dùng sơ đồ dòng dữ liệu nghiệp vụ như đầu vào chính. Công cụ mô hình được dùng trong tiến trình chính là một dạng DFD với tên là sơ đồ dòng dữ liệu hệ thống và nó được xây dựng bằng cách chia các quá trình logic của DFD nghiệp vụ thành các tiến trình vật lý, một số trong chúng được thực hiện bằng máy tính và một số khác được thực hiện bởi con người. Đường đứt quãng đi qua trung tâm của sơ đồ phân tách các tiến trình máy tính ra khỏi tiến trình thủ công. Tuy nhiên, cũng có dòng dữ liệu liên hệ giữa các tiến trình máy tính và thủ công, và các dòng dữ liệu này biểu hiện cho các tài liệu, các khuân dạng, các báo cáo hoặc các màn hình tạo ra giao diện giữa người và máy của hệ thống. 3.2.Xác nhận cái vào, cái ra. Khi người sử dụng đã nhất trí với một cách dùng máy tính cho một phần của hệ thống, thì nhà thiết kế có khả năng xác định các khu vực của hệ thống có thể thích hợp với cách tiếp cận làm bản mẫu. Các dự tuyển bản mẫu riêng biệt được đánh dấu trên DFD hệ thống và các nhà thiết kế sẽ xây dựng bản mẫu của mình dùng các chi tiết lấy từ các đặc tả yêu cầu, từ bản sao của tài liệu hệ thống cũ. DFD hệ thống sẽ chỉ ra kho dữ liệu logic nào được sử dụng bởi tiến trình đang được làm bản mẫu. 3.3. Phân tích việc sử dụng cơ sở dữ liệu. Tiến trình này liên quan tới cách thức thực hiện thâm nhập dữ liệu trong các tiến trình hệ thống tương ứng với mô hình dữ liệu logic được xây dựng trong giai đoạn phân tích. Các tiến trình thâm nhập dữ liệu được ánh xạ lên mô hình dữ liệu, chỉ ra các mẫu sử dụng dữ liệu chi tiết và cung cấp các tài liệu gốc cho thiết kế vật lý hệ thống tệp cơ sở dữ liệu. 3.4. Phát triển hệ thống máy tính. Đây là phần phức tạp nhất trong các tiến trình thiết kế được vẽ trên sơ đồ và trên thực tế được caáu thành từ ba tiến trình con tách biệt. Các tiến trình con này cùng cung cấp định nghĩa chi tiết về các chương trình máy tinh của hệ thống. 3.4.1.Xác nhân chi tiết tiến trình máy tính. Mục đích của tiến trình con này là để đảm bảo rằng không một khía cạnh nào của hệ thống mới dự kiến bị bỏ sót. DFD là công cụ rất có ích cho phân tích và thiết kế nhưng nó thiếu cơ chế tự kiểm tra toàn bộ. Để cho phép kiểm tra tính đầy đủ của DFD ta kiểm tra từng kiểu thực thể từ mô hình dữ liệu, và tạo ra một danh sách liên tiếp các sự kiện mà các hoạt động sẽ ảnh hưởng tới nó. 3.4.2.áp dụng các kiểm soát cần thiết. Tiến trình con náy bao gồm việc kiểm tra toàn bộ hệ thống được vẽ trong DFD hệ thống và xác định những kiểm soát nào cần được áp dụng. Phương pháp được sử dụng bao gồm việc kiểm tra các phần lộ ra của hệ thống như được vẽ trong DFD hệ thống. Những tình huống và hoàn cảnh có thể gây ra thiệt hại cho từng đầu ra cần được kiểm tra bằng cách lật ngược lại mô hình DFD, khi xác định được từng yếu điểm trên mô hình cần phải có quyết định kiểm soát và sẽ đưa vào trong đặc tả. 3.4.3.Gộp nhóm các thành phần của hệ thống máy tính. Đến đây các tiến trình của hệ thống cần được xử lý trên máy tính đã được xử lý như những hoạt động riêng biệt ta cần phối hợp chúng thành các hệ thống con, các bộ chương trình, các modul. Công cụ chính được dùng trong việc gộp nhóm các thành phần của may tính có tên là sơ đồ dòng dữ liệu máy tính. Nó hoàn toàn là một DFD vật lý, tương phản với DFD nghiệp vụ logic. 3.5.Thiết kế cơ sở dữ liệu vật lý. Đây là mô tả cho tiến trình mà theo đó nhà thiết kế tệp/cơ sở dữ liệu tạo ra các định nghĩa dữ liệu cho hệ thống dự kiến và thiết lập các cấu trúc tệp sẵn sàng cho cài đặt. Các chi tiết từ phân tích sự sử dụng dữ liệu được tiền hành trước đó là: mô hình dữ liệu, mô hình quan hệ, sơ đồ phân tích đường dẫn, mô hình hoa tiêu, biểu đồ sử dụng dữ liệu. Nhà thiết kế thường bắt đầu bằng việc áp dụng ‘quy tắc cắt thứ nhất’ đối với mô hình dữ liệu logic, để chuyển chúng thành tập hợp các tệp tương ứng với phần mềm xử lý tệp cụ thể đang được sử dụng ttrong tổ chức. Từ đó trở đi tệp này được làm tối ưu cho đến khi chúng ăn khớp với yêu cầu của hệ thống. 4.Xây dựng. 4.1.Tối ưu bản mẫu và xây dựng chương trình. Việc này bao gồm lấy thông tin tữ người thiết kế CSDL trên cấu trúc đã nhất trí lần cuối và định nghĩa về CSDL rồi điều chỉnh chương trình ngôn ngữ thế hệ 4 theo nhiều bản mẫu khác.Khi bản mẫu đã được cải biên thì có thể đưa ra một bản mới đã được tối ưu hoá. Mặc dù có sự nhấn mạnh việc làm bản mẫu nhưng trong nhiều hệ thống máy tính nghiệp vụ còn có các tiến trình tính toán phức tạp mà các ngôn ngữ thế hệ 4 vá các cách làm bản mẫu tỏ ra không thích hợp. Trong những hoàn cảnh đó, việc lập trình sẽ được thực hiện theo các kỹ thuật lập trình có cấu trúc chặt chẽ, và bởi những người lập trình chuyên nghiệp. 4.2.Hoàn thiện thiết kế chương trình. Chi tiết của tiến trình này phụ thuộc vào phần mềm được sử dụng, vào kiểu của hệ thống đưa vào và phụ thuộc vào cách tiếp cận phân tích và thiết kế được tiến hành trong các giai đoạn trước. Thông thường giai đoạn này sẽ là kết quả của quá trình phát triển hệ thống. Các bản cuối cùng của bản mẫu hệ thống sẽ được đưa ra và chúng sẽ được cải tiến lặp đi lặp lại cho đến khi đạt tới dạng hoàn toàn chấp nhận được đối với người sử dụng. 5.Cài đặt và bảo trì hệ thống. 5.1.Cài đặt. Đây là quá trình chuyển đổi từ hệ thống cũ sang hệ thống mới. Mục tiêu của giai đoạn này là tích hợp hệ thống được phát triển vào các hoạt động của tổ chức một cách ít va vấp nhất và đáp ứng với thay đổi có thể xảy ra trong suốt quá trình sử dụng. Giai đoạn này có các công đoạn: Lập kế hoạch chuyển đổi, chuyển đổi các tệp và cơ sở dữ liệu, đào tạo và hỗ trợ người dùng. 5.2.Bảo trì hệ thống. Đây là giai đoạn chiếm chi phí lớn nhất trong chu kỳ sống của một hệ thống đối với phần lớn các tổ chức. Quá trình này có thể bắt đầu ngay sau khi hệ thống được cài đặt. Lý do cho sự tồn tại của giai đoạn này là nhằm tiến triển hệ thống về mặt chức năng để hỗ trợ tốt hơn những nhu cầu thay đổi về mặt nghiệp vụ. Các hoạt động bảo trì hệ thống không chỉ giớ hạn ở những biến đổi về phần mềm, phần cứng mà còn cả ở những thay đổi về quy trình nghiệp vụ. Việc bảo trì hệ thống cần dừng lại ở điểm mà tại đó việc phát triển mới hay mua mới hệ thống thay cho hệ thống cũ sẽ có tính kinh tế hơn. Chương II: Giới thiệu về foxpro và một số ứng dụng về foxpro Hiện nay có nhiều hệ quản trị cơ sở dữ liệu thiết kế các chương trình phần mềm quản lý như ORACLE, VISUAL BASIC, SQL SERVER..tuy nhiên những hệ quản trị trên có thiên hướng hỗ trợ nhiều cho hệ thống mạng. Trong khi đó yêu cầu của chúng ta phải vừa có thể hỗ trợ được hệ thống mạnh vừa có thể quản lý một cách hiệu quả. Mặt khác do các doanh nghiệp nước ta hiện nay vẫn còn nhỏ chưa cần đến những hệ quản trị cơ sở dữ liệu quá phức tạp nên chúng ta cần phải chọn một ngôn ngữ phù hợp với hệ thống chúng ta cần qunả lý. Có một ngôn ngữ phù hợp với các yêu cầu đó là VISUAL FOXPRO. Chào mừng các bạn đến với Visual foxpro, một môi trường hướng đối tượng mạnh mẽ cho việc xây dựng cơ sở dữ liệu của bạn và phát triển các ứng dụng. Visual foxpro cung cấp các công cụ bạn cần để tổ chức các bảng chứa thông tin, chạy các query, tạo một hệ thống cơ sở dữ liệu liên quan thống nhất, hay lập trình một sắp xếp một dữ liệu hoàn chỉnh cho người sử dụng. Visual Foxpro mang đến cho bạn những khả năng rộng mở giúp cho bạn trong nhiều lĩnh vực khi phát triển ứng dụng và cơ sở dữ liệu. Bạn có thể thấy sự tiến bộ trong thực thi hay sử dụng nguồn tài nguyên hệ thống và môi trường thiết kế. Nâng cao khả năng quản lý cơ sở dữ liệu và Project. Trong version này, có thể thấy điểm mạnh hơn Project và database. Bạn có thể sử dụng những sản phẩm code như Microsoft Visual Sourcesafe xem ở phần các thành phần của Project Manager. Bạn cũng có thể kiểm soát những hành vi do Projecthook Class cung cấp khi thực hiện lệnh Create class, createobject() hay Newobject() hoặc sử dụng Application Builder. Database container cho phép nhiều người sử dụng tạo lập hoặc sử dụng đồng thời trong cùng một Database. Đặc điểm luôn đáp ứng làm mới theo yêu cầu cho việc cập nhật những ý tưởng của mình trên cơ sở dữ liệu và project. Đặc trưng tìm kiếm và sắp xếp trong database designer cho phép thay đổi cách nhìn đối với các đối tưọng trong cơ sở dữ liệu. Cũng như vậy, khả năng truy xuất bằng phím có sẵn trong project manager hoặc database designer giúp cho bạn nhận biết các đoíi tượng rất mau lẹ. Máy móc bây giờ cho phép thay đổi những giá trị sai. Pessimistic buffering handle khoá record hiệu quả hơn. Giá trị Null là một khoá nhận diện và có thể sử dụng và có thể sử dụng tại chỗ “.Null.” Phát triển các ứng dụng dễ dàng hơn Visual Foxpro thêm một chức năng application wizard cung cấp các Project hook class mới và khả năng nâng cao đặc tính application framework làm choứng dụng hiệu quả hơn, chúng ta cũng thêm những tính năng nâng cao kinh nghiệm phát triển ứng dụng và thêm những tiện lợi hơn cho ứng dụng. . Các lớp nền của Visual foxpro làm dàng hơn khi thêm gần 100 đặc tính vào ứng dụng. . Component gallery tạo sự dễ dàng khi quản lý các lớp của Visual Foxpro, những văn bản, những tệp tin mà bạn muốn thêm vào ứng dụng của mình. . Phần mới application Builder cho phép thêm một cơ sở dữ liệu, tạo, thêm hay chỉnh sửa các bảng dữ liệu, các report, form, dịch và chạy những ứng dụng cho đúng cách. *Cải tiến công cụ debug Trong version này của Visual Foxpro, bạn có thể tìm lỗi và kiểm tra những thành phần của ứng dụng mọtt cách dễ dàng hơn, bạn có chức năng mở công cụ debug trong cửa sổ chính của Visual Foxpro nơi chúng hiện hữu cùng màn hình giao diện ứng dụng của bạn. Chương trình debug cung cấp những công cụ để bật những điểm dừng kiểm tra những tình huống và code gần giống như thể hiện trong môi trường bẫy lỗi của Visual C. Trong cửa sổ watch và local trình bày cách cài đặt thuộc tính, những đối tượng và giá trị những thành phần của mảng. Để xem giá trị của biến hiện thời, bạn chỉ việc đặt con trỏ vào tên biến trong cửa sổ trace. Cửa sổ output cho bạn xem một cách tiện lợi những yêu cầu thông tin được mã hoá và kết quả xuất hiện trực tiếp trên một góc của cửa sổ từ cửa sổ ứng dụng. Trong version này của Visual foxpro cũng gồm có một bản nâng cấp của profiler application để bạn có thể dùng để phân tích những chương trình, những ứng dụng hay các đề án để mã hoá cho thi hành. Bản thân động cơ coverage profiler là có thể tuỳ chọn giao diện trên visual foxpro. Dễ dàng khi thiết kế bảng và lập từ điển dữ liệu mở rộng. Trong version này của table designer, dễ dàng thêm các index giống như tạo các field và chỉ rõ nhiều giá trị mặc nhiên làm cho khi thiết kế form nhanh hơn. Có thể định nghĩa một khoá thường trên cùng một trang và trên cùng một hàng với field. Trang table cho bạn truy xuất trực tiếp vào validation rule, trigger và statistic cấp bảng. Lớp và thuộc tính của thư viện mặc định kiểu điều khiển của một field: khi thêm một field vào form, bạn tạo một điều khiển mà bạn muốn chỉ bằng một buớc dễ dàng. Hơn nữa, thuộc tính input mark và format giúp bạn định kiểu hiện diện của dữ liệu. Connection designer làm việc với trình quản trị cơ sở dữ liệu ODBC tạo những kết nối dễ dàng hơn cho việc tạo lập. Nhà thiết kế cũng cung cấp thêm những thuộc tính cho sự kết nối. Nâng cao tính năng query và view designer. Có thể tạo outer joint, chỉ định tên gọi cho các cột hoặc chọn một số record thoả mãn điều kiện nào đó.. bằng query và view designer. Dùng view designer cho phép xác định những thuộc tính giốmg nhau trên field hữu của bảng. Gia tăng những tính năng cho form và sự dễ dàng trong thiết kế. Theo những nâng cấp từ điển dự trữ dữ liệu trợ giúp trong thiết kế form, sử dụng form designer sẽ dễ dành và tiên lợi hơn. Form designer hỗ trợ công cụ single document interface(SDI) và Multiple document interface(MDI) cho bạn làm những gì mình muốn trên ứng dụng. Sử dụng SDI, tạo được những cửa sổ ứng dụng bên trong cửa sổ desktop của window. Shortcut Menu designer giúp tạo những shortcut sử dụng trong hành vi Right click. Form và những điều khiển có thêm những thuộc tính này và phương thức mới cho việc điều chỉnh từng phần của form. Trong cửa sổ properties, bạn có thể chọn một nhóm các điều khiển, thấy những thuộc tính chung, chung đổi chúng. Nếu cần sử dụng một khaỏng rộng để quan sát hay chỉnh sửa những thuộc tính này, bạn dùng properties zoom. Công cụ alignment canh những đối tượng theo hàng hay theo cột, di chuyển chỗ này, chỗ kia rất dễ dàng. Một yêu cầu chung của những nhà phát triển hệ thống là có thể sử dụng phím trong cửa sổ properties và cho phép di chuyển từ đối tượng này sang đối tượng khác bằng cách nhấn những tổ hợp phím CTRL kết hợp với các phím: PAGEUP, PAGEDOWN, HOME, END. Nếu muốn thay đổi những gì trong khi thi hành, nút design trên toolbar cho bạn truy xuất trở lại thiết kế màn hình nhanh. Công cụ soạn thảo viết code dễ dàng hơn khi định dạng các chương trình, thay đổi màu sắc, nâng cao chức năng tìm và thay thế. Cung cấp khả năng truy xuất bằng shortcut hay các phím tắt như bấm mouse phải để bật những hành vi cho bất kì đối tượng nào. Trong chương này gồm có: *Bắt đầu Visual Foxpro *Giới thiệu về Project manager *Giới thiệu các kiểu thiết kế Visual Foxpro *Thiết kế các kiểu cơ sở dữ liệu Bắt đầu Visual Foxpro Double-click vào biểu tượng Microsoft Visual Foxpro: Khi khởi động Visual Foxpro, Project Manager tạo một Project mới và trống, vì thế bạn có thể thêm những mục hiện có hoặc tạo những mục mới vào Project này. Sử dụng Project manager, bạn có thể làm quen với visual foxpro một cách nhanh chóng. Project manager cung cấp một phương pháp đơn giản, dễ thấy để tổ chức và làm việc với các Table, Form, Database, Report, Query và các file khác khi bạn đang sắp xếp các bảng và cơ sở dữ kiệu hay đang tạo một ứng dụng. Giới thiệu về project Manager Project Manager giúp tổ chức dữ liệu, lập query hay thiết kế các ứng dụng hoàn hảo. Chỉ bằng một vài thao tác chuột, bạn có thể giữ lại duy trì các bảng, các query và các tổ chức các mối quan hệ giữa các form, report, label, code, bitmap và các file khác. Giao diện của Project Manager giống như giao diện của windows exployer. Các đường kẻ cho thấy một hệ thống có đẳng cấp giữa các item trong Project Manager. Bạn có thể mở ra hay thu lại các chi tiết để thấy các cấp tổ chức. 3. Làm việc với bảng dữ liệu Bảng dữ liệu lưu trữ của bạn theo dòng, cột giống như bảng tính. Mỗi dòng tượng trưng cho một record, mỗi cột tượng trưng cho field của record đó. Có thể thiết kế hai loại bảng dữ liệu trong Visual Foxpro : Database table: bảng dữ không tuỳ thuộcvào bất cứ cơ sở dữ liệu nào. Free table: bảng dữ liệu đống vai trò thành phần trong cơ sở dữ liệu Thiết kế cơ sở dữ liệu bao gồm tạo các cơ sở dữ liệu (Table), xác định các Field cần thiết có trong bảng dữ liệu, các mối quan hệ cần có trong ứng dụng. Trong khi thiết kế các bảng dữ liệu bạn phải làm một số công việc chi tiết như: chọn dữ liệu, tạo tiêu đề diễn giải, xác định các giá trị mặc nhiên cho từng trường, cũng như chọn khoá, tạo bẫy lỗi (Trigger) và tạo chỉ mục cho bảng dữ liệu. Đăc biệt phải thiết lập các mối quan hệ giữa các bảng dữ liệu với nhau. 3.1-Tạo bảng dữ liệu Trong Visual Foxpro, một bảng dữ liệu có thể tồn tại ở một trong hai trạng thái nằm trong một cơ sở dữ liệu nào đó hoặc là một bảng dữ liệu tự do. Việc một bảng không nằm trong một cơ sở dữ liệu nào đó sẽ có lợi điểm so với bảng dữ liệu tự do, những lợi điểm bao gồm: Có thể tạo Field tên dài. Có thể tạo những tiêu để và những lời chú giải cho từng field. Có thể tạo giá trị mặc nhiên, mẫu nhập dữ liệu cho từng trường. Có thể tạo những quy tắc ở mức trường và record Có thể tạo khoá chính cũng như mối liên kết toàn vẹn giữa các bảng dữ liệu. Những thủ tục kiểm tra việc chèn , cập nhật hoặc xoá trong bảng dữ liệu. 3.1.1 Tạo bảng Bạn có thể tạo bảng dữ liệu bằng hai cách : Cách 1: trong Project Manager chon mục Database/Table, rồi chọn nút New. Cách 2: sử dụng câu lệnh Create Table Cú Pháp :CREATE TABLE [] [Null | not Null ] Primary Key [Tên Trường] Tag [Tên tag] 3.1.2-Tên Field Khi thiết lập cac Field trong bảng ta phải xác định tên Field, kiểu dữ liệu, độ dài. Ngoài ra còn phải xác định Field đó cho phép giá trị Null, có giá trị Default, cần có quy tắc kiểm tra dữ liệu hay không. Trong Visual Foxpro mỗi bảng cho phép tối đa 255 Field. Đối với bảng dữ liệu tự do, tên Field dài tối đa 10 kí tự. Đối với bảng nằm trong cơ sở dữ liêu thì tên trường cho phép dài tối đa 128 kí tự. Đặt tên field trong bảng dữ liệu có thể thực hiện theo hai cách sau : Trong công cụ Table Designer, gõ tên Field vào hộp Name Hoặc dùng lệnh Create Table hoặc Alter Table 3.1.3- Chọn loại dữ liệu Trong khi tạo Field trong bảng dữ liệu, ta phải chọn kiểu dữ liệu cho từng Filed đó. Để chọn được loại dữ liệu phù hợp với từng Field phải xem xét các trường hợp sau : Các giá trị lưu trữ thuộc loại dữ liệu nào. Các giá trị lưu trữ trong trường cần chiều dài tối đa bao nhiêu Các phép toán nào có thể sử dụng trên vùng dữ liệu này Visual Foxpro có thể tạo chỉ mục hay sắp xếp các giá trị trong field này không. Để chọn dữ liệu cho từng Field, trong Table Designe, kích vào hộp có mũi tên chỉ xuống trong hộp thoại Type. Ngoài ra ta còn có thể xác định kiểu dữ liệu trong câu lệnh Create. 3.1.4- Giá trị Null Khi một trường có thể chứa giá trị Null, nghĩa là giá trị ở Field này có lúc có, có lúc không. Để xác định đây là Field có giá trị Null, trong Table Designer, kích vào cột Null ở Field đó. Việc hiện diện giá trị Null sẽ gây ra một tác động lớn trong bảng cơ sở dữ liệu. 3.1.5-.Diễn giải cho Field Sau khi xác định được các mục cơ bản của Field như tên, kiểu dữ liệu, độ dài...ta có thể thêm phần diễn giải cho rõ ràng hơn và thuận lưọi hơn cho việc cập nhật và bảo trì sau này. 3.1.6-Tên bảng dữ liệu Nếu dùng câu lệnh Create Table hay công cụ Database Designer, thì phải xác định trong câu lệnh Visual foxpro sẽ tạo một bảng mới và lưu trên đĩa. Tên bảng bao gồn các kí tự , kí số, dấu gạch dưới nhưng phải bắt đầu bằng một ký tự hay dấu gạch dưới. Nếu bảng nằm trong một cơ sở dữ liệu thì phải xác định tên bảng dài. Tên bảng dài cho phép tối đa 128 ký tự, tên bảng xuất hiện trong công cụ Project Designer, Database Designer, View Disgner cũng như xuất hiện trên thanh tiêu đề của cửa sổ Browse. Ghi chú : tên bảng không phải là tên File Trang Field gồm các mục : Names: là vùng đặt tên các field trong cơ sở dữ liệu. Type: chọn kiểu dữ liệu cho từng trường. Width: chiều dài của từng trường. Decimal : Số số lẻ (nếu trường có kiểu dừ liệu số) Index: Field này có tạo chỉ mục hay không(chọn bằng cách đánh dấu X vào mục này.) Null: vùng này cho phép giá trị Null hay không, nếu có thì đánh dấu X vào mục này. 4. Các quy tắc kiểm tra dữ liệu Quá trình kiểm tra xem dữ liệu nhập có phù hợp với kiểu dữ liệu điều kiện hay giới hạn nào đó ở mức Field hay ở mức Record được gọi chung là “quy tắc kiểm tra dữ liệu có hiệu lực”. Các quy tắc kiểm tra này chỉ tồn tại trong bảng dữ liệu. Có 3 loại quy tắc kiểm tra :quy tắc kiểm tra ở mức trường, quy tắc kiểm tra ở mức record, quy tắc kiểm tra ở mức bảng. Kết quả mà bạn nhập vào sẽ được kiểm tra bằng biểu thức mà bạn định nghĩa. Nếu giá trị nhập vào không đúng quy tắc kiểm tra thì giá trị đó sẽ bị loại bỏ. 4.1- Quy tắc kiểm tra dữ liệu nhập vào trong trưòng, có thể kiểm tra tính hợp lệ của dữ liệu thông qua quy tắc kiểm tra dữ liệu được cài đặt ở mức Field. Trong Table Designer, gõ quy tắc kiểm tra trong hộp Field Validation. Hoặc dùng lệnh Check trong câu lệnh Create Table. Hoặc dùng mệnh đề Set trong câu lệnh Alter Table Để tạo quy tắc kiểm tra ở mức Field ta thực hiện ở các bước sau : Mở bảng dữ liệu trong Table Designer. Chọn Field cần thiết lập quy tắc. Chọn nút bên cạnh hộp Rule. Trong hộp thoại Expresstion Builder, thiết lập các quy tẳc rồi chọn OK. Trong hộp Message, gõ nội dung cânf thông báo khi quy tắc này sai. Chọn nút Ok 4.2- Quy tắc kiểm tra dữ liệu ở mức Record dùng để kiểm tra dữ liệu khi người dùng đưa dữ liệu vào. Quy tắc kiểm tra này khác với kiểm tra ở mức Field ở chỗ: khi ta muốn kiểm tra dữ lỉệu của một Field nhưng nó phụ thuộc vào một hay nhiều giá trị khác của trường khác Để tạo quy tắc kiểm tra dữliệu ở mức Record và câu thông báo lỗi thực hiện như sau: Trong công cụ Table Designer, gõ quy tắc kiểm tra và câu thông báo lỗi vào phần Rule và Message. Hoặc dùng mệnh đề Check trong câu lệnh Create Table, hay Alter Table. 4.3 Quy tắc kiểm tra ở mức bảng. Khi muốn hai hay nhiều trường được Field sẽ được so sánh, kiểm tra...trước khi record đó được đưa vào bảng dữ liệu, bạn có thể thiết lập quy tắc cho bảng. Cách thực hiện như sau: Chọn bảng dữ liệu cần thực hiện rồi chọn nút Modify. Trong Table Designer, chọn trang Table. Trong hộp Rule, gõ biểu thức cần kiểm tra. Trong hộp thoại Message box, gõ thông báo mà bạn muốn xuất hiện khi quy tắc kiểm tra sai. Chọn nút Ok. Trong Table Designer, chọn nút Ok. 4.4- Các câu lệnh liên quan đến tạo và chỉnh sửa bảng dữ liệu. Lệnh Create Table. Chức năng: tạo bảng dữ liệu Cú Pháp :CREATE TABLE [] [Null | not Null ] Primary Key [Tên Trường] Tag [Tên tag] Lệnh Alter Table Chức năng : dùng để thay đổi cấu trúc của bảng dữ liệu đã được tạo lập. Cú Pháp : ALTER TABLE Tablename1 ALTER [colume] Fieldname2 [Null | Not Null ] [ SET DEFAULT Expression2] [SET CHECK expression2 [error massage text2]] [DROP DEFAULT] [DROP CHECK] [NOVALIDATE] 5. Làm việc với Record 5.1- Xác định thư mục làm việc Thông thường khi khởi động Visual Foxpro, thư mục làm việc là ...\Vfp98. nếu dữ liệu của bạn lưu trữ ở thư mục khác khi làm việc sẽ gây bất tiện. Để khắc phục điều này ta sử dụng lệnh SET DEFAULT TO Chức năng: thiết lập thư mục và ổ đĩa mặc nhiên Cú pháp : SET DEFAULT TO [PATH] 5.2 - Hiện nội dung của bảng. Cách nhanh nhất để hiện nội dung của bảng dữ liệu là hiện nội dung của chúng trong cửa sổ Browse. Cửa sổ Browse hiện nội dung của các dòng các cột, bạn có thể sử dụng thanh cuốn để xem. Cách thực hiện: Từ Menu File, chọn Open rồi chọn bảng dữ liệu cần xem. Từ Menu View chọn thư mục Browse Bạn cũng có thể chọn bảng dữ liệu trong Project Manager rồi chọn nút Browse. 5.3 - Di chuyển trong bảng dữ liệu. Dùng thanh cuốn để di chuyển bảng dữ liệu và thể hiện thông tin từ các Field khác, bạn cũng có thể sử dụng các phím mũi tên và phím Tab để di chuyển. Ngoài ra cũng có thể sử dụng Menu lệnh để thực hiện công việc này. Trong Menu Table, chọn mục Go To Record. Trong bước tiếp theo, chọn một trong các công cụ Top, Bottom, Next, Previous hoặc Record. Nêú chọn mục Record, bạn phải gõ vào số Record cần xem rồi chọn Goto. 5.4 -Thêm một Record mới vào bảng dữ liệu Cách1: bạn có thể thêm một bản ghi mới vào bảng dưc liệu nhanh nhất bằng cách đặt cửa sổ Browse hay Edit ở chế độ Append. Cách2: Sử dụng lệnh Insert của SQL, lệnh này dùng để nhập dữ liệu từ một mảng hay các biến vào trong bảng dữ liệu. Cách3: sử dụng lệnh Append Blank kết hợp với lệnh Replace Cú Pháp: APPEND BLANK Chức năng: Thêm một Record trắng vào cuối bảng dữ liệu hiện hành. sau khi thực hiện lệnh này, muốn nhập dữ liệu vào bạn phải dùng lệnh Replace hay Gather. Thêm dữ liệu từ bảng khác Bạn có thể thêm dữ liệu vào một bảng khác bằng cách sử dụng lệnh APPEND FROM. Cú pháp: APPEND FROM FieldName1? [FIELD fieldList] [FOR lExpresion] 5.6-Xoá Record Bạn có thể xoá record bằng cách đánh dấu xoá chúng ra khỏi bảng dữ liệu. Khi các Record bị đánh dấu xoá, bạn có thể khôi phục lại được, còn khi đã xoá khỏi bảng dữ liệu thì không xoá lại được. 5.7-Khôi phục lại các Record đã bị đánh dấu xoá Bạn có thể khôi phục lại các Record bị đánh dấu xoá bằng các cách sau đây: Làm lại thao tác như đánh dấu xoá cho những Record nào muốn khôi phục Trong Menu Table, chọn Recall Records. Dùng lệnh Recall ở cửa sổ lệnh. 5.8-Xoá các Record đã đánh dấu xoá ra khỏi bảng dữ liệu Sau khi đánh dấu xoá các Record, bạn có thể xoá chúng ra khỏi bảng dữ liệu bằng các cách sau: Trong cửa sổ Browse, chọn thư mục Browse Delete Record trong menu Table. Dùng lệnh PACK khi sử dụng lệnh này bảng dữ liệu phải được mở ở chế độ độc lập. 5.9-Xoá tất cả các Record trong bảng dư liệu Bạn có thẻ xoá tất các Record trong bảng dữ liệu mà không cần đánh dấu xoá trước bằng lệnh ZAP. Khi đó tất cả các bản ghi không thể khôi phục lại được. 6-Sắp xếp dữ liệu sử dụng Index Một khi ta tạo được bảng dữ liệu, ta có thể sắp xếp dữ liệu bằng cách sử dụng Index để tăng tốc độ trích xuất dữ liệu. Bạn có thể sử dụng Index để làm tăng độ tìm kiếm dữ liệu cũng như kết xuất in ấn. Index rất quan trọng trong việc tạo mối quan hệ giữa các bảng cơ sở dữ liệu. Index trong Visual Foxpro giống như bảng mục lục của cuốn sách. Mỗi mục lục cuốn sách nằm trên một trang nào đó được xác định qua số trang, cũng như một Record nằm trên một bảng dữ liệu đều có một chỉ số riêng biệt nằm trong file Index. Khi muốn truy xuất đến một Record nào đó, Visual Foxpro sẽ dựa vào chỉ số này để đến Record đó. 6.1-Tạo Index Một khi có bảng dữ liệu, bạn có thể tạo một Index trên Field hay một biểu thức. Để dùng Index có hiệu qủa, tạo Index trên những Field thường hay dùng để đọc dữ liệu trong bảng, trong Query hay trong Report. Nếu tạo Index trên những Field không sử dụng thường xuyên ví dụ như Field địa chỉ thì nó sẽ làm chậm quá trình xử lý. Ngoài ra còn có thể tạo Index trên nhiều Field bằng cách kết hợp chúng lại trong một biểu thức. Trong Project Manager, chọn bảng dữ liệu muốn tạo Index rồi chọn nút Modify. Trong công cụ Table Designer, chọn trang Index màn hình sau sẽ xuất hiện. Trong hộp thoại Name, gõ tên Tag bạn cần tạo. Trong hộp Type chọn laọi Index. Bạn có thể chọnh một trong 4 loại: + Primary + Candidate + Regular Index + Unique Trong hộp Expression gõ tên Field bạn cần Index hoặc nhấn nút bên cạnh để xây dựng một biểu thức Index. Hộp Filter dùng để lọc các Record thảo mãn một điều kiện nào đó trước khi tiến hành Index. Chọn nút Ok. 6.2- Truy xuất dữ liệu với Index Sau khi đã tạo index cho các trường khác nhau trong bảng dữ liệu, có thể truy xuất dữ liệu hay hiện dữ liệu trong bảng theo nhiều đang sắp xếp khác nhau. Sử dụng một trong 2 cách sau để thay đổi dạng Index. Dùng menu lệnh: Trong Project Manager, chọn bảng dữ liệu đã tạo index. Chọn nút browse Trong menu Table, chọn mục Properties. Trong hộp Index chọn loại Index cần dùng. Chọn Ok. 7. Mối quan hệ giữa các bảng dữ liệu Database Deigsner dễ dàng tạo mối quan hệ giữa các bảng dữ liệu bằng cách nối các chỉ mục lại với nhau. Quan hệ được tạo trong Database Deigsner được gọi là Persistent Relationship. Mỗi lần sử dụng các bảng trong công cụ query hay View Designer hoặc trong Data Environment khi tạo Form thì các mối quan hệ này sẽ xuất hiện. 8. Forms Bạn có thể dùng Form cung cấp cho người dùng giao diện để hiện và nhập thông tin vào cơ sở dữ liệu, Form còn cung cấp một tập hợp các đối tượng để đáp ứng lại những thao tác của người dùng trên Form giúp họ có thể hoàn thành công việc dễ dàng. 8.1- Tạo Form mới bằng form Designer Trong mục Project Designer chọn mục form trong document rồi chọn nút new. Hoặc trong menu file chọn mục New, chọn form rồi chọn nút New file. Hoặc gõ lệnh Create Form trong cửa sổ lệnh. 8.2- Các đối tượng (Control) Textbox là ô văn bản dùng để nhập giá trị dạng văn bản Label thường dùng để thể hiện các hướng dẫn trên form Command button đây là một đối tượng dùng để thực hiện một tác vụ nào đó khi người dùng kích chuột vào hoặc ấn phím Enter. Command button group quản lý một tập hợp các Command button. Listbox là danh sách hiện sẵn các giái trị mà người dùng có thể chọn Combobox là đối tượng có thể chứa nhiều một danh sách để chọn. Check box là ô cho phép chọn có thể chọn đồng thời nhiều ô. Option button chỉ cho phép chọn 1 trong các trường hợp Grid đây là bảng lưới Active X(OLE) là một đối tượng dùng để nhúng, kết hợp với các đối tượng khác. 8.3- Các thuộc tính của các control Mỗi loại control trên Form đều có các thuộc tình đi kèm các thuộc tính này mô tả đầy đủ các thuộc tính đi kèm. Trong cửa sổ properties ngoài thuộc tính của control nó còn thể hiện các phương thức của đối tượng đó. Mỗi một control có nhiều thuộc tính trong đó có các thuộc tính sẵn có người dùng không thể phát triển, có những thuộc tính người dùng có thể phát triển theo ý của mình. Sự phát triển có thể được thực hiện khi thiết kế form hoặc được thực hiện khi chạy chương trình. Mỗi loại đối tượng đều có những thuộc tính khác nhau, chú ý thuộc tính hình thức như Font, Fontsize, name, caption, height, width. 8.3- Các Method Method là một phương thức xử lý của control. Nó thường là các đoạn chương trình viết cho các mã khác nhau. Event là các sự kiện xảy ra đối với control. Click là bấm chuột để làm gì. Double click : nhấn kép chuột để làm gì Lostfocus : mất con trỏ thì làm gì Gostfocus : nhận được con trỏ thì làm gì Init : sự khởi đầu Keypress : ấn phím thì làm gì Load: xảy ra trước sự kiện Init Destroy : huỷ bỏ Mousemove : di chuột qua Reports Trong các ứng dụng của fox thường có phần chức năng là nhập dữ liệu vào cho cơ sở dữ liệu và lấy cơ sở dữ liệu ra phục vụ cho người có nhu cầu nhập tin. Để đưa dữ liệu vào ta nhập từ form. Để lấy dữ liệu ra ta lấy bằng report 1. Loại báo cáo Báo cáo chi tiết, chủ yếu mang tính liệt kê thể hiện các bản ghi trong tệp cơ sở dữ liệu một cách tuần tự. Báo cáo tổng hợp, tổng hợp dữ liệu trong tệp trước khi đưa ra báo cáo, việc tập hợp có thể theo một hay nhiều tiêu thức khác nhau. 2. Tạo báo cáo nhanh. Nó hỗ trợ cho việc tạo báo cáo nhanh đơn giản. Visual Foxpro sẽ giúp cho tạo ra đối tượng trên báo cáo sau đó ta có thể thiết kế lại b1. Mở tệp cơ sở dữ liệu muốn lấy dữ liệu ra b2. Create Report b3. Chọn Quick Report b4. Chọn trường trong tệp cơ sở dữ liệu, sau đó ấn Ok Sử dụng Report Designer C1: Vào File ->New ->Report C2: Trong Project chọn Report sau đó chọn newfile C3: +Create Report +Modify Report Thành phần của Report Header : phần đầu của Report Title : dùng để đặt tiêu đề cho Report Detail : phần chứa các trường của Report Sumery : phần tổng kết Report footer 5. Sử dụng các control : Trên thanh công cụ Toolbar có những thuộc tính để chèn vào Report A: nhằm tạo nhãn cố định Ab : dùng để thể hiện lấy thông tin từ tệp cơ sở dữ liệu hoặc bộ nhớ. 10. Menu Menu cung cấp một phương thức có cấu trúc và giao diện với người dùng để tác động lên những câu lệnh trong ứng dụng của bạn. Việc sáp xếp thích hợp và thiết kế Menu có hệ thống sẽ giúp cho ngưới dùng được thuận tiện khi sử dụng ứng dụng của bạn. 10.1- Sử dụng menu trong ứng dụng Thông thường người ta hay xem menu trước khi sử dụng. Nếu menu của bạn thiết kế tốt, người dùng sẽ nắm vững hệ thống của bạn. Với công cụ Menu Designer của Visual Foxpro, bạn có thể tạo ra menu làm tăng hiệu quả trong ứng dụng của bạn. Trong mỗi phần của Visual foxpro đều có những menu hệ thống riêng biệt. Phần dưới đây trình bày cách tạo menu hệ thống. Các bước tạo menu hệ thống Việc tạo menu hệ thống phải qua một số bước sau đây: Sắp xếp và thiết kế : quyết định menu nào bạn cần, chúng xuất hiện ở đâu trên màn hình, cần tạo những menu con nào. Tạo menu và submenu : sử dụng công cụ Menu Designer để tạo các đề mục chính, các mục nằm trong menu và submenu. Gắn các câu lệnh để thực hiện các tác vụ bạn muốn. Biên dịch Menu. Tiến hành chạy thử và kiểm tra Tổ chức menu hệ thống Sự tiện ích của hệ thống này tuỳ thuộc vào chất lượng của menu hệ thống. Nếu bạn đầu tư thời gian vào thiết kế menu, thì người dùng sẽ dễ dàng và nhanh chóng biết cách sử dụng. Tổ chức menu theo những công việc mà người dùng sẽ làm, không tổ chức theo thứ tự những chương trình theo ứng dụng của bạn. Người dùng có thể hình dung mô hình ứng dung của bạn tổ chức như thế nào bằng cách xem xét menu và các submenu. Việc thiết kế menu và submenu ấn tượng sẽ giúp cho người sử dụng hiểu được phong cách để hoàn thành công việc họ phải làm như thế nào. Tạo tiêu đề cho mỗi menu một cách có ý nghĩa Tổ chức các mục trong menu theo những yêu cầu thường hay sử dụng, theo trình tự logic hay theo thứ tự Alphabete. Nếu bạn không đoán được trình tự của công việc cũng như tính logic thì bạn sắp xếp các mục trong menu theo thứ tự Alphabet. Việc sắp xếp các menu theo trình tự này sẽ hữu ích khi số lượng các mục trong menu lớn hơn 8, nếu có nhiều mục như vậy, người dùng sẽ tốn nhiều thời gian để tìm kiếm một mục nào đó, việc sắp xếp các mục theo trật tự Alphabet sẽ giúp cho người dùng tìm kiếm nhanh hơn. Đặt các đường kẻ ngang phân cách các nhóm trong mục menu. Giới hạn số lượng các mục trong menu để hiện diện trên màn hình. nếu số lượng vượt quá chiều dài màn hình thì tạo submenu. Tạo menu Bạn có thể tạo menu bằng cách điều chỉnh lại menu hệ thống trong Visual Foxpro hoặc bằng cách tạo menu riêng cho mình, bạn có thể dùng công cụ quick menu để tạo menu hệ thống như sau: Trong Project Manager, chọn trang other, sau đó chọn mục Menu và nút New. Chọn thư mục menu . Màn hình Menu Designer xuất hiện. Trong Menu chọn mục Quick menu. Màn hình Menu Designer sẽ chứa các thông tin về Menu chính của Visual Foxpro. Chỉnh sửa các menu của hệ thống bằng cách thêm hay chỉnh sửa chúng. Sau khi tạo xong Menu, cần phải biên dịch chúng. Tạo các mục trong menu Sau khi tạo xong menu, bạn có thể đặt các mục trong các menu. Các mục này có thể mô tả câu lệnh của Visual Foxpro hoặc các thủ tục mà bạn muốn người dùng thi hành, hoặc các mục menu có thể chứa các submenu khác. Để thêm các mục trong menu bạn thực hiện như sau: Trong cột Prompt, chọn menu nào bạn muốn thêm các mục trong đó. Trong hộp Result chon submenu. Một nút Create sẽ xuất hiện bên cạnh danh sách. Chọn nút Create, một cửa sổ mới sẽ xuất hiện, bạn có thể gõ các mục của menu trong đó. Tạo Submenu Mỗi một Menu bạn đều có thể tạo các Submenu để chứa các mục nằm trong đó. Cách tiến hành như sau: Trong cột Prompt, chọn menu nào bạn thêm Submenu Trong hộp Result chọn submenu. Một nút Create sẽ xuất hiện bên cạnh danh sách. Nếu submenu đã tồn tại nút này sẽ được thay bằng nút edit. Chọn nút Create hoặc edit, một cửa sổ sẽ xuất hiện, bạn có thể gõ các mục của menu trong đó. Lập trình trong Visual foxpro Có thể viết chương trình trong Visual foxpro bằng cách viết các chỉ thị trong Cửa sổ lệnh. Trong file chương trình. Trong các cửa sổ tình huống hay method của Form Designer hoặc Report Designer. Trong các cửa sổ thủ tục của Form Designer hoặc Report Designer. 11.1- Các bước tạo một chương trình Một chương trình Visual Foxpro là một File văn bản chứa một dãy các câu lệnh. Thực hiện việc tạo một chương trình bằng các cách sau: Trong Project Manager, chọn trang code, sau đó chọn mục Program. Chọn nút New. Hoặc Trong Menu File, chọn New. Trong hộp thaọi New chọn Program. Chọn nút Newfile. 11.2- Lưu chương trình. Sau khi tạo một chương trình, lưu chương tình bằng cách: - Chọn save trong menu File hoặc nhấn tổ hợp phím Ctrl+ S. Nếu tạo chương trình trong Project Manager, chương trình này sẽ được đưa vào Project. Nếu khi lưu mà chưa có tên File, Visual foxpro sẽ hiện hộp thoại để đặt tên cho File chương trình này. Sau khi lưu chương trình, có thể thực hiện chương trình này hoặc chỉnh sửa nó. 11.3- Hiệu chỉnh chương trình Để hiệu chỉnh chương trình, thực hiện một trong các cách sau: Nếu chương trình nằm trong Project Manager, mở file Project Manager, chọn mục Program rồi nhấn nút Modify. Trong menu File, chọn mục Open, chọn mục Program trong hộp file of type. Từ danh sách file, chọn file chương trình nào cần sửa rồi chọn open. Trong cửa sổ lệnh, gõ tên File chương trình cần hiệu chỉnh trong câu lệnh: Modify command Nếu không nhớ tên file chương trình, có thể gõ như sau: Modify command?. Khi đó Visual Foxpro sẽ hiện hộp thoại để bạn chọn File chương trình nào cần sửa. 11.4- Thực thi chương trình Để thực thi một chưong trình, thực hiện một trong các lệnh sau: Nếu chương trình nằm trong một Project, chọn chương trình đó trong Project Manager rồi chọn nút Run. Hoặc trong Menu Program, chọn nút DO. Từ danh sách các File chương trình chọn file rồi chọn nút DO . Hoặc trong cửa sổ lệnh, gõ lệnh DO kềm với tên File chương trình. tương tự như lệnh Modify command, gõ dấu “?” để chọn chương trình từ danh sách. 12- Cấu trúc lập trình 12.1- Cấu trúc lập trình rẽ nhánh. 12.1.1- Cấu trúc lập trình rẽ nhánh if Cấu trúc lập trình rẽ nhánh IF cho phép ta có thể rẽ nhánh chương trình theo hai hướng khác nhau tuỳ thuộc vào điều kiện rẽ nhánh có đúng hay không. Cú pháp: IF Các lệnh khi điều kiện đúng ELSE Các lệnh khi điều kiện sai ENDIF Trong đó điều kiện là một biểu thức Logic luôn trả về một trong hai giá trị .T. hay .F. Lưu đồ Đk Đ Đk S Câu lênh nếu đk đúng Câu lệnh nếu đk sai END 12.1.2- Cấu trúc lựa chọn DO CASE Chức năng : chọn lựa một trong các trường hợp để thực hiện. Nếu tất cả các trường hợp không đúng thì thực hiện lệnh trong phần OTHERWISE. Cấu trúc lện DO CASE giống như lệnh IF .... ELSE ... ENDIF lồng nhau. Nhưng khi bài toán có nhiều lựa chọn thì ta nên dùng cấu trúc DO CASE, vì cách viết của nó làm cho chương trình rõ ràng hơn, dễ bảo trì hơn. Cú pháp : DO CASE CASE CASE .... CASE OTHERWISE ENDCASE Lưu đồ : ĐK 1 Thi hành lệnh 1 ĐK 2 Thi hành lệnh 2 ĐK 3 Th hành lệnh 3 Thi hành lệnh khác Otherwise Cách thực hiện lệnh: Visual Foxpro sẽ lần lượt xét các điều kiện từ đến nếu tất cả đều kiện này sai, khi đó sẽ được thực hiện. Nếu có một điều kiện đúng thì Visual Foxpro sẽ được thực hiện các lệnh của điều kiện này và thoát ra khỏi lệnh DO CASE mà không cần xét đến điều kiện tiếp theo. 12.2-Cấu trúc vòng lặp Khi muốn thực hiện lặp đi lặp lại một đoạn lện nào đó thì ta phải sử dụng một trong hai cấu trúc vòng lặp: DO WHILE ... ENĐO và FOR ... ENDFOR. 12.2.1- Cấu trúc vòng DO WHILE Cú pháp : DO WHILE ENDDO Cách thực hiện câu lệnh: Đầu tiên câu lệnh sẽ được kiểm tra, nếu đúng thì CAC CAU LENH sẽ được thực hiện. Công việc này sẽ được lặp đi lặp lại cho đến khi nào điều kiện không thoả mãn. Lưu đồ : ĐK S Đ Thi hành lệnh 1 12.2.2- Vòng lặp FOR Vòng lặp FOR cũng giống như vòng lặp DO WHILE nhưng được sử dụng khi số được biết trước. FOR = TO ENDFOR Lưu đồ : i = 1, n i <= n Thực hiện lệnh i = i+1 12.2.3-Vòng lặp duyệt dữ liệu SCAN ... ENDSCAN Vòng lặp này tự động duyệt các Record trong tệp tin cơ sở dữ liệu từ Record đầu đến Record cuối. Cú pháp : SCAN [][FOR/WHILE] Lệnh [Loop] [Exit] EDNSCAN Chúng ta có thể dùng nhiều loại chương trình vòng lặp để giải một bài toán. Tuy nhiên chúng ta lựa chọn cách nào để giải bài toán được tối ưu, ngắn gọn nhất. CHƯƠNG III : Phân tích, thiết kế và xây dựng hệ thống quản lý sinh viên I.Phân tích hệ thống quản lý sinh viên Phân tích là phương pháp nghiên cứu nhằm lựa chọn giải pháp thích hợp, biện pháp cụ thể để đưa máy tính vào phục vụ cho công việc hằng ngày. Phân tích là công việc đầu tiên của quá trình xây dựng một ứng dụng trên máy tính. Hiệu quả đem lại của hệ thống chương trình ứng dụng phụ thuộc vào độ nông sâu của kết quả phân tích ban đầu. 1. Phân tích môi trường hệ thống thông tin đang tồn tại. Công nghệ thông tin nói chung và công nghệ thông tin trong giáo dục đào tạo là một ngành có vai trò hết sức quan trọng trong nền kinh tế. Nó là nơi cung cấp nguồn nhân lực cho các ngành khác Xu thế của tất cả các nước hiện nay đều có một mục đích là phát triển kinh tế trên cơ sở phát triển mạnh mẽ thành tựu khoa học kỹ thuật mà trọng tâm là phát triển công nghệ thông tin. Với khả năng như vậy chính phủ các quốc gia đang đưa ra các chính sách nhằm hỗ trợ cho nền công nghệ thông tin phát triển đồng thời đưa ra các chính sách khuyến khích các trường đại hoc ứng dụng công nghệ thông tin vào quá trình giảng dạy để có thể giảm bớt thời gian lên lớp của giáo viên cũng như sinh viên. ở trường đại học kinh tế quốc dân hiện nay, xu thế đưa tin học vào giảng dạy đang được triển khai mạnh mẽ và đạt được hiệu quả cực kì tích cực. Trình độ tin học của các sinh viên ngày càng được nâng cao và trình độ của cán bộ quản lý cũng được cải tiến một cách đáng kể. II.Phân tích hệ thống hiện tại. Quản lý sinh viên là một công việc đòi hỏi tính chính xác khá cao. Với đặc thù công việc đòi hỏi người quản lý phải có trình độ quản lý và khả năng tổng hợp. Chương trình quản lý sinh viên hiện nay của trường chưa được tin học hoá hoàn toàn, một công việc vẫn còn làm thủ công điều nay làm tốn nhiều thời gian, chưa phát huy được sự tiện lợi của ứng dụng tin học vào công tác quản lý. 1-Sơ đồ cấu trúc dữ liệu Table HSSV bảng này dùng để nạp thông tin về sinh viên, khoá chính là Ma_SV. TT Tên trường Kiểu độ rộng Thuộc tính 1 Ma-sv Character 10 Mã sinh viên 2 Ho_ten Character 25 Họ Tên 3 Gioi_tinh 1/0 1 Giới tính 4 Que_quan Character 30 Quê quán 5 Ngay_sinh Date 8 Ngày sinh 6 Noi_o_hien_nay Character 50 Nơi ở hiện nay 7 Dia_chi_LL Character 50 Địa chỉ liên lạc 8 Doan Yes\No Đoàn 9 Doi_tuong Character 10 Đối tượng chính sách 10 Dien_thoai Character 12 Điện thoại 11 Nambd Character 10 Năm bắt đầu 12 Namkt Character 10 Năm kết thúc 13 Tinh_trang Character 10 Tình trạng 14 Kykt Character 1 Kỳ kết thúc Table DS_khoa : đây là bảng để chứa danh sách các khoa trong trường TT Tên trường Kiểu độ rộng Thuộc tính 1 Ma_Khoa Character 10 Mã khoa 2 Ten_khoa Character 25 Tên khoa Table Bang_diem : để nhập điểm cho mối sinh viên sau mỗi kì thi, khoá chính là Ma_SV và khoá ngoại lai là Nam_hoc TT Tên trường Kiểu độ rộng Thuộc tính 1 Ma_sv Character 10 Mã cán bộ 2 Nam_hoc Character 9 Năm học 3 Ky Nameric 1 Mã giới tính 4 Lan_thi Nameric 1 Lần thi 5 Ma_mon Character Mã môn 6 He_so Nameric 2 Hệ số 7 Diem Nameric 2 Điểm Table DS_mon : bảng này chứa tên các môn học trong trường, khoá chính là Ma_mon TT Tên trường độ rộng Thuộc tính 1 Ma_mon Character 10 Mã cán bộ 2 Ten_mon Character 10 Tên môn Table DS_Lop : đây là bảng chứa tên các lớp có trong trường thuọc các khoa khác nhau TT Tên trường Kiểu độ rộng Thuộc tính 1 Ma_lop Character 10 Mã lớp 2 Ten_lop Character 30 Tên lớp 3 Ma_khoa Character 10 Mã khoa Sơ đồ luồng dữ liệu Hồ sơ sinh viên Cập nhật thông tin Sinh Viên Cập nhật hồ sơ Tìm Kiếm Thống kê Lập báo cáo Lãnh đạo 11.Một số sơ đồ thuật toán. a.Sơ đồ thuật toán nhập dữ liệu. Begin Mở tệp Tạo Record Nhập Data Kiểm tra S Sửa (C\K) Lưu data D D Tiếp tục (C/K) S K Finish Đóng bảng b.Sơ đồ thuật toán thống kê. Kiểm tra ĐK Mở bảng Nhập điều kiên Begin S D Lập List (C/K) Tạo báo cáo IN Finish c.Sơ đồ thuật toán tìm kiếm. Finish IN Tạo báo cáo Kiểm tra ĐK Begin Mở bảng Lập List (C/K) Nhập điều kiên S D Tìm tiếp D S d.Sơ đồ thuật toán sửa dữ liệu. Begin Nhập dữ liệu Nhập dữ liệu Mở Record. Mở bảng Ktra hợp lệ S Ghi D Sửa tiếp (c/k) C K Finish e.Sơ đồ thuật toán tạo báo cáo. Begin Mở tệp hồ sơ XĐ báo cáo Nhập điều kiên Ktra điều kiện. S D Lập List. Tạo báo cáo Tiếp tục D Xem kết quả. Finish S f.Sơ đồ thuật toán in báo cáo Begin Khối xuất kết quả Preview, Printer File Xem kết quả Chọn báo cáo Mở tệp Finish III. Một số giao diện chính của chương trình Form giao diện chính của chương trình. Từ giao diện chính của chương trình chúng ta có thể chọn các thực đơn để vào các mục bên trong có công việc chúng ta cần thực hiện như có thể nạp điểm sinh viên, tìm kiếm sinh viên, in bảng điểm của sinh viên và nhiều công việc khác. Form cập nhật hồ sơ sinh viên Form này dùng để nhập thông tin đối với các sinh viên mới vào trường hoặc sinh viên có sai sót về thông tin Form tìm kiếm thông tin về sinh viên. Form này cho phép tìm kiếm những thông tin về sinh viên. Chỉ cần nhập mã số sinh viên, tên sinh viên và lớp rồi ấn Enter các thông số khác sẽ tự động hiên ra. 4. Form nhập điểm của sinh viên Form này dùng để cập nhật điểm của sinh viên sau mỗi kì thi Form tính học bổng sinh viên Chưng IV : Cài đặt và hướng phát triển 1. Cài đặt Visual Foxpro ã Yêu cầu về hệ điều hành: Hệ điều hành Windows 95 hoặc phiên bản mới hơn. ã Yêu cầu về máy - Máy 486 với tốc độ của bộ xử lý 66Mhz hoặc lớn hơn. - Chuột - Bộ nhớ 16 MB RAM. - Đĩa cứng có dung lượng còn lại 85 Mb(nếu cài đặt Typical), 90 MB nếu cài đầy đủ. - Màn hình VGA hoặc cao hơn, có độ phân giải tốt. ã Tiến hành cài đặt Cài đặt Visual Foxpro bằng đĩa CD, hay đĩa mềm. Trước khi cài đặt Visual Foxpro, phải tắt chế độ bảo vệ chống Virus. Các bước cài đặt như sau: - Đưa đĩa CD vào ổ CD. - Chọn lệnh Run. - Gõ lệnh X:\SETUP, trong đó X chỉ tên ổ đĩa Cd, sau đó nhấn phím Enter hoặc chọn Ok. - Chọn những cách cài đặt sau: - Cài tối thiểu (15MB): chỉ cài một số File thiết yếu của Visual Foxpro. - Cài đầy đủ : yêu cầu 192 MB đĩa trống. 2. Đánh giá kết qu thực hiện và phưng hướng phát triển. Sau một thời gian thực hiện, chương trình được hoàn thành và đã đạt được những kết qủa nhất định. Có thể cập nhật hồ sơ sinh viên, nhập điểm cho sinh viên sau mỗi kì thi, in bảng điểm cho mỗi sinh viên sau khi tốt nghiệp và có thể tìm kiếm thông tin về sinh viên....Tuy nhiên do thời gian hạn chế nên chưng trình không thể tránh được những sai sót trong quá trình thực hiện. Phương hướng trong tương lai tiếp tục phát triển để chương trình ngày càng phát triển hơn để có thể trở thành một phần mềm hoàn chỉnh 3. Cảm ơn Trong quá trình thực hiện với sự giúp đỡ rất tận tình của thầy Thư. Chương trình được hoàn thành một cách tốt đẹp, nhờ trong quá trình thực hiện thầy rất tận tình chỉ bảo, kể cả những lúc bận rộn nhất thầy cũng luôn sẵn sàng bớt chút thời gian giải đáp thắc mắc. Vì vậy giúp cho em thấy được những lỗi mà mình không phát hiện ra và nhờ đó mà em rút ra được nhiều kinh nghiệm quý báu. Em rất cảm ơn sự hướng dẫn tận tình của thầy. Một số Code của chưng trình: 1. Chưng trình chính: clear all clear set talk off set date french SET STATUS OFF SET COLOR TO b+/GB+ set cent on set noti off set safe off set exclusive off && De nhieu nguoi cung mo duoc du lieu(Chay tren mang) set dele on Public _Curpath, _Datapath, _Temppath,_AppTitle, _CurUser, _CurPass _Curpath = SYS(5)+CURD() _Temppath = "C:\TEMP\" _AppTitle = "Qun lý sinh viên Version 1.0" _Datapath = SYS(5)+CURD()+"DATA\" _CurUser = [] _CurPass = [] _CodeLogin= [] *DO GetDataPath && Bien doi gia tri dung cua _Datapath *If !File(_Datapath+ "QLSV.DBC") * =MessageBox("Chưa có file c sở dữ liệu...",0,_AppTitle) * Return .f. *Endif Do form Manhinh\Login Open database (_Datapath+ "QLSV") do HideWindow _screen.picture="bitmap\qlsv.bmp" _screen.picture="bitmap\Bandoc.jpg" _Screen.Icon = "bitmap\Qlsv.ico" _screen.Caption = "Chưng trình qun lý sinh viên -Lê Thanh tuấn- Tin 41B" _screen.Closable = .f. _screen.Maxbutton=.f. _screen.MinButton=.t. _Screen.Height=600 _screen.Width=800 do qlsvmenu.mpr keyboard "{ALT+D}" read event clear all clear *-------------------------------------------------------------* Procedure Getdatapath If !File("Bitmap\QLSV.INI") DO Form Manhinh\DataPath Endif mHandle = FOPEN("Bitmap\QLSV.INI") S=FGets(mHandle) _Datapath = Allt(Substr(s,AT("=",S)+1)) =Fclose(mHandle) Return *----------------------------------------------------------------------- Procedure HideWindow =HideWind("Color Palette") =HideWind("Database Designer") =HideWind("Form Controls") =HideWind("Form Designer") =HideWind("Layout") =HideWind("Print Preview") =HideWind("Query Designer") =HideWind("Report Constrols") =HideWind("Report Designer") =HideWind("Standard") =HideWind("View Designer") Return *----------------------------------------------------------* Procedure HideWind para p_WinddowName If wexist(p_WinddowName) Hide window (p_WinddowName) Endif Return *----------------------------------------------------------* Procedure ShowWind para p_WinddowName If wexist(p_WinddowName) Show window (p_WinddowName) Endif Return *----------------------------------------------------------* Function MoDBF para p_file, p_alias, p_Co_mo_Exclusive Private p_para p_para = PARA() If used(p_alias) If p_para=3 =DongDBF(p_alias) select 0 use (p_file) alias (p_alias) Exclusive Else Select (p_alias) Endif Else select 0 If p_para=3 use (p_file) alias (p_alias) Exclusive Else use (p_file) alias (p_alias) Endif Endif return *----------------------------------------------------------* Function DongDBF para p_alias If used(p_alias) use in (p_alias) Endif return *----------------------------------------------------------* Function GetLopSv Para p_maso, p_namhoc Private p_malop, p_FileLopsv, p_da_mo, p_Tag, p_curr, p_nam1, p_nam2 p_malop= "" p_nam1 = Val(Left(p_namhoc,4)) p_nam2 = Val(Right(p_namhoc,4)) p_curr = SELE() p_FileLopsv = _Datapath+"LOPSV" If Used('LOPSV') Select LOPSV p_Tag = Tag() Set order to i_LopSV p_da_mo = .T. ELse =MoDbf(p_FileLopsv,[LOPSV]) Set order to i_LopSV p_da_mo = .F. Endif *----- set near on seek p_maso set near off If Found() scan while maso=p_maso if year(tungay)<=p_nam1 if empty(denngay) p_malop = malop exit else if year(denngay)>=p_nam2 p_malop = malop exit endif endif endif ends Endif IF p_da_mo And !Empty(p_Tag) Set order to (p_Tag) Endif If !p_da_mo =Dongdbf('LOPSV') Endif Select (p_curr) Return p_malop * CHUONG TRINH CHUAN HOA DU LIEU TRONG FOXPRO set talk off set safe off clea defi wind w from 0,0 to 21,106 font '.VnTime' defi wind w1 from 0,0 to 18,106 font '.VnTime' acti wind w *** dgd=spac(30) @1,5 say 'Tên đường dẫn tới tệp dữ liệu cần sắp xếp ' font '.VnTime',12 styl 'BI' get dgd font 'system' read dng=allt(dgd) set defa to &dng clea @3,5 say ' Những tệp dữ liệu có ở trong thư mục hiện thời ' font '.vntime',12 colo w+/bg+ dir hh='C' @1,5 say ' Tệp dữ liệu cần chuẩn hoá có ở đây kh"ng ? (C/K) ' font '.vntime',12 styl 'BI' colo w+/br+ get hh pict '!@' read if hh'C' deac wind all set defa to &dng retu endi *** clea @1,10 say ' Các tệp c sở dữ liệu có ở thư mục hiện thời ' font '.VnTime',12 style 'BI' colo w+/bg+ dir wait ' Những tệp CH*.DBF là những tệp đã chuẩn hoá. Nhấn phím Enter để tiếp tục ... ' htc=space(8) @20,10 say ' Muốn chuẩn hoá dữ liệu của tệp : ' font '.VnTime',12 style 'IB' get htc colo w+/br+ read ttc=allt(htc) use &ttc ttt='ch'+ttc copy to &ttt @20,5 say 'Xem dữ liệu trước khi chuẩn hoá ... Nhấn phím Esc để tiếp tục ... '+space(41) ; font '.VnTime',11 style 'BI' colo w+/br+ acti wind w1 use &ttt brow deac wind w1 ***** do whil !eof() repl hoten with strt(allt(hoten),' ',' ') repl hoten with strt(allt(hoten),' ',' ') repl hoten with strt(allt(hoten),' ',' ') repl hoten with strt(allt(hoten),' ',' ') repl hoten with strt(allt(hoten),' ',' ') repl hoten with strt(allt(hoten),' ',' ') skip endd *-- go top dt=fsize('hoten') dime c(dt) for j=1 to dt c(j)=' ' endf do whil !eof() dd=len(allt(hoten)) i=1 ct=' ' ****** do whil i<=dd ht=allt(hoten) if asc(ht)>=97.and.asc(ht)<=122 c(1)=chr(asc(subs(ht,1,1))-32) endi if ((asc(subs(hoten,i,1))>=65.and.asc(subs(hoten,i,1))=161; .and.asc(subs(hoten,i,1))32 c(i)=' '+chr(asc(subs(hoten,i,1))) else c(i)=subs(hoten,i,1) endi i=i+1 endd i=1 do whil i<=dd ct=ct+c(i) i=i+1 endd repl hoten with allt(ct) skip endd go top do whil !eof() dd=len(allt(hoten)) ht=allt(hoten) if asc(ht)>=97.and.asc(ht)<=122 c(1)=chr(asc(subs(ht,1,1))-32) else if asc(ht)=174 c(1)=chr(167) else c(1)=subs(ht,1,1) endi endi bt=' ' i=2 do whil i<=dd do case case asc(subs(ht,i,1))=32.and.asc(subs(ht,i+1,1))>=97.and.asc(subs(ht,i+1,1))<=122 c(i)=' ' c(i+1)=chr(asc(subs(ht,i+1,1))-32) i=i+1 case asc(subs(ht,i,1))=32.and.asc(subs(ht,i+1,1))>=167.and.asc(subs(ht,i+1,1))<=174 c(i)=' ' c(i+1)=chr(asc(subs(ht,i+1,1))-7) i=i+1 othe c(i)=subs(ht,i,1) endc i=i+1 endd i=1 do whil i<=dd bt=bt+c(i) i=i+1 endd repl hoten with allt(bt) skip endd *** @20,5 say 'Xem dữ liệu sau khi chuẩn hoá ... Nhấn phím Esc để tiếp tục ...' + space(41); font '.VnTime',11 style 'BI' colo w+/br+ go top acti wind w1 brow deac wind w1 deac wind w set defa to &dng *retu quit ** CHUONG TRINH SAP XEP TRUONG HOTEN TRONG FOXPRO set talk off set safe off clea defi wind w from 0,0 to 21,106 font '.VnTime',10 defi wind w1 from 0,0 to 18,106 font '.VnTime',10 colo w+/bg acti wind w dgd=spac(30) @1,5 say 'Tên đường dẫn tới tệp dữ liệu cần sắp xếp ' font '.VnTime',11 styl 'BI' get dgd font 'system' read dng=allt(dgd) set defa to &dng clea @1,5 say ' Những tệp dữ liệu có ở trong thư mục hiện thời ' font '.vntime',11 colo w+/bg+ dir hh='C' @18,5 say ' Tệp dữ liệu cần sắp xếp có ở đây kh"ng ? (C/K) ' font '.vntime',11 styl 'BI' colo w+/br+ get hh pict '!@' read if hh'C' deac wind all set defa to &dng retu endi tp=spac(20) @18,5 say ' Tên tệp dữ liệu cần sắp xếp ' font '.VnTime',11 styl 'BI' get tp font 'system' read tt=allt(tp) clea @20,5 say ' Xin mời xem dữ liệu trước khi sắp xếp. Nhấn Esc để tiếp tục ... ' ; font '.VnTime',11 styl 'BI' colo w+/rg+ acti wind w1 use &tt copy to t1 fiel exce htnguoc,mhtnguoc use t1 brow deacti wind w1 use &tt clea @18,10 say ' Nếu chưa có trường htnguoc,mhtnguoc thì thêm trường đó với htnguoc (C30), ; mhtnguoc (C60) ' colo w+/br+ @19,10 say ' b"ng cách nhấn phím mũi tên xuống rồi thêm vào. Nếu có rồi thì nhấn Enter ; để tiếp tục . . . '+spac(6) colo w+/br+ modi stru &&Thêm các trường htnguoc (C30) clea **Chưng trình đo ngược bắt đầu từ đây go top dime m(10) do whil !eof() * Chú ý: Trong các câu lệnh dưới đây, giữa hai dấu nháy đn là một ký tự trống for i=1 to 10 m(i)=' ' endf c=allt(hoten) sktt=occu(' ',c) xx=at(' ',c) yy=rat(' ',c) zz=at(' ',c,2) do case case sktt=1 m(1)=subs(c,1,xx) m(2)=subs(c,yy) case sktt=2 m(1)=subs(c,1,xx) m(2)=subs(c,xx,zz-xx) m(3)=subs(c,yy) othe m(1)=subs(c,1,xx) m(2)=subs(c,xx,zz-xx) m(sktt+1)=subs(c,yy) for i=3 to sktt m(i)=subs(c,at(' ',c,i-1),at(' ',c,i)-at(' ',c,i-1)) endf endc tht=' ' for i=sktt+1 to 1 step -1 tht=tht+' '+allt(m(i)) endf repl htnguoc with allt(tht) skip endd ** Chưng trình đo ngược kết thúc ở đây ch1='AaàãáạĂă"ẳẵắặÂâầẩẫấậBbCcDdĐđ' ch2='EeèẻẽéẹÊêềểễếệGgHhIiìỉĩíịKkLlMmNn' ch3='OoòỏõóọÔ"ồổỗốộỜởỡớợPpQqRrSs' ch4='TtUuùủũúụƯưừửữứựVvXxYyỳỷỹýỵ' Vs=allt(ch1)+allt(ch2)+allt(ch3)+allt(ch4) ASt=' ' for i=1 to 118 ASt=ASt+chr(i) endf AS=Allt(ASt) Repl all mhtnguoc with chrt(htnguoc,VS,AS) kq='Sx'+tt sort to &kq on mhtnguoc fiel exce htnguoc,mhtnguoc @10,2 say 'Chú ý: Trong thư mục hiện thời những tệp bắt đầu b"ng Sx là những tệp đã sắp xếp'; font '.VnTime',11 styl 'BI' @11,8 say 'ví dụ, tệp SxDsach.dbf là tệp sắp xếp của tệp Dsach.dbf' font '.VnTime',11 styl 'BI' @13,10 say ' Nhấn Enter để tiếp tục...' styl 'BI' colo w+/br+ wait ' ' clea @20,5 say ' Xin mời xem dữ liệu sau khi sắp xếp. Nhấn Esc để tiếp tục ... ' ; font '.VnTime',11 styl 'BI' colo w+/rb+ acti wind w1 use &kq brow deac wind all set defa to &dng close all *quit retu Code của nút ghi: Private m_makhoa, m_tenkhoa m_makhoa = Thisform.txtMakhoa.Value m_tenkhoa = Thisform.txtTenkhoa.Value If Empty(m_Makhoa) =messagebox("Mã khoa kh"ng được để trắng...",0,_AppTitle) Thisform.txtMakhoa.SetFocus && _CurObj=ObjNum(Bien) Return .f. Endif If Empty(m_Tenkhoa) =messagebox("Tên khoa kh"ng được để trắng...",0,_AppTitle) Thisform.txtTenkhoa.SetFocus && _CurObj=ObjNum(Bien) Return .f. Endif SELECT dskhoa Seek m_makhoa If Found() =messagebox("Đã có mã khoa nay...",0,_AppTitle) Thisform.txtMakhoa.SetFocus && _CurObj=ObjNum(Bien) Return .f. Endif Insert into Dskhoa(makhoa, tenkhoa) values(m_makhoa, m_tenkhoa) release thisform Code của mật khẩu Private p_makhoa, p_manv, p_password, p_Tenkhoa p_makhoa = DSKHOA.makhoa p_Tenkhoa = thisform.CboTenkhoa.value p_manv = thisform.txtmanv.value p_password=thisform.txtpassword.value sele user seek p_makhoa+p_manv if !found() =messagebox("Kh"ng có nhân viên "+p_manv+" trong khoa "+p_tenkhoa+"...",64,_Apptitle) thisform.txtmanv.setfocus return .f. else if upper(allt(password))upper(allt(p_password)) =messagebox("Sai mật khẩu...",64,_Apptitle) thisform.txtpassword.setfocus return .f. else _CurUser = p_manv *Role = ROLE _CurPass = p_password _CodeLogin = p_makhoa *NameLogin = Allt(thisform.txttendv.value) * Close Data * =DongDBF("USER") * =DongDBF("DSKHOA") Release thisform Endif Code nút tìm kiếm set safe off Masv=alltrim(upper(Thisform.text1.value)) Tensv=alltrim(upper(Thisform.text2.value)) Lop=alltrim(upper(Thisform.text3.value)) dk="" if len(masv)>0 dk=dk+"Alltrim(upper(masinhvien))='"+masv+"'" endif if len(tensv)>0 dk=dk+" and alltrim(upper(tensinhvien))='"+tensv+"'" endif if Len(lop)>0 dk=dk+" and alltrim(upper(lop))='"+lop+"'" endif if len(masv)=0 dk=substr(dk,5,len(dk)-4) endif defi wind hien at 1,1 size 35,150 color rgb(,,125,125,125) font ".vntime" 14 sele sinhvien Join with sinhvien for sinhvien.masv=lop.masv to Dssv sele 0 use dssv loca for &dk if found() acti wind Hien brow Field Hovaten,diachi,masv,lop,ngaysinh for &dk wind hien noedit rele wind Hien else Wait wind "Khong thay" endif use erase dssv.dbf Mục lục: CHƯƠNG I: Phương pháp luận phân tích thiết kế hệ thống thông tin quản lý sinh viên I.Khái quát về hệ thống qun lý sinh viên II.Các giai đoạn phân tích thiết kế hệ thống thông tin Chưng iI : Giới thiệu về VisualFoxPro CHƯƠNG III : Phân tích ,thiết kế và xây dựng hệ thống quản lý sinh viên I.Phân tích hệ thống quản lý sinh viên II.Thiết kế hệ thống quản lý sinh viên III.Thiết kế giao diện và xây dựng chưng trình Chương IV : Cài đặt đánh giá và hướng phát triển 1. Cài đặt 2. Đánh giá kết quả thực hiện 3. Phương hướng phát triển 4. Lời cảm ơn. Tài liệu tham khảo 1. Giáo trình hệ thống thông tin quản lý. TS Trương Văn Tú - TS Trần Thị Song Minh. 2. Sử dụng & khai thác Microsoft VISUAL FOXPRO. Nguyễn Ngọc Minh. 3. Những bài thực hành VISUAL FOXPRO. Vn-Gide. 4. Bài giảng của thầy. Phùng Tiến Hải.

Các file đính kèm theo tài liệu này:

  • doc77735.DOC