🔙 Quay lại trang tải sách pdf ebook Giáo trình phát triển ứng dụng trong quản lý
Ebooks
Nhóm Zalo
ƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
KHOA TIN HỌC KINH TÊ
Chủ biên: ThS. Trịnh Hoài Sơn
crystal reports
&2001 CrytUI Dec morn Inc All right* rtitrved Crytul Dccitlona. Crytul
Report*. Crytlil Enlcrptls* Cfytlil Anítyils Sejgaic Info, and Sejgite
Holot ttt ư*đemirk» or registered Iradtmirk* ol Crytul Dfcitlon*. Inc. All
0U»r Irid*fn»rks referenced t'C u>» property Ol Uwlr retpectne owner
•ĩ» crystal decisions
InstallShieldỴ
Premier Edition Ẩ.
M e l i a s o f t
Giáo trình
PHÁT TRIỂN ỨNG DỤNG TRONG QUẢN LÝ
NHÀ XUẤT BẢN ĐẠI HỌC KINH TẾ QUỐC DÂN
TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
KHOA TIN HỌC KINH T Ế
»0 t ã ca
Chủ biên: ThS. TRỊNH HOÀI SƠN
Giáo trinh
PHÁT TRIỂN ÚNG DỤNG TRONG QUẢN LÝ NHÀ XUẤT BẢN ĐẠI HỌC KINH TẾ Quốc DÂN
Lời nói đầu
Đât nước Việt Nam đang trong quá trinh hội nhập kinh tế quốc tế rất mạnh mẽ. Các doanh nghiệp của Việt Nam không ngừng tự đổi mới, hiện đại hóa công tác quản lý, nâng cao giá trị của bản thân để có thể đáp ứng được những đòi hỏi của quá trình hội nhập kinh tế quốc tế của đất nước.
Tin học hóa công tác quản lý hay là việc trang bị những phần mềm ứng dụng để hiện đại hóa công tác quản lý là một giải pháp cũng như là một xu hướng tất yếu của các doanh nghiệp Việt Nam trong quá trình phát triển và hội nhập.
Chương trình đào tạo chuyên ngành của sinh viên khoa Tin học Kinh tế Đại học Kinh tế Quốc dân bao gồm nhiều môn học có thể được phân chia thành các nhóm chính như sau: các môn học cung cấp kiến thức lý thuyết cơ sở, nền tàng về tin học và các lĩnh vực nghiên cứu của tin học; các môn học rèn luyện tư duy và kỹ năng lập trình; ...
Môn học Phát triển ứng dụng trong quàn lý không thuộc vào các nhóm nêu trên mà nó là sự tồng hợp kiến thức của hầu hết các môn học chuyên ngành. Thực vậy, để phát triển một phần mềm ứng dụng trong quản lý được thương mại hóa thì đòi hỏi rất nhiều các mảng kiến thức khác nhau: từ những kiến thức mang tính lý thuyết về thông tin, hệ thống thông tin, cơ sở dữ liệu, công nghệ phần m ềm ...đến những kiến thức và kỹ năng cụ thể như lập trình cơ sở; lập trình nâng cao; cấu trúc dữ liệu và giải thuật...
Mục đích của môn học:
• Trang bị cho sinh viên kiến thức và kỹ năng để có thể thực hiện từng bước của quá trinh phân tích, thiết kế đến xây dựng và đóng gói một phần mềm ứng dụng trong quản lý trên cơ sờ ngôn ngữ lập trình cao cấp được sừ dụng phổ biến trong thực tế. Sau khi kêt thúc môn học, sinh viên thu được những kết quả sau:
• Nắm rõ các bước để xây dựng một phần mềm hoàn chinh mang tính thương mại
• Biết cách sử dụng và khai thác một số tiện ích quan trọng để tạo ra phần mềm quản lý mang tính chuyên nghiệp
3
• Có kinh nghiệm vận dụng ngay trong việc thực hiện làm Đề án chuyên ngành và Báo cáo thực tập tốt nghiệp cuối khóa.
Nội dung của giáo trình
Giáo trình được viết theo chương trình môn học thuộc chương trình khung ngành Hệ thống thông tin kinh tế tại trường Đại học Kinh tế Quốc dân và được Hiệu trường phê duyệt làm tài liệu chính thức dùng cho giảng dạy, học tập ở trường Đại học Kinh tế Quốc dân theo hợp đồng trách nhiệm số 10-08/HĐTN ngày 15 tháng 9 năm 2008.
Ngoài lòi nói đầu và tài liệu tham khảo, giáo trình được chia thành 7 chương và phụ lục
Chương 1: Hệ thống thông tin quản lý với tổ chức doanh nghiệp Chương 2: Ngôn ngữ lập trình Visual Basic 6.0
Chương 3: Xây dựng giao diện của ứng dụng trong quản lý
Chương 4: Lập trình liên kết và khai thác cơ sờ dữ liệu
Chương 5: Tạo báo cáo đầu ra cho ứng dụng
Chương 6: Biên soạn tài liệu hướng dẫn sử dụng
Chương 7: Tạo bộ cài đặt cho ứng dụng
Phụ lục: Một số đề bài tập lớn dành cho việc thực hành phát triển ứng dụng trong quản lý và một tài liệu minh họa tất cả các bước của quy trình phân tích, thiết kế và xây dựng một phần mềm ứng dụng cụ thể.
Tác giả xin trân trọng cám ơn tất cả các thầy, cô giáo trong khoa Tin học Kinh tế, Đại học Kinh tế Quốc dân, đặc biệt là các thầy, cô giáo có tên sau đây về những tư tưởng, đóng góp chuyên môn và cung cấp tài liệu cho giáo trình: PGS.TS Hàn Viết Thuận; TS. Cao Đình Thi; TS. Đặng Quế Vinh; ThS. Trần Công uẩn.
Giáo trình mói được biên soạn lần đầu nên không tránh khỏi những thiếu sót. Rất mong nhận được những ý kiến đóng góp của thầy, cô giáo cũng như các bạn sinh viên để giáo trình có thể ngày một hoàn thiện hơn. Mọi ý kiến đóng góp xin gửi về: Trịnh Hoài Sơn, giảng viên khoa Tin học Kinh tế, Đại học Kinh tế Quốc dân, Email: sonth(a).neu. edu. vn
Hà Nội, tháng 3 năm 2010
4
Chương 1
Hệ THỐNG THÔNG TIN QUẢN IV VỚI Tổ CHỨC DOANH NGHlệP
1.1. Lợi ích và thực trạng của việc tin học hoá công tác quản lý tại các doanh nghiệp Việt Nam
1.1.1. Lợi ích cùa việc tin học hoá công tác quản lý
Tin học hóa công tác quản lý là một giải pháp cũng như xu hướng tất yếu của một doanh nghiệp khi muốn phát triển, m ở rộng trong tương lai. Thực vậy, khi m à quy mô và phạm vi hoạt động cùa doanh nghiệp phát triển đến một mức nào đó sẽ làm cho số lượng dữ liệu phát sinh cần phải xử lý cùng với độ phức tạp của bài toán quản lý ngày càng tăng lên. Việc duy tri một hệ thống thông tin cũ thủ công hay lạc hậu sẽ dần trờ thành một gánh nặng, không đáp ứng được yêu cầu của công tác quản lý, là nguyên nhân cản trở sự phát triển, mở rộng của doanh nghiệp hiện tại và trong tương lai.
Thực hiện tin học hóa công tác quản lý đem lại cho doanh nghiệp những lợi ích sau đây:
❖ Có khả năng cung cấp thông tin một cách nhanh chóng cho các nhà quản lý để hỗ trợ việc ra quyết định, đồng thời hỗ trợ việc kiểm tra thi hành quyết định. Toàn bộ quá trinh xử lý thông tin, tổng hợp báo cáo được thực hiện tự động hóa bời hệ thống phần mềm ứng dụng khiến cho thời gian cần thiết đế đáp ứng yêu cầu của nhà quản lý trong việc truy vấn và khai thác thông tin sẽ rút ngắn rất nhiều. Hơn nữa, m ột hệ thống thông tin được xây dựng toàn diện, tổng thể còn cho phép nhà quản lý có thể thực hiện việc kiểm tra, theo dõi quá trinh, tiến độ và kết quà việc thực hiện các quyết định quản lý được ban hành. Đối với các công ty có quy mô lớn, tính chất theo kiểu tập đoàn, công ty mẹ con thì việc tin học hóa công tác quản lý sẽ giúp cho họ tổ chức thành công việc quản lý, thu thập tồng hợp số liệu tò các nguồn khác nhau.
5
❖ Doanh nghiệp sẽ giảm chi phi về nhân công, chi phí cho việc lưu trữ, bào quản và tiết kiệm được thời gian. Để có thể đảm bảo thực hiện nhiệm vụ của mình thi một hệ thống quản lý thủ công cần rất nhiều nhân lực, có khi lên đến hơn 10 người. Khi áp dụng tin học vào hoạt động quản lý thi hầu hết những công việc tổng hợp và xử lý số liệu phải thực hiện thủ công trước đây nay được làm tự động hóa bởi các phần mềm máy tính. Công việc cùa cán bộ ứong hệ thống thông tin quản lý nay chi còn phải cập nhật sổ liệu phát sinh từ giao dịch hay hoạt động của tồ chức với sự trợ giúp của máy tính sau đó thực hiện in các báo cáo theo yêu cầu tại các mục chức năng tương ứng của phần mềm ứng dụng. Việc lưu trữ hệ thống chứng từ, hóa đơn thủ công trước đây cần rất nhiều không gian cũng như tốn rất nhiều thời gian nếu có nhu càu tìm kiếm và ư a cứu. Cơ sở dữ liệu của hệ thống quản lý tin học hóa được lưu trữ ưong các phương tiện nhớ của máy tính điện tử, được quản trị một cách hợp nhất bởi một hệ quản trị cơ sở dữ liệu bảo đảm tối uu về không gian lưu trữ cũng như thời gian truy suất và tìm kiếm.
❖ Tin học hóa công tác quản lý giúp doanh nghiệp có cơ hội tiếp cận những ứng dụng hiện đại của công nghệ thông tin như tham gia thương mại điện tử, với cơ hội m ở rộng phạm vi giao dịch vượt ra ngoài biên giới quốc gia vuơn tới các nước ứong khu vực và ưên thế giới, thời gian giao dịch có thể được tiến hành 24h/l ngày và 7 ngày/1 tuần. Vói hệ thống thông tin quản lý hiện đại, doanh nghiệp sẽ có uy tín hơn, được tin tưởng hơn ứong mắt các đối tác bạn hàng trong khu vực và trên thế giới, vì vậy sẽ có cơ hội tiếp cận những hợp đồng lớn hơn, giá trị cao hơn.
Mặc dù đem lại rất nhiều lợi ích nhưng việc tin học hóa công tác quàn lý cũng đem lại rất nhiều thách thức cho doanh nghiệp:
❖ Đòi hỏi chi phí khá lớn cho việc trang bị máy m óc thiết bị tin học. Xây dựng hệ thống thông tin tin học hóa đòi hỏi doanh nghiệp cần đầu tư trang bị các thành phần của hệ thống thông tin mà quan ưọng và tốn nhiều chi phí nhất đó là đầu tư trang bị phần cứng và phần mềm. v ề phàn cứng bao gồm máy tính, máy văn phòng, mạng máy tính và các thiết bị phụ trợ khác; phần mềm bao gồm hệ điều hành, hệ quản trị cơ sở dữ liệu, các phàn mềm ứng dụng trong quản lý và các phần mềm tiện ích khác. Theo kinh nghiệm thực tế thì tổng số
6
tiền đầu tư cho toàn bộ thành phần ừên thấp nhất là vài nghìn đô la và cao nhất thì có thể lên tới 100 nghìn đô la.
❖ Đòi hỏi cán bộ trong tổ chức phải có một nền tảng kiến thức về ngoại ngữ và tin học. Hệ thống thông tin được tin học hóa áp dụng những công nghệ tiên tiến, để vận hành và khai thác sử dụng hiệu quả thì đòi hỏi đội ngũ cán bộ bên canh kiến thức về chuyên môn còn đòi hỏi những kiến thức tổng quát về tin học và ngoại ngữ. Đối với những doanh nghiệp mới thành lập thì yêu cầu này hoàn toàn có thể đáp ứng tuy nhiên tại các doanh nghiệp lâu năm, nhất là các doanh nghiệp nhà nước, thì yêu cầu này không phải lúc nào cũng có thể đáp ứng.
❖ Neu việc quàn lý không chặt chẽ các máy móc tin học có thể bị sừ dụng sai mục đích, làm giảm hiệu suất làm việc của nhân viên. Khi thay thế hệ thống quản lý thủ công bằng hệ thống quản lý tin học hóa, doanh nghiệp đã nâng cao năng suất và hiệu quả làm việc của cán bộ, nhân viên lên nhiều lần. Những công việc mà trước đây phải làm thù công thì nay được làm tự động bởi phần mềm máy tính, số lượng nhân lực cần thiết của bộ máy quản lý vì thế mà giảm đi chi còn một nửa thậm chí là một phần ba. số lượng lao động dôi dư này nếu không được quản lý, bố trí công việc hợp lý thì đây sẽ là một sự lãng phí nguồn lực đáng kể. Hơn nữa theo kết quả cùa một cuộc điều ừ a đăng trên mạng Internet thì có tới hơn một nửa thời gian ngày làm việc cùa các nhân viên văn phòng dành cho việc khai thác, sử đụng mạng internet vì mục đích giải trí cá nhân. Đây là một bài toán quản lý khó đối với các nhà quản lý doanh nghiệp khi quyết định trang bị hệ thống thông tin quản lý mới.
❖ Vấn đề bảo mật thông tin không được quan tâm đúng mức sẽ làm thất thoát thông tin ra ngoài tạo ra những bất lợi cho tổ chức. Thông thường chi phí cho vấn đề bào mật và ngăn chặn tấn công từ bên ngoài thường chiếm 30% tổng chi phí xây dựng hệ thống thông tin mới. Việc coi nhẹ sự phòng thủ và bảo mật sẽ giúp doanh nghiệp tiết kiệm được khá nhiều chi phí đầu tư xây dựng hệ thống thông tin quản lý, quản trị kinh doanh của mình. Đây là một sai lầm bời doanh nghiệp đã không tính trước được những tổn thất, thiệt hại khi hệ thống của họ bị tin tặc tấn công, khống chế và phá hoại! Trong thời gian gần đây, thông tin về việc tin tặc tấn công và phá hoại hay cô
7
lập một website của một doanh nghiệp nào đó diễn ra khá thường xuyên. Việc tấn công chủ yếu được thực hiện bàng cách khai thác lỗ hổng trong các ứng dụng web hay kỹ thuật m ã hóa để vòng tránh được sự phòng chống của mạng vói khả năng phòng thủ kém của doanh nghiệp. Và một khi những kẻ tấn công đã kiểm soát được hệ thống máy chủ cùa doanh nghiệp thì mọi điều tồi tệ nhất đều có thể xảy ra. Tuy nhiên không có nghĩa là một doanh nghiệp đầu tư tiền bạc vào lĩnh vực bảo m ật và phòng chổng thì có thể yên tâm trước sự tấn công của tin tặc. Thực tế đã chứng minh rằng những công ty có trang bị hệ thống bảo mật tốt nhất cũng đã từng bị tấn công và chịu nhiều thiệt hại.
1.1.2. Các giai đoạn phát triển của ứng dụng tin học trong m ột tổ chức trên th ế giới nói chung và ở Việt Nam nói riêng
Lịch sử phát triển của quá trinh tin học hóa công tác quản lý tại Việt Nam nói riêng và trên toàn thế giới nói chung đã trải qua 3 giao đoạn từ mức độ thấp đến mức độ cao, từ xử lý thủ công đến xử lý cơ giới bàng các loại máy tính cơ học và cuối cùng là xử lý tự động ữên cơ sở các công cụ tin học hiện đại.
Theo Rechard Nolan thi có 6 giai đoạn phát triền cùa phát triển ứng dụng tin học trong các tổ chức
Giai đoạn 1: Giai đoạn khởi đầu
Trong giai đoạn này, máy tính được đưa vào tổ chức. Công việc xử lý dữ liệu được thực hiện bởi cán bộ trông coi máy tính+ cán bộ lập trình+ nhân viên nhập dữ liệu. Xử lý dữ liệu thường gắn liền bời những nghiệp vụ được xác định rõ ràng, làm việc với một tập hợp các quy tắc nhất định, các lao động giản đom, cực nhọc, đơn điệu, lặp lại. Đây thực là những vấn đề tuyệt vời cho tự động hóa. Những bài toán ừong kế toán tài chính thường được áp dụng máy tính đầu tiên là vì vậy.
Trong giai đoạn này, cán bộ xử lý dữ liệu và người sử đụng học về công nghệ thông tin và học cách làm việc với nhau. Đó là một thời kỳ ngây ngô, vụng về. Người dùng không có khái niệm về cái mà anh ta chờ đợi. Họ cũng chẳng có lý do gì để thất vọng về những cái họ nhận được. Có thể nói đây là thời kỳ người mù dẫn đường người mù. Người sử dụng không hiểu rõ loại vấn đề yêu cầu và cách đánh giá hiệu quả của cách giải quyết. Giai đoạn này đã kết thúc.
8
Giai đoạn 2: Giai đoạn lan rộng
Các thao tác để xử lý dữ liệu đa trờ thành dễ dàng hơn và dễ tiếp cận hơn, người sử dụng đã thấy hứng thú hơn vói công nghệ mói. Do đó yêu cầu ứng dụng máy tính tăng nhanh. Giai đoạn này cán bộ xử lý dữ liệu tự động đánh giá quá cao khả năng của máy tính. Không phải là ít lần chúng ta nghe thấy rằng máy tính giỏi giang có thể thay thế người quàn lý bằng các nút bấm; rằng máy tính sẽ ra quyết định. Chẳng có gì ngạc nhiên khi thấy kết luận láo xược đó không được các nhà quản lý chấp nhận và phàn ứng tiêu cực của họ đối với sự phát triển cùa ứng dụng công nghệ thống tin trong quản lý. Tuy nhiên cũng có khá nhiều người sử dụng ngây thơ đã bị những ảo tường như vậy kích động dẫn tói thời kỳ tăng trường không có kiểm soát những ứng dụng trong xử lý dữ liệu tự động.
Giai đoạn 3: Giai đoạn kiềm soát ứng dụng
Việc có quá nhiều yêu cầu tin học hóa, sự thiếu hiểu biết thấu đáo về CNTT và thiếu kinh nghiệm đã làm cho nhiều ứng dụng bị hạn chế về thời gian, vượt chi phí cho phép và hệ thống xừ lý làm việc không tốt. Chúng không đáp ứng được sự mong đợi của các nhà quản lý cấp cao khi họ xem xét về lượng tiền đã chi ra và lợi nhuận tính được. Do đó, các nhà quản lý dữ liệu tự động bắt đầu xem xét kỹ lưỡng các yêu cầu về tự động hóa xử lý dữ liệu. Các nhà quản lý thấy rằng có thể quản lý bộ phận xử lý dữ liệu cũng gần như quản lý các bộ phận kỹ thuật trong tồ chức. Cán bộ quản lý xử lý dữ liệu bắt đầu suy nghĩ theo nghĩa kinh doanh. Người đặt yêu cầu xử lý tự động phải biện minh cho các yêu cầu của mình. Trách nhiệm của người sử dụng các nguồn lực thông tin đã được đặt ra trong tồ chức.
Một loại cán bộ mới ra đời - cán bộ quản lý có khả năng về CNTT. Vì cán bộ xử lý dữ liệu và người yêu cầu phải tiến hành phân tích chi phí/lợi nhuận cho các ứng dụng do đó cán bộ xử lý dữ liệu tự động phải học về kinh doanh còn người sử dụng phải học thêm về CNTT. Điều này có ảnh hưởng rất manh tới các hoạt động kinh doanh và các dự án mà họ đề xuất.
Giai đoạn 4: Giai đoạn lích hợp
Trong những năm 70, công nghệ máy tính tăng trường nhanh và công nghệ thông tin lúc đó ờ vào thòi kỳ cạnh tranh đối đầu. một số người cho rằng công nghệ thông tin mới đưa vào có thể đủ thay thế cho 10 năm sử dụng có hiệu quả những gì đã có. Công nghệ phần mềm mói và các ngôn ngữ thế hệ 4 đã cho phép tạo ra sự tích hợp chức nàng quàn lý kinh doanh
9
và xử lý dữ liệu tự động, kết quả trực tiếp tập trung quản lý thông tin ưong một cấu trúc đơn giản. Trong giai đoạn này người sử dụng không còn phải xếp hàng dài trước cửa phòng lập trinh để đề nghị ưu tiên cho vấn đề của họ. Họ tự làm những công việc của chính họ trên máy tính. Giả cả của máy tính và phần mềm giảm xuống thấp phù hợp với nguồn lực tài chính cùa người dùng. Bộ phận chuyên trách về xử lý dữ liệu tự động tập trung những hoạt động của mình vào những công việc dịch vụ, cung cấp các tiện ích và trợ giúp kỹ thuật cho những người sử dụng.
Giai đoạn 5: Giai đoạn quản trị dữ liệu
Có thể nói, đây là giai đoạn hiện nay của các hệ thống thông tin. Bộ phận hệ thống thông tin đã nhận ra rằng thông tin là nguồn lực và mọi người phải được sử dụng nguồn lực ấy một cách dễ dàng. Chính vì thế, thông tin phải được quàn lý một cách thích hợp. Dữ liệu phải được lưu trữ và duy tri sao cho mọi người sử dụng có thể tiếp cận tới chúng như một tài nguyên dùng chung. Để có thể dùng chung, mô hình dữ liệu phải được xây dựng độc lập với ứng dụng. Tư tường này cho phép người sử dụng phát triển ứng dụng của mình để sử dụng dữ liệu chung đó. Giai đoạn này đặc tnm g bằng uy lực của người sử dụng, người mà giờ đây có trách nhiệm chính đối với sự tích hợp và sử dụng riêng tài nguyên thông tin cùa doanh nghiệp. Môi trường ClienƯServer đang pháp triển mạnh. Server lưu trữ dữ liệu còn Client tra cứu, xem xét và xin các báo cáo.
Giai đoạn 6: Giai đoạn chín muồi
ở giai đoạn này là sự đan kết hoàn toàn nguồn lực thông tin vào toàn bộ các hoạt động của tổ chức từ cấp chiến lược trở xuống. Cán bộ thông tin cấp cao là thành viên của đội ngũ quàn lý cao cấp, đóng góp phần chính cho các quyết định kinh doanh và khai thác CNTT cho việc giành lợi thế cạnh tranh.
Xét thực tế tại Việt Nam, quá trình ứng dụng tin học vào công tác quản lý đã trải qua 3 giai đoạn:
* Giai đoan 1: Những năm 90 của thế kỷ trước: Khi đó giá trị một máy tính khoảng vài chục triệu đồng. Đó là một khoản chi phí không nhỏ đối với hầu hết các doanh nghiệp. Hơn nữa, việc ứng dụng tin học nói chung ừên toàn thế giới chưa cao. Ở VN hầu như chưa có các phần mềm ứng dụng phục vụ quản lý, kiến thức, trinh độ tin học nói chung của toàn xã hội ở mức rất thấp, nhiều người mói chi lần đầu
10
biết đến sự xuất hiện cùa máy vi tính. Chỉ có một số ít doanh nghiệp có điều kiện trang bị máy tính để trợ giúp hoạt động quản lý với công việc đom giản như soạn thảo vãn bản, quản lý giấy tờ hay giải quyết các bài toán kinh tế đơn giản.
❖ Giai đoan 2: Trước nãm 2000: Giá bán của máy tính và các thiết bị tin học khác đã rẻ hom nhiều. Quan trọng hcm là ờ Việt Nam đã bắt đầu xuất hiện ngày càng nhiều các chương trình máy tính ứng dụng phục vụ hoạt động quản lý. Ngôn ngữ lập trinh chủ yếu được sử dụng để xây dựng các chương trình phần mềm là Foxpro. Máy tính đã được ứng dụng trong phạm vi rộng hơn chù yểu được ứng dụng vào lĩnh vực tài chính kế toán. Việc tin học hóa trong giai đoạn này diễn ra một cách tự phát không theo quy hoạch tổng thể. Tại các bộ phận, phòng ban trong doanh nghiệp tùy vào khả năng và nhu cầu công việc mà người ta chủ động trang bị máy tính và các phần mềm ứng dụng.
❖ Giai đoan 3: Từ 2000 đến nav: Trong điều kiện máy tính thực sự trờ nên phổ biến, các ứng dụng cùa nó tác động đến mọi lĩnh vực đời sống xã hội nhất là trong lĩnh vực quản lý. Một số doanh nghiệp trẻ ờ Việt Nam đã bắt đàu xây dựng HTTTQL tổng thể và dưới sự quàn lý của giám đốc CNTT. Các doanh nghiệp bước đầu tham gia vào TMĐT và thị trường chứng khoán. Tuy nhiên có thực trạng tại các doanh nghiệp đi trước (đã có sự ứng dụng tin học quản lý thời gian trước) gặp khó khăn trong việc đồng bộ hóa các ứng dụng tại các bộ phận chức năng vào một tổng thể duy nhất.
1.1.3. Các lý do xây dựng m ột HTTT mới
Câu hỏi đầu tiên của việc phát triển một hệ thống thông tin mới là cái gi bắt buộc một tổ chức phải tiến hành phát triền hệ thống thông tin. Chúng ta có thể kể một số lý do chủ yếu như sau:
❖ Những vấn đề vể quàn lý:
Mục tiêu cuối cùng cùa việc xây dựng một hệ thống thông tin đó là có được những khả năng cung cấp cho các thành viên của tồ chức những công cụ trợ giúp quản lý một cách tốt nhất. Và các lí do về các yêu cầu của quản lý là lí do quan trọng nhất cho việc xây dựng một phần mềm quản lý mới. Thực vậy khi mà quy mô hay phạm vi hoạt động của đơn vị đã đạt tới một mức độ nào đó dẫn tới một khối lượng dữ liệu phát sinh cần xử lý và độ
11
phức tạp của bài toán quàn lý trờ nên không thể đáp ứng nổi nếu làm một cách thủ công. Đồng thời nhu cầu của sự phát triển và m ờ rộng ừong tương lai đòi hỏi đơn vị phải đầu tư xây dựng một hệ thống thông tin mới.
❖ Những yêu cầu mới của nhà quàn lý:
Trong xã hội thông tin hiện nay, các doanh nhiệp hoạt động theo cơ chế thị trường, coi thương trường nhu chiến trường, thì để thực hiện thành công nhiệm vụ quản lý của mình các nhà quản lý ngày càng đòi hỏi nhiều hơn với hệ thống thông tin. Họ mong muốn nhận được những thông tin chính xác nhất và đầy đủ nhất trong một khoảng thời gian là ngắn nhất.
Yêu cầu này không ngừng được tăng lên và đây là m ột động lực để thúc đẩy đơn vị thay đổi hệ thống thông tin cũ bằng m ột hệ thống mới hiện đại hơn.
❖ Sự thay đối cùa công nghệ:
Năng lực tính toán cũng như khả năng lưu trữ của máy tính có khả năng tăng lên rất nhanh chóng tuân theo định luật More (“cứ sau 18 tháng thì năng lực tính toán của máy tính lại tăng lên gấp đôi”)
Đó là sự phát triển của phần cứng máy tính, còn đối với phần mềm của máy tính nó còn có tốc độ phát triển nhanh hom nữa; những ngôn ngữ lập trình, hệ quản trị cơ sờ dữ liệu mới hơn, tối ưu hơn không ngừng được cài tiến ra đời thay thế cho các thế hệ trước đó.
Hai lý do trên cũng tạo ra động lực rất lớn cho việc thay thế một hệ thống thông tin mới cho hệ thống thông tin cũ.
❖ Sự thay đoi vê sách lược chính trị:
Các quốc gia luôn không ngừng hoàn thiện bộ máy quản lý của mình, các chính sách pháp luật, quy định thể chế thường xuyên sửa đồi và cập nhật để phù hợp với thực tế phát triển của xã hội.
Những quy định, những chuẩn mực trong việc xử lý dữ liệu, tồ chức hoạt động quản lý chắc chắn cũng phải thay đồi. Vì vậy, những hệ thống thông tin mới sẽ trở nên không phù hợp và nỏ cần phải thay thế bằng một hệ thống thông tin mới.
1.2. Khái niệm phần mềm và những vấn đề liên quan
Máy tính không thể hoạt động được nếu thiếu các chương trinh phần mềm. Phần mềm làm cho phần cứng máy tính ứng dụng được vào các vấn
12
đề cần giài quyết và làm cho nó trở thành có ích. Đối với các nhà quản lý, điều quan trọng là phải hiểu rõ: Phần mềm thực sự là gì? Có những loại phân mềm nào? Sừ dụng chúng để phục vụ công việc của mình ra sao?
1.2.1. K hái niệm phần mềm
- Phần mềm là tập hợp gồm 3 yếu tố: các chương trình máy, các cấu trúc dữ liệu phù hợp để chương trình có thể thực hiện những chức năng của nó và các tài liệu hướng dẫn sử dụng các chương trinh ấy.
1.2.2. Phân loại phần mềm
Có nhiều cách phân loại phần mềm. Theo một cách được nhiều người thừa nhận: Phần mềm gồm 2 loại: phần mềm hệ thống và phần mềm ứng dụng.
- P hần mềm hệ thống: Bao gồm các chương trình hướng dẫn những hoạt động cơ bản của một máy tính như hiện thông tin lên màn hình, lưu trữ dữ liệu trên đĩa từ, in kết quả, liên lạc với các thiết bị ngoại vi, phân tích và thực hiện các lệnh của người dùng. Các chương trình thuộc phần mềm hệ thống giúp cho phần cứng của máy tính hoạt động một cách có hiệu quả. Phần mềm hệ thống phục vụ đông đảo người dùng nên thường được các chuyên gia lập trình hệ thống biên soạn và bán trên thị trường. Các nhà lập trình hệ thống thường dùng ngôn ngữ cấp thấp để thu được những bản dịch với chất lượng cao, đảm bảo tiết kiệm thời gian và bộ nhớ cho máy tính. Phàn mềm hệ thống lại được chia làm 4 loại.
+ Hệ điều hành: là tập hợp các chương trình có chức năng điều khiển, quàn lý và giám sát sự hoạt động của các thiết bị phần cứng đồng thời tạo ra môi truờng thích hợp cho các phần mềm ứng dụng hoạt động, đảm bảo khai thác tối ưu các tài nguyên của hệ thống. Microsoft là nhà sàn xuất hệ điều hành window dành cho máy tính cá nhân với các thế hệ như Window 95, window 98, window XP và mới nhất hiện nay là window VISTA.
+ Các chương trình tiện ích: là các phần mềm mở rộng, bổ sung thêm các chức năng cho hệ điều hành để giúp tạo sự thuận tiện cho người dùng cũng như nâng cao sự tối ưu trong việc khai thác tài nguyên hệ thống. Các chương trình tiện ích thực hiện những nhiệm vụ như sừa soạn các đĩa từ để lưu trữ dữ liệu, cung cấp thông tin về các tệp trên đĩa, sao chép dữ liệu từ đĩa này sang đĩa khác. Norton Utilities, sản phẩm cùa công ty Symantec, là một bộ sưu tập các chương trình tiện ích được đùng rất phổ biến. Bộ chương trình này có thể sừa chữa những dữ liệu trên các đĩa từ bị hỏng, bào mật dữ
13
liệu một cách chắc chắn hơn bàng cách giấu kín các tệp hay giúp người dùng giải quyết các vấn đề trục trặc của 0 đĩa.
+ Chương trinh điều khiển thiết bị: là các phần mềm giúp hệ điều hành có thể nhận biết và điều khiển hoạt động của các thiết bị phần cứng. Khi nâng cấp, mở rộng thêm một thiết bị ngoại vi mới cho máy tính như 0 đĩa DVD, card màn hình, m ordem ... trước hết hệ điều hành sẽ tự động tìm kiếm chương trình điều khiển cho thiết bị tương ứng ở trong thư viện trinh điều khiển thiết bị có sẵn của hệ điều hành. Nếu tìm thấy, hệ điều hành sẽ tự động cài đặt phần mềm điều khiển và thiết bị mới có thể được nhận biết và hoạt động đuợc ngay. N ếu không tìm thấy (có thể là thiết bị mới quá hay là lạ quá) thì người dùng phải chủ động cài đặt chương trinh điều khiển trên đĩa CD đi kèm đề hệ thống có thể nhận biết và khai thác sử dụng thiết bị mới.
+ Chương trình dịch: là chương trình có chức năng dịch các chương trình viết bàng ngôn ngữ thuật toán sang ngôn ngữ máy đề máy tính có thể hiểu, xứ lý được và ngược lại, dịch lại kết quả xử lý của máy tính sang ngôn ngữ bậc cao và chuyển tới người dùng. Mỗi một ngôn ngữ lập trình thì đều đi kèm theo nó một chương trinh dịch.
❖ Phần mềm ứng dụng:
Là những phần mềm được làm ra để đáp ứng một yêu cầu nào đó cùa người dùng. Phần mềm ứng dụng cũng được chia làm 4 loại:
+ Phần mềm năng suất: giúp nâng cao năng suất và hiện quả làm việc của người dùng. Một số phần mềm loại này như: hệ soạn thảo văn bàn giúp người dùng biên soạn các chế bàn điện tử nhanh hơn, đẹp hơn và chuyên nghiệp hcm; các chương trình bảng tính điện tử giúp người dùng lập và xứ lý các bàng dữ liệu phức tạp trong một thời gian ngắn nhất; các phần mềm đồ họa giúp người dùng sáng tác hay biên tập các tác phẩm đồ họa có chất lượng thẩm mỹ cao trong một khoảng thời gian ngắn nhất...
+ Phần mềm kinh doanh: là phần mềm có chức năng quản lý các hoạt động, các giao dịch phát sinh trong quá trình hoạt động của các doanh nghiệp sàn xuất hàng hoá dịch vụ; giúp các doanh nghiệp hoàn thành những nhiệm vụ xừ lý thông tin có tính chất thủ tục, lặp đi lặp lại hàng ngày, hàng tháng, hàng quí hay hàng năm. Phần mềm kinh doanh điển hình như phần mềm quàn lý tài chính, kế toán; phần mềm quản trị sản x u ất...
+ Phần mềm giáo dục, tham khảo: là phần mềm giúp cung cấp những 14
kiến thức, thông tin cho người dùng về một lĩnh vực nào đó; giúp người dùng học thêm về một chù đề nào đó hay là giúp tra cứu về một đối tượng, một sự kiện hay một chủ đề bất kỳ. Điển hình như các phần mềm dạy học; các phần mềm từ điển; các phần mềm bách khoa toàn thư điện tử ...
+ Phần mềm giài trí: là phần mềm người dùng thư giãn, giải tri. Bao gồm các trò chơi, các phần mềm xem phim, nghe nhạc...
1.2.3. Đặc điểm riêng của phần mềm so với các sản phẩm khác
- Là sàn phấm của ngành công nghiệp phần mềm, phần mềm hàm chứa một lượng tri thức rất lớn được tạo ra chủ yếu dựa vào tri thức và trí tuệ của người sản xuât phần mềm. Phần mềm không bao gồm các nguyên liệu thô như sắt, thép, nhựa, g ỗ ... như các sản phẩm thông thường khác.
- Không bị khấu hao hữu hình theo thời gian. Mà ngược lại phần mềm có thể làm tăng giá trị cho đối tượng sừ dụng nó lên nhiều lần.
- Dễ dàng nhân bản bời bàn chất phần mềm được lưu trữ dưới dạng các tệp dữ liệu trên các phương tiện nhớ của máy tính. Vì thế, nó dễ dàng được nhân bản nếu cần.
- Dễ dàng chuyển giao vì phần mềm không có kích thước và khối lượng giống như các sản phẩm khác. Nó có thể được sao chép và truyền trên mạng máy tính một cách nhanh gọn.
1.2.4. Các tiêu thức để đánh giá một phần mềm tốt
Đứng trên quan điểm người dùng cuối, một phần mềm tốt được đánh giá dựa trên nhưng tiêu thức sau:
o Đáp ứng đầy đù yêu cầu cùa người dùng. Đây là tiêu chuẩn đầu tiên khi đánh giá, nghiệm thu một phần mềm. Đe được đánh giá tốt, phần mềm phải đáp ứng đầy đủ hệ thống các yêu cầu của người dùng đặt ra lúc ban đầu.
o Chứa ít lỗi tiềm tàng (tính ổn định). Phần mềm phải lường trước được các tình huống có thể gây ra lỗi và có biện pháp ngăn chặn hay là cảnh báo kịp thời.
o Giá thành không vượt quá dự kiến ban đầu. Phù hợp với dự trù kinh phí tương ứng với các chức năng đã được đặt hàng.
o Dễ vận hành, điều khiển và khai thác sử dụng (thân thiện với người sử dụng).
15
o Có đầy đủ tài liệu về thiết kế và hướng dẫn sử dụng. Cho phép ngươi dùng có được những thông tin trợ giúp thích hợp, tương ứng VỚI chức năng cùa phần mềm mà họ đang khai thác. Hom nữa, khi có đậy đù tài liệu về thiết kế cho phép khi có nhu cầu người ta có thê tiêp cận nhanh chóng tới cấu trúc bên trong cũng như tư tường, phong cách thiết kế của phần mềm để có thể thực hiện những sự sửa đồi hay nâng cấp phù hợp.
o Có tính bào mật cao, có khả năng ngăn chặn những sự truy nhập hay khai thác không được phép. Khả năng phân quyền chi tiết cho từng người sử dụng phù hợp với yêu cầu và nhiệm vụ cùa họ.
1.3. Các bước tổng quát của quy trình phản tích, thiết kế và xây dựng phần mềm
Phương pháp được trinh bày ờ đây có 7 giai đoạn. Mỗi giai đoạn bao gồm một dãy các công đoạn được liệt kê kèm theo dưới đây. c ầ n phải lưu ý ràng từ đây trờ đi cuối mỗi giai đoạn là phải kèm theo việc ra quyết định về việc tiếp tục hay chấm dứt sự phát triển hệ thống. Quyết định này được trợ giúp dựa vào nội dung báo cáo mà phân tích viên hoặc nhóm phân tích viên trình bày cho các nhà sử dụng. Phát triển hệ thống là một quá trình lặp. Tuỳ theo kêt quà của một giai đoạn có thể, và đôi khi là cần thiết, phải quay vê giai đoạn trước để tìm cách khắc phục những sai sót. Một số nhiệm vụ được thực hiện trong suốt quá trình; đó là việc lập kể hoạch cho giai đoạn tới, kiêm soát những nhiệm vụ đã hoàn thành, đánh giá dự án và lập tài liệu về
hệ thống và về dự án. V à sau đây là mô tả sơ lược các giai đoạn của việc phát triển hệ thống thông tin.
Bước 1: Đảnh giá yêu cầu
Đây là bước đầu tiên và quan trọng nhất mà kết quả của nó có ý nghĩa quyết định tới sự thành công của toàn bộ dự án. Nó có mục đích tìm hiểu về hệ thông đang tồn tại, đánh giá nhu cầu của sự phát triển đối với sự phát triển cùa hệ thông mới với các khía cạnh:
• Khả thi vê mặt kỹ thuật để bảo đảm rằng mọi yêu cầu về chức năng của hệ thống mới đều có thể tim được giải pháp háy kỹ thuật thực hiện
• Khả thi vê mặt tài chính để đảm bảo mọi yêu cầu về chi phí cho việc sản xuất phần mềm đều được đáp ứng và phù hợp với khả năng dư trù kinh phí cùa người dùng
16
• Khả thi về thòi gian để đảm bảo rằng thời gian dự kiến cho việc thiết kế phần mềm là hợp lý và có thể được người dùng chấp nhận
• Khả thi về nhân lực đảm bảo rằng từ phía nhà sản xuất có đủ đội ngũ nhân lực trong việc xây dựng phần mềm đồng thời về phía người đùng cũng chuẩn bị được đội ngũ nhân lực cho việc khai thác sử dụng và vận hành hệ thống
Thông thường, bước đánh giá yêu cầu càng được thực hiện chi tiết và chính xác bao nhiêu thì các bước sau sẽ đơn giản và dễ thành công bấy nhiêu Bước 2: Phân tích chi tiết
Phân tích chi tiết được tiến hành sau khi có sự đánh giá thuận lợi về yêu cầu. Những mục đích chính của phân tích chi tiết là hiểu rõ các vấn đề của hệ thống đang nghiên cứu, xác định những nguyên nhân đích thực của những vấn đề đó, xác định những đòi hòi và những ràng buộc áp đặt đối với hệ thống và xác định mục tiêu mà hệ thống thông tin mới phải đạt được. Trên cơ sở nội dung báo cáo phân tích chi tiết sẽ quyết định tiếp tục tiến hành hay thôi phát triển một hệ thống mới. Đe làm những việc đó giai đoạn phân tích chi tiết bao gồm các công đoạn sau đây.
• Lập kế hoạch phân tích chi tiết.
• Nghiên cứu môi trường cùa hệ thống đang tồn tại.
• Nghiên cứu hệ thống thực tại.
• Đưa ra chẩn đoán và xác định các yếu tố giải pháp.
• Đánh giá lại tính khả thi.
• Thay đổi đề xuất của dự án.
• Chuẩn bị và trình bày báo cáo phân tích chi tiết.
Bước 3: Thiết k ế lô gíc
Bước này nhàm xác định tất cả các thành phần lô gíc cùa một hệ thống thông tin, cho phép loại bò được các vấn đề cùa hệ thống thực tế và đạt được những mục tiêu đã được thiết lập ờ giai đoạn trước. Mô hình lô gíc của hệ thống mới sẽ bao hàm thông tin mà hệ thống mới sẽ sản sinh ra (nội dung cùa Outputs), nội dung của cơ sở dữ liệu (các tệp, các quan hệ giữa các tệp),
các xử lý và hợp thức hoá sẽ phải thực hiện (các xử lý) và các dữ liệu sẽ . được nhập vào (các Inputs). Mô hình lô gíc sẽ phải được những người sừ dụng xem xét và chuẩn y. Thiết kế lô gíc bao gồm những công đoạn sau:
17
• Thiết kế cơ sở dữ liệu.
• Thiết kế xử lý.
• Thiết kế các luồng dữ liệu vào.
• Chinh sửa tài liệu cho mức lô gíc.
• Hợp thức hoá mô hình lô gíc.
Bước 4: Đ ề xuất các phương án của giải pháp
Mô hình lô gíc của hệ thống mới mô tả cái mà hệ thống này sẽ làm. Khi mô hình này được xác định và chuẩn y bời người sừ dụng, thì phân tích viên hoặc nhóm phân tích viên phải nghiêng về các phương tiện để thực hiện hệ thống này. Đó là việc xây dựng các phương án khác nhau để cụ thể hoá mô hình lô gíc. Mỗi một phương án là một phác hoạ của mô hình vật lý ngoài của hệ thống nhưng chưa phải là một mô tà chi tiết. Tất nhiên là người sừ dụng sẽ thấy dễ dàng hơn khi lựa chọn dựa trên những mô hình vật lý ngoài được xây dựng chi tiết nhưng chi phí cho việc tạo ra chúng là rất lớn.
Đe giúp những người sử dụng lựa chọn giải pháp vật lý thoả mãn tốt hơn các mục tiêu đã định ra trước đây, nhóm phân tích viên phải đánh giá các chi phí và lợi ích (hữu hình và vô hình) của mỗi phương án và phải có những khuyến nghị cụ thể. Một báo cáo sẽ được trinh lên những người sử dụng và một buổi trình bày sẽ được thực hiện. Những người sử dụng sẽ chọn lấy một phương án tỏ ra đáp ứng tốt nhất các yêu cầu cùa họ mà vẫn tôn trọng các ràng buộc cùa tổ chức. Sau đây là các công đoạn cùa giai đoạn đề xuất các phương án giải pháp:
• Xác định các ràng buộc tin học và ràng buộc tổ chức.
• Xây dựng các phương án của giải pháp.
• Đánh giá các phương án của giải pháp.
• Chuẩn bị và trinh bày báo cáo của giai đoạn đề xuất các phương án giải pháp.
Bước 5: Thiết kể vật lý ngoài
Bước này được tiến hành sau khi một phương án giải pháp đuợc lựa chọn. Thiết kế vật lý bao gồm hai tài liệu kết quả cần có: trước hết là một tài liệu bao chứa tất cà các đặc trưng của hệ thống mới sẽ cần cho việc thực hiện kỹ thuật; và tiếp đó là tài liệu dành cho người sử dụng và nó mô tả cà
18
phần thủ công và cả những giao diện với những phần tin học hoá. Những công đoạn chính cùa thiết kế vật lý ngoài là:
• Lập kế hoạch thiết kế vật lý ngoài
• Thiết kế chi tiết các giao diện (vào/ra)
• Thiết kế cách thức tương tác với phần tin học hoá
• Thiết kế các thủ tục thù công
• Chuẩn bị và trình bày báo cáo về thiết kế vật lý ngoài
Bước 6: Triển khai kỹ thuật hệ thống
Kết quả quan trọng nhất của bước thực hiện kỹ thuật là phần tin học hoá của hệ thống thông tin, có nghĩa là phần mềm. Những người chịu trách nhiệm về giai đoạn này phải cung cấp các tài liệu như các bản hướng dẫn sử dụng và thao tác cũng như các tài liệu mô tà về hệ thống. Các hoạt động chính cùa việc triển khai thực hiện kỹ thuật hệ thống là như sau:
• Lập kế hoạch thực hiện kỹ thuật
• Thiết kế vật lý trong
• Lập trình
• Thừ nghiệm hệ thống
• Chuẩn bị tài liệu
Bước 7: Cài đặt và khai thác
Cài đặt hệ thống là pha trong đó việc chuyển từ hệ thống cũ sang hệ thống mới được thực hiện. Để việc chuyển đồi này được thực hiện với những va chạm ít nhất, cần phải lập kế hoạch một cách cẩn thận. Giai đoạn này bao gồm các công đoạn:
• Lập kế hoạch cài đặt
• Chuyển đổi
• Khai thác và bảo trì
• Đánh giá
1.4. Các thành viên chính của dự án phát triển hệ thống thông tin Số lượng các thành viên tham gia vào dự án phát triển hệ thống thay đồi tuỳ theo quy mô và sự phức tạp của dự án. Sau đây là một dạng cấu hình
tương đối phổ biến do Y. c . Gagnon đưa ra. c ầ n lưu ý ràng cùng một con người có thể tuỳ theo hoàn cảnh mà thuộc vào một hay nhiều nhóm:
- N hững người ra quyết định. Họ kiểm soát các nguồn lực được dùng trong hệ thống. Họ có quyền lực tác động vào việc phát triển hệ thống. Họ có tiếng nói quyết định trong việc lựa chọn mục tiêu cũng như tiến hành thực hiện hệ thống mới. Đó là bộ phận lãnh đạo cao nhất cùa tổ chức.
- N hững nhà quản lý trông coi quá trình phát triển và hoặc vận hành hệ thống. Họ là đại diện, ở thứ bậc thấp hơn, cùa những người ra quyết dịnh. Họ lao động trong sự hợp tác với các phân tích viên.
- Phân tích viên và thiết kế viên phân tích thiết kế và cài đặt hệ thống trong sự cộng tác với các nhà ra quyết định và các nhà quàn lý.
- Ngưòi sử dụng cuối tương tác vói hệ thống theo sự cần thiết hoặc tuỳ chọn. Họ sử dụng đầu ra của hệ thống. Họ tiếp xúc trực tiếp với hệ thống trong những khoảng thời gian ngắn. Đó là những người sử dụng tại các giao diện vào/ra của hệ thống, những nhà quản lý mà hệ thống đang được xây dựng cho học.
- Người sử dụng - thao tác viên là những người mà vai trò nhiệm vụ của họ là gắn liền với hệ thống khi nó trờ thành tác nghiệp được. Họ tạo ra những đầu vào (Inputs) hoặc nhận các đầu ra từ hệ thống (Outputs) để rồi đưa cho những người sử dụng cuối.
- N hững ngưòi sử dụng gián tiếp. Đó là những người chịu ảnh hường gián tiếp của hệ thống như sử dụng nguồn lực hiếm, ảnh hường xã hội ...
- Các lập trìn h viên chịu trách nhiệm xây dựng các chi tiết của cấu trúc hệ thống.
- Các hướng dẫn viên hướng dẫn cho những người sử dụng thao tác viên hoặc các nhóm người khác cách thức sừ dụng hệ thống.
1.5. Vai trò phân tích viên hệ thống
Phân tích viên hệ thống nói chung không phải là người duy nhất có trách nhiệm trong một dự án phát triển hệ thống. Trong trường hợp một hệ thống rất lớn người ta có thể có một đội ngũ gồm m ột chú dự án, một số phân tích viên, một số người sừ dụng, một số lập trình viên và trợ lý quàn trị dự án. Đối với hệ thống nhò có thể chi có một người đóng đồng thời vai trò chù dự án, phân tích viên, lập trinh viên và thư ký. Đe thực hiện những chức năng của mình một cách dễ dàng, phân tích viên phải có kiến thức
20
trong nhiều lĩnh vực như quản lý, kinh doanh, hệ thống thông tin, kỹ thuật CNTT ...
Cán bộ phân tích phải hiểu rõ công việc mà người sừ dụng phải làm, những vấn đề và những khó khăn họ gặp. Để làm điều đó việc hiểu biết các phương pháp thu thập thông tin và các phương pháp trình bày hệ thống là cân thiết ... Phân tích viên cũng cần phải biết đề xuất các giải pháp cho vấn đê gặp phải và phải biết thiết kế lô gíc cho hệ thống tương ứng. Phân tích viên cũng cần phải biết chuyển đổi các yếu tố lô gíc sang thành các phương án cụ thể và đánh giá chi phí và lợi ích cùa các phương án về mặt tài chính cũng như xã hội. Anh ta cũng phải biết chuyển những đề xuất thành các dặc tả cụ thể chính xác để lập trình viên có thể thực hiện chúng hoăc tự thực hiện lấy. Những hiểu biết về lập trình, thử nghiệm hệ thống và những phương pháp cài đặt cũng là cần thiết hữu ích.
Ngoài ra, phân tích viên phải có một số phẩm chất nhân bản cao liên quan chặt chẽ với hoàn cảnh của dự án đang tiến hành. Trong thực tế, việc đưa ra một dự án thường nẩy sinh sự không an tâm ở những người sử dụng có liên quan. Một số người nhìn thấy nó như một phương tiện để cấp trên đánh giá năng lực, một số khác ngại thay đổi thói quen, một số khác sợ mất quyền lực và cũng có người thấy việc làm của mình bị đe doạ. Những nỗi sợ hãi và không an tâm đó đôi khi đẫn tới việc người sử dụng kháng cự lại ngay lập tức sự thay đổi và giảm khả năng hợp tác có hiệu quả trong việc nghiên cứu. Chẳng có gì khó chịu hơn đối với người sử dụng khi người phân tích tạo ra một cảm tưởng là anh ta hiểu biết tốt hơn người sử dụng cách thức thực hiện nhiệm vụ của họ.
Trong những hoàn cảnh như vậy, việc phân tích viên thể hiện những phẩm chất nhân văn sẽ có những hiệu quả rất lớn.
1.6. Một số nguy CO’ đối mặt trong quá trình sản xuất phần mềm
Trong quá trình sản xuất và xây dựng phần mềm thì một công ty phần mềm thường phải đối mặt với một số nguy cơ, điều đó làm chất lượng phần mềm giảm đi
❖ Không có phương pháp mô tả rõ ràng, đủ nghĩa, yêu cầu cùa người dùng dẫn tới khi bàn giao sản phẩm có thể phát sinh các trục trặc
•> Với những phần mềm quy mô lớn, với những tài liệu đặc tả cố định trong thời gian dài vì vậy khó đáp ứng nhu cầu thay đổi người dùng một cách kịp thời trong thời gian đó
21
Nếu không có phương pháp luận thiết kế nhất quán mà thực hiện thiết kế theo cách riêng cùa công ty hay của nhóm lập trình sẽ dẫn đến việc suy giảm chất lượng phần mềm do phải phụ thuộc quá nhiều vào con người
Nếu không cỏ chuẩn trong việc thiết kế tài liệu về quy trinh sàn xuất phần mềm thì nhũng đặc tả không rõ ràng và làm giảm chất lượng phẩn mềm
Nếu không thực hiện việc kiểm thử tính đúng đắn của phần mềm trong từng giai đoạn mà chi thực hiện ờ giai đoạn cuối và phát hiện lỗi thì việc bàn giao sản phẩm thường không đúng hạn
Nếu coi trọng lập trình hơn thiết kế thường làm giảm chất lượng phần mềm
Phần lớn trong quá trinh phát triển phần mềm có nhiều thao tác do con người thực hiện -> năng suất lao động giảm
Không chứng minh được tính đúng đan của phần mềm do vậy độ tin cậy phần mềm giảm
Tiêu chuẩn đánh giá một phần mềm tốt không thể định lượng hóa, do vậy khó đánh giá phần mềm đúng đắn hay không
Khi đầu tư nhân lực lớn vào việc bào trì phần mềm làm giảm hiệu suất lao động của nhân viên
Công việc báo trì kéo dài làm giảm chất lượng tư liệu và ảnh hưởng xấu đến những việc khác
Việc quản lý dự án lòng lẻo kéo đến việc quản lý lịch trình không rõ ràng
Không có tiêu chuẩn ước lượng nhân lực của dự án -ỳ kéo dài thời hạn và vượt kinh phí dự án
C Â U H Ỏ I Ô N T Ậ P C H Ư Ơ N G 1
1. Hãy trình bày hiểu biết của bạn về tình hình tin học hóa công tác quàn lý tại các doanh nghiệp nước ta hiện nay.
2. Tại sao nói “Tin học hóa công tác quản lý là giải pháp phát triển cũng như là xu thế cùa các doanh nghiệp Việt Nam trong giai đoạn hội nhập kinh tế quốc tế hiện nay” , bạn hãy bình luận về phát biểu trên.
3. Những mối lợi thu được khi tin học hóa công tác quản lý tại doanh nghiệp?
4. Những người được hưởng lợi tò việc tin học hóa công tác quàn lý?
5. Những vấn đề ngăn cản doanh nghiệp khi tiến hành tin học hóa công tác quản lý?
6. Những nguy cơ phải đối mặt cùa doanh nghiệp khi thực hiện tin học hóa công tác quản lý?
7. Những nguyên nhân dẫn đến việc phát triển hệ thống thông tin mới? 8. Các thành viên tham gia dự án phát triển một HTTT?
9. Khái niệm phàn mềm, công nghệ phần mềm?
10. Phân loại phần mềm?
11. Các tiêu chuẩn đánh giá một phần mềm thương mại tốt? 12. Các bước của quá trinh phân tích thiết kế xây dựng và cài đặt một HTTT
23
Chương 2
NGÔN NGỮ lộ p TRÌNH VISUM. BASIC 6.0
2.1. Giới thiệu chung
2.1.1. Giới thiệu Visual Basic
Là một sản phẩm trong bộ Visual Studio của hãng Microsoft, ra đời năm 1991 với phiên bản đầu tiên visual Basic 1.0. Cho đến năm 1998 phiên bản Visual Basic 6.0 ra đời và sau đó chuyển sang một thế hệ ngôn ngữ lập trình mói Visual Basic .NET. Còn với phiên bản Visual Basic 6.0 (VB6) Microsoft phát hành các bản Service Pack với mục đích để sửa lỗi và hoàn thiện hơn. Tại thời điểm biên soạn giáo trình này đang có phiên bản Visual Basic 6 Service Pack 6.
Các ấn bản khác nhau của VB 6
+ L earning Edition: là phiên bản cơ bàn nhất, nó cho phép viết nhiều kiểu ứng dụng khác nhau, tuy nhiên nó không có 1 số công cụ điều khiển có trong các phiên bản khác
+ Professional Edition: thiết kế cho người dùng chuyên nghiệp, nó chứa tất cả các tính năng và công cụ có trong phiên bàn Learning Edition và có bổ sung thêm thư viện và các công cụ điều khiển.
+ Enterprise Edition: đây là phiên bàn đầy đủ nhất dành cho các phân tích ứng dụng chuyên nghiệp. Nó chứa các công cụ đề hỗ trợ lập trình theo nhóm
Visual Basic là một ngôn ngữ lập trinh đa năng, sử dụng để xây dựng các phần mềm hoạt động trong môi trường window hay trên mạng Internet. Nó là sự kê thừa của ngôn ngữ lập trinh Basic với những un điểm chính như sau:
+ Bao gồm mọi đặc điểm của Basic nên rất quen thuộc dễ sử dụng
+ Cung cấp nhiều công cụ điều khiển có sẵn để hỗ trợ lập trình viên, nhất là trong lập trình ứng dụng CSDL
24
+ Là ngôn ngữ có tính trực quan rất cao, có cấu trúc logic chặt chẽ ở mức độ vừa phải, rất dễ dàng học được thành thạo
2.1.2. Giao diện làm việc của VB
- Cửa sổ đầu tiên, lựa chọn các kiểu dự án để phát triển
N e w P r o je c t
New I Existing I Recent I
& & -ÌỆ 1
Standard EXE
ActiveX EXE ActiveX DLL ActiveX VB Application ! ; ! Control Wizard '■=$:
* Addin J
VB Wizard ActiveX ActiveX Manager Document DO Document Exe
p-a
r~ Don I show this dialog in the future
Data Project
.y.
Open
Cancel
Help
Chúng ta sẽ chọn Standard EXE để làm hiện ra giao diện của môi trường phát triển tích hợp Integrated Development Environment (IDE) cùa Visual Basic.
25
I P ro je c t1 - M ic ro s o ft V is u a l B a s ic [d e s iq n ] - |P fO |e c tl - F o rm l (Form )l
>t E A
libl □ _l p <*■ ES p n Ỉ Ỡ a □ ® <9
liiiM B ii i g m ■nail!* iiiaumtEKfiUfssii.viu HstttfmNMpii
1.»:% i iis ■.*2p' w
Njlli I ialliil
i---a fMjfeni#
'“ f t HDlFonnl (M aFo ral]
I Form 1 Form
. AfcftabetiC Ị C*teọorư*d I
H U S
t iy ifrl i ;
l i i l
True _
|3-Windows Defejt H
SU rtU pP ow toon
•jfltetuma or se ts • value specifying t K poattan |0f a Form when it first appears. - * w ^ v '
- Thanh tiêu đề (Titlebar)
is, P ro je ctl - M icrosoft V isu a l B a s ic [design] - [Form l (Form)]
Là thanh trên cùng của màn hình giao diện chính cùa VB. Thanh này chứa tên của dự án đang được thiết kể.
- Thanh thực đon (MenuBar)
& . file Ệdit View Project Format Qebug Run Qiiery Diagram Toots Ềdd-Ins Vfndow H e lp
Chứa đầy đủ các mục chức năng mà bạn sử dụng để làm việc với VB6, kể cả các menu để truy cập các chức năng đặc biệt dành cho việc lập trình chẳng hạn như Project, Format, hoặc Debug. Trong Menu Add-Ins có Add Ins Manager cho phép bạn gắn thêm những menu con để chạy các chương trình tiện ích cho việc lập trinh.
26
Thanh công cụ(Toolbar)
iã - - 'cs B : p ; • » II ■ s t c y ạ y j g j j j j j b J 0 4600 x 3600
Các toolbars có hình các icons cho phép bạn click để thực hiện công việc tương đương với dùng một menu command, nhưng nhanh và tiện hơn. Bạn dùng menu command View I Toolbars (click lên menu command View cho popupmenu hiện ra rồi click command con Toolbars) để làm cho các toolbars hiện ra hay biến mất đi. Bạn có thể thay đồi vị trí một toolbar bẳng cách nắm vào hai gạch vertical nằm bên trái toolbar rồi dời toolbar đi chỗ khác (nắm ở đây nghĩa là để trỏ chuột lên chỗ chấm đỏ trong hình phía dưới rồi bấm xuống và giữ nút bên trái của mouse, trong khi kéo pointer đi nơi khác).
t m r -
Ngoài ra bạn cũng cỏ thể sửa đổi các toolbars theo ý thích bàng cách dùng Menu command View I Toolbars I Customize...
- Hộp công cụ (Toolbox)
Đây là hộp đồ nghề với các công cụ, gọi là controls, mà bạn có thể đặt lên các form trong lúc thiết kế (design). Nếu Toolbox biến mất, bạn có the display nó trờ lại bằng cách dùng menu command View ỊToolbox. Bạn có thể khiến toolbox display nhiều controls hơn bằng cách chọn Components... từ context menu (chọn Toolbox rồi bấm nút phải cùa mouse để display context menu) hay dùng menu command Project I Components. Ngoài việc trình
General
* n A libi □ _J 17 <*■ m
'Ô Q i n m
các control cho tab từ kết quả. - Project Explorer
Sẽ liệt kê các forms và các modules trong project hiện hành của bạn. Một project là sự tập hợp các files mà bạn sử dụng để tạo một trình ứng dụng. Tức là, trong VB6, khi nói viết một program có nghĩa
I Project - Projectl
' 0 Ẽ i | ã . ■
H ê ỉ Forms
!..Ồ- Forml (Forml)
' & MDIForm 1 CMDIForml)
27
là triển khai một project. Để hiển thị cừa sổ Project Explorer bạn vào Menu View I Project Explorer hoặc bấm tổ hợp phím Ctrl+R
Properties window
Liệt kê các thuộc tính của các forms hoặc controls được chọn. Một property là một đặc tính của một object chảng hạn như size, caption, hoặc color. Khi bạn sửa đổi một property bạn sẽ thấy hiệu quả ngay lập tức, thí dụ thay đổi property Font của một Label sẽ thấy Label ấy được display bằng
Properties - F o rm l
(Name) Form l *, Appearance 1 -3 0 & AutoRedraw False
BadcColor □ &H8000000F&
BorderStyle 2 - Sizable f-' C a p ta rí Forml
r\k>r nnfrrJc Tntm ^ I
Font chữ mới. Khi bạn chọn một Property của control hay form trong Properties window, phía bên phải ở chỗ value cùa property có the display ba chấm ( . . . ) hay một tam giác chia xuống. Bấm vào đó để display một dialog cho bạn chọn value. Bấm phím F4 để hiển thị cửa sổ thuộc tính của đối tượng đang được lựa chọn.
Form Layout
Bạn dùng form Layout để
chình vị trí của các forms khi
form hiện ra lần đầu lúc
chương trình chạy. Dùng
context command Resolution
Guides để thấy nếu dùng một
màn ảnh với độ mịn
(resolution) tệ hơn, thí dụ
như 640 X 480, thì nó sẽ nhỏ
như thế nào.
28
Form Designer
*■■■ Hợp Đồng__________ ______ B B S
C Á C L O Ạ I H Ợ P Đ Ố N G
MS Hợp đồng I
Loại hợp đồng I
Thời gian ị
------p
□ T h êm 3 ---- n------ũ Lưu I
Xo á
Thoát I
Mã hợp đổng Loại hợp đổng Thời gian
* H « hopdong ►1
Dùng để thiết kế giao diện lập trình. Bạn bổ sung các controls, các đồ họa (graphics), các hình ảnh từ hộp Toolbox vào form để tạo ra chức năng mà bạn muốn. Mỗi form trong trình ứng dụng của bạn có designer form riêng của nó. Khi bạn maximise một form designer, nó chiếm cả khu làm việc. M uốn làm cho nó trờ lại cỡ bình thường và đồng thời để thấy các form designers khác, click nút Restore Window ở góc bên phải, phía trên.
View Code button
Project - QLNS
M j a j Cũ
^ Esfc rvTNS (QLNS.vbp)
View CodeLrorms
d FrmAccounts (frmTaikhoan.frm)
Cl Frmcoeffident (hesoluong.frm)
I j j l FrmCon tract (Hopdong.frm) H i
Cl Frmlnsiie (Baohiem.frm)
Cửa sổ Code là nơi bạn thực hiện lập trình đề đáp ứng các sự kiện có thề xẩy ra khi ứng dụng hoạt động.
29
Q Ẹle Edit ttew Broyct Fermat Qebuq a>jn Qupnr Otagrwi Ipob. 0 M-in» Mfrdwr b * £ & & y v - - i a l x i a>- faV -s . t f a I & g-o w m : < - i > Ii"«IM g e « » 9 A ’..- I I |ct>oco>0 jgkfc I Dim RsCo As New ADODB.Recordset
Dim naptudonq As New ADODB.Recordset___________________________________________
Private Sub choUpdatsO
GrdCo-AllowUpdate "True
End Sub_____________________________________________________________________
I Private Sub khongchoUpdoteO
1$ GrdCoAllowUpdate ■ False
_ End Sub_____________________________________________________________________ Private Sub CboColD_CJickO
I Dim str As suing
stỉ ■ -SELECT TenHD. Thoigian FROM LoaiHD WHERE MoHD - “ & CboColD.Text 4
naptudong.Open str. conn
■ TxtCoName.Text - naptudonglTenHD
TxtCoTimeText- naptudongiThoigian T
noptudong ƠOS0
I If CboColD.Text <> "Then
CmdCoDel.Enobled “ True
End If
End Sub_____________________________________________________________________
Phía trên cửa sổ Code bạn thấy có 2 hộp menu đổ xuống.
Tại hộp menu bên trái bạn lựa chọn đối tượng muốn lập trình.
jCboColD j r j
CboColD 135
CmdCoAdd —
CmdCoCancel m
CmdCoDel m
CmdCoSave
Form Hi frfs.
Framel i
Frame 2 3
Frames
GrdCo
Label 1
Label2 m
Tại hộp menu bên phải bạn lựa chọn sự kiện tương ứng với đối tượng đã được lựa chọn trong hộp menu bên phải sẽ được lập trình
Click
Change
3 S J
DblClick
DragDrop
DragOver
DropDown
GotFocus
KeyDown "
KeyPress
Key Up
LostFocus
OLECompieteDrag
30
~ 3
Ví dụ: Nếu muốn lập trinh cho sự kiện nút “Thêm mới” được lựa chọn (được bấm). Tại cửa sổ menu bên trái ta chọn tên của nút “Thêm mới” là CmdCoAdd và tại cửa sổ menu đổ xuống bên phải tương ứng ta chọn sự kiện “Click”
Trong Code window bạn có thể chọn display tất cả Sub của code cùng một lúc như trong hình hay display mỗi lần chỉ một Sub bằng cách click button có hình ba dòng nằm ở góc bên trái phía dưới.
% □LN S - M icro so ft V isu al B a s ic [d e sig n ] - [Frm C ontr... 0 ® 8 & Fie Edit View Project Format gebug Sun Query Diagram Tools Add-Ins Window Heto _ Ị f f j x | |j & ' h r ’ n 1 & 0 M 1 10 r - ► II ■ |CmdCoAdd 1 Click
Pri vate s u b Cm d Co Ad d_CI i ckộ "xj Dim traloi As Integer
traloi - MsgBox("Bạn muốn thêm loại hợp đồng? ", vblnforma
Iftraloi - vbN oT hen
Exit Sub
Else
CboColD.Text =
TxtCoNam e.Text«
TxtCoTime.Text = ““
CboColD.SetFocus
End If
'C m dC oSave.Enabled “ True
End Sub
Private Sut^m dC oC anJeLC IickO
UnladBM e
MCTMain Show
jE rfS u b
K_J i f * Immediate W indow
Dùng để gỡ rối (debug) trình ứng dụng của bạn. Bạn có the display dữ kiện trong khi chạy chương trình ứng dụng. Khi chương trình đang tạm ngừng ờ một break point, bạn có thể thay đổi giá trị các biến hay chạy một dòng chương trình để hiển thị cửa sổ chọn menu View I Immediate Window
31
Immediate £• TtxtLglD.Text ± KTQD
7TXĨ!gPo88.Texi
thkt
ID*"tinhoc"
?100*49
149
1
View form button
Project - QLHS
m
_____ J
0 ^ ồ m s (O LNS.vbp) I form hiện thời I I
l±] {View Object! ^ y â ã y ^ ẳ a ììÌ& a Ị
I..o . FrmAccounts (fnnTaikfioan.frmj
I..& Frmcoeffident (hesoluong.frm)
I ị"-G - FrmContract(Hopdong.frm)
Click lên nút này để hiện ra cửa sổ thiết kế giao diện của Form hiện thời. 2.1.3. Các thành phần của dự án phần mềm (Project)
Dự án là một sản phẩm phần mềm có thể hoạt động như một ứng dụng độc lập chạy trong môi trường Window hay là mạng Internet. Mỗi dự án được tạo nên bời các thành phần như sau:
- Form (giao diện) là các màn hình giao tiếp giữa chương trình và người sử dụng. Mỗi form trong dự án sẽ tương ứng với một tệp có phần mở rộng là .frm
- Báo cáo (Report) là sản phẩm đầu ra của một dự án phần mềm, là kết quà của quá trình xử lý dữ liệu, được tổ chức theo mẫu theo quy định. Báo cáo có thể được thiết kế với công cụ tích hợp sẵn trong VB là Data Report hay thông qua một phần mềm chuyên nghiệp trong việc tạo báo cáo ví dụ như Crytal Report.
- CSDL (Database) là nơi chứa các dữ liệu đầu vào cũng như đầu ra phục vụ cho hoạt động của dự án phần mềm. CSDL được tạo lập và quản trị bời 1 hệ CSDL độc lập và được liên kết khai thác sử dụng thông qua các công cụ của Visual Basic.
- Module: đày là một thư viện các hàm hay thù tục. Nó được sử dụng để đáp ứng nhu cầu cho việc cập nhật và xử lý dữ liệu của phần mềm. Nó có thể được chia sè hay thừa kế giữa các dự án phần mềm. Tệp chứa Module có phần mờ rộng là *.bas hoặc *.cls
32
Ghi chú: các thành phần khác nhau trong một dự án nên được lưu trữ trong các thư mục con tương ứng nằm trong thư mục thống nhất của dự án.
Tệp điều khiển của dự án để trực tiếp trong thư mục của dự án và có phần mở rộng * .vbp
2.1.4. M ột số thao tác cơ bản trong Visual Basic
2.1.4.1. Tạo dự án
Mỗi lần khởi động Visual Basic, ta sẽ thấy hộp thoại New Project. Từ đây, ta có thể chọn loại dự án mà ta muốn tạo và an Open.
Khi Visual Basic đã có sẵn, ta có thể tạo dự án bàng cách: từ menu File chọn New Project. Hộp thoại New Project xuất hiện, ta chọn loại dự án cần thiết và nhấn OK.
2.1.4.2. Đổi thuộc tính dự án
Một số thông tin liên quan đến dự án như tên dự án, số phiên bản, chuỗi ký tự dùng hiển thị trên thanh tiêu đề khi ứng dụng hoàn thành. Ta có thể xem các thông tin khác trong hộp thoại Project Properties.
Hộp thoại Project Properties
1. trong cửa sổ Project Explorer, nhấn nút phải chuột lên tệp tin dự án
2. trong menu ngữ cảnh, Chọn Project Name Properties. Hộp thoại Project Properties xuất hiện
3. Hoặc là từ menu Properties, chọn Project Name Properties 33
Q L N S - P r o j e c t P r o p e r t i e s
'^êỈTrr-^' -
i p * s y >*V“V* General I Make I Compile |-Comf>qr^!|*D^gginy tigtrji*?;-' r Project Type: ■■ V
2.7.-/. J. I r a vò đặt tên dự án
Lưu dự án
Khi lưu dự án, từng tập tin trong dự án sẽ được lưu trước kế tiếp là tệp tin dự án. Trong lần lưu dự án đầu tiên, Visual Basic đề nghị tên cho từng tệp tin, thường nó lấy tên biểu mẫu và có phần mở rộng tùy thuộc vào loại tệp tin.
1. từ menu file chọn Save Project
2. nếu đây là lần đầu lưu dự án hoặc ta vừa thêm một biểu mẫu hoặc module, hộp thoại save File as xuất hiện lần lượt cho từng tệp tin
3. Chú ý: tùy thuộc vào loại tệp tin của dự án mà bạn lưu nó vào thư mục riêng biệt. Như vậy sẽ dễ quàn lý hơn.
34
S a v e Fife A s 0 ® 1 Save in: 1 Ê3 Forms <*= a 3 U K f
Q. frmBanHS
tj. ftmChiTieuDT
& FrmDanhmuc
&• FrmKetQua
Q, frmPhieuDK
Main
File name: ịlogin
Save as type: I Form Rles firm) 3 . CancW
Đổi tên
Ta không nhất thiết dùng tên mà Visual Basic đề nghị, mà có thể đặt tuỳ ý. Tuy nhiên nên đặt tên sao cho gợi nhớ. Quy tắc đặt tên sẽ được trình bày trong phần sau:
1. Đưa vào một tên và ấn nút save
2. Tập tin cuối cùng được lưu là tệp tin dự án. Nếu ta đã đặt tên cho dự án thông qua hộp thoại project properties, Visual Basic sẽ tự động đề nghị Project_Name.vbp. Lúc này, ta có thể đổi lại tên khác tuỳ thích, ví dụ như SaveTest.vbp.
2.1.4.4. M ở dự án có sẵn
Ta có một số dự án đang làm việc. Khởi động Visual Basic, chọn menu File. Phần dưới menu liệt kê danh sách các dự án mới nhất mà ta đã làm việc, chọn dự án cần mở. Nếu dự án không xuất hiện trong danh sách, ta phải chỉ ra đường dẫn.
M ở tệp tin vào lúc khởi động Visual Basic
Lần đầu khởi động Visual Basic, hộp thoại New project xuất hiện. Ta có thể chọn mở dự án mới nhất hoặc có sẵn trên đĩa ngay từ hộp thoại này. Nếu không muốn hộp thoại này xuất hiện mỗi lần khởi động Visual Basic, xoá đánh dấu trên hộp đánh dấu (checkbox) nằm ờ bên dưới hộp thoại.
35
N e w P r o je c t
New I Existing
File__________
p f f i r -
QuanLyBanHang
|| QuanLyBanHang %|QLBH
I^QLNS
^Testmaker
^jTuyenSinhTC
n ^ r.
E:VJly_Projects\paoCaoTTTotNghiepV<7rinHoc\Tang E:V^y_Projects^aoCaoTTTotNgNepyC7rmHoc^anHar E:V“ly_Projects^aoCaoTTTotNghiepV<7nnHocViuangi| E: V^y_Pro]ects'paoCaoTTTotNghiepV<46V<46'fllt>h E:'í1v_Proiects^aoCaoTTTotìMghiep\<46V,huong_QLN E:V“1y Projects\Testmaker
E: Y“ly_Projects\TuyenSinhTC_truoc 151107
r Don\ show this dialog in the future
Mở dự án có sẵn
a. Từ menu File, chọn Open Project.
b. trên trang Existing, chuyển đến thư mục chứa dự án. N ếu dự án cần mờ là dự án lưu gần nhất, chuyển sang trang Recent.
c. chọn tên tệp tin dự án và nhấn OK.
36
_ J T emplate
ZD Thuc Tap
HD Tsql
23 Wizards
Projectl .vbp
Ĩ aw.CTfrqstsr.^ "*r _ :
File rjame ' ' ......... " _ 'teQpen: . . . J . . . . !
Project Files (*.vbp;*.mak;*.vbg) Cancel
2.1.4.5. Thêm xoá và lưu tập tin trong dự án
Thêm mới tệp tin
Thông thường, một biểu mẫu cần nhiều biểu mẫu hoặc module. Ví dụ, muốn thêm hộp thoại About, ta cần thêm một biểu mẫu.
Dưới đây là các dạng tệp tin có thể thêm vào dự án: bàng cách chọn trong menu Project
• Biểu mẫu (form): tệp tin.frm chứa mô tà của một biểu mẫu và các điều khiển, kể cà các thuộc tính của chúng. Nó cũng chứa khai báo các hàng, biến và thủ tục.
• Lớp (Class) là một trong những tính năng quan trọng nhất của Visual Basic, được dùng trong lập trình hướng đối tượng để định nghĩa các khuôn mẫu cho các đối tượng.
• Module chuẩn chứa các khai báo kiểu, hằng, biến, thủ thuộc phạm vi public hoặc ở mức module.
• Tệp tin tài nguyên; chứa hình ảnh, chuối ký tự và các dữ liệu khác ta • có thể soạn thảo mà không cần sửa lại mã nguồn.
37
Tài liệu ActiveX (.dob) tương tự biểu mẫu nhưng được hiển thị trong trình duyệt xét WEB, như là Internet Explorer.
t----------------------—---------------------
% AddFprm
íg l Add MDịPorm ' ■
ắẾÌ Add Module
^ Add Class Module
^ Add User Control
Tb I Add Property Page
•tf] Add User Document ’ 1 Add Webclass
Add Data Report
Add DHTML Page
Add Crystal Reports 8.5
▼J (Declarations)
Add File... Ctrl+D Microsoft UserComection
Remove frmdangnhap.frm
Jia u !"., "T h ô n g b á o " ' £ 3 References...
Components... Ctrl+T
1 QLNS Properties...
• Module điều khiển (.ctl) và module Property page (.pag) tương tự biểu mẫu, nhưng được dùng để tạo điều khiển ActiveX và danh sách các thuộc tính cùa chúng để hiển thị khi thiết kế
• Điều khiển ActiveX (.OCX) có thể được thêm vào hộp công cụ để dùng trong biểu mẫu. Khi Visual Basic được cài đặt, một số tệp tin dạng này kèm theo Visual Basic sẽ được chép vào trong máy
• Đối tượng, như là W orksheet của Excel
• Tham chiếu (Reference)
• Trình thiết kế ActiveX: là công cụ dùng để thiết kế các lớp cho đối tượng. Giao diện thiết kế biểu mẫu là một trình thiết kế mặc định
Các Form thông dụng là nút lệnh điều khiển khung được Visual Basic cung cấp sẵn có thể thêm vào dự án bằng hai cách:
38
C ách 1:
- Từ menu Project, chọn Add form, một hộp thoại xuất hiện A dd Form
N«* I Existing I I
& 0 .
M l
2325 VB Data Form WĨ2ard
About Dialog Web Browser Dialog
& a a C L 0 . Log in Dialog Splash Screen Tip of the Day ODBC Log In Options Dialog
' * ■ ' Open I • ♦' ■■!?;< ..................... *
"iỉĩg&Xệ"-
ii/JtVilik*: i^'u ễll^víí '1^ ' ill I
j. >f;i„ Cancel '{ờ: ệ * I ị :fyfij i “ elp
I r Don't show t ó dialog in the futw epi^ -
'í V'!h •''•’■+ f '•*'*'* ’ fyrtf ■ 4 ; ' *> 'V ..>* 'r y.; Ị-
- Neu muốn tạo mới, chọn tab new. Visual Basic cung cấp các danh sách có sẵn
- Nếu muốn dùng một tệp tin có sẵn, chọn Tab Existing, chọn tên tệp tin, nhấn Open
Cách 2:
- Nhấn nút chuột trong cửa sổ Project Explorer
- Trong menu ngữ cảnh chọn Add
- Xuất hiện hộp thoại như trên
Xoá tệp tin
- Chọn tệp tin trong cửa so Project Explorer
- Từ menu Project chọn Remove
- Tham chiếu tệp tin bị xoá trong dự án (thực chất nó vẫn được lưu trên đĩa)
Khi một tệp tin trong dự án bị xoá Visual Basic sẽ cập nhật những thay 39
đổi này trong tập tin.vbp khi ta lưu dự án. Do đó nếu ta xoá tệp tin bên ngoài Visual Basic, tệp tin dự án sẽ không được cập nhật. Khi ta mờ lại dự án Visual Basic sẽ báo lỗi là thiếu tệp tin
Lưu tệp tin
- Chọn tệp tin trong cửa sổ Project Explorer
- Từ menu chọn Save
2.1.4.6. Thêm điều khiển vào dự án
Thêm điều khiển ActiveX
Ta có thể thêm vào dự án một điều khiển ActiveX và các đối tượng nhúng được bang cách thêm nó vào hộp công cụ
1. Từ menu Project chọn components
2. Để thêm một điều khiển (.OCX) hoặc thêm một đối tượng nhúng vào hộp công cụ, chọn vào hộp đánh dấu bên trái tên điều khiển
3. Chọn OK để đóng hộp thoại. Các điều khiển đánh dấu sẽ hiển thị trên hộp công cụ.
ConƯoli Designers I Ins*
f? ‘ ft• -^9-1
□ Microsoft Data Bound Grid Control 5.0 (5P3)
□ Microsoft Data Bound List Controls 6.0
□ Microsoft DataGrid Control 6.0 (OLEDB)
□ Microsoft DataUst Controls 6.0 (OlEDB)
□ Microsoft DataRepeater Control 6.0 (OLEDB)
□ Microsoft Direct Speech Recognition
□ Microsoft Direct Text-to-speech
□ Microsoft DirectAnimation Media Controls
□ Microsoft DTC Framework
□ Microsoft FlexGrid Control 6.0
□ Microsoft Forms 2.0 object Library
□ Microsoft Hierarchical FlexGrld Control 6.0 (OLE □ Microsoft HTML object Library v j
40
ill I I mm ị
Để thêm điều khiển ActiveX vào hộp thoại Components, nhân nút Browse để tìm đường dẫn cho tệp tin *.OCX. Mỗi điều khiển ActiveX có kèm theo một tệp tin mở rộng là .OCA. Tệp tin này chứa các thông tin cùa thư viện lưu trữ và các dữ liệu liên quan đến điều khiển. Các tệp tin.OCA chứa trong cùng thư mục với điều khiển ActiveX và được tạo lại khi cần.
Xoá điều khiển khỏi dự án
1. Từ menu project, chọn Components
2. Hộp thoại Components xuất hiện, chọn điều khiển mà ta muốn xoá, xoá hộp đánh dấu kế bên nó
Điều khiển sẽ bị xoá khỏi hộp công cụ
Sử dụng đối tượng cùa ứng dụng khác
Để lấy đối tượng từ một ứng dụng nào đó, ví dụ ta muốn sử dụng thư viện đối tượng của Microsoft Excel, đặt tham chiếu đến thư viện đối tượng của ứng dụng đó.
Thêm tham chiếu đến thư viện đối tượng của ứng dụng khác 1. Từ menu Project, chọn References
Refeiences - Pioịectl
Available References
0 Visual Basic For Applications
0 Visual Basic runtime objects and procedures 'ế?:
□ IAS Helper COM Component 1.0 Type Library □ IAS RADIUS Protocol 1.0 Type Library □ : -) Video5oft VSFlexGrid 7.0 (DAO/RDO) □ : - ) VideoSoft VSFIexGfid 7.0 (Light)
□ ! - ) VideoSoft VSFIexGrid 7.0 (OLEDB) □ : - ) VideoSoft VSFlexGrid 7.0 (OLEDB/Unicode) □ VideoSoft VSFlexString 7.Ũ
□ ABManager 1,0 Type Library
□ aboutlook 1.0 Type Library
n aboutlookex 1,0 Tvoe Library , _ .............
OK 1
Ề í ị • ..Cancel
►J •
41
2. Hộp thoại References xuất hiện, chọn vào hộp đánh dấu. Nếu tên tham chiếu chưa có sẵn trong danh sách, nhấn Browse vào ứng dụng và ấn OK.
Nếu không muốn tiếp tục sử dụng đối tượng của thư viện tham chiêu, ta nên xoá đánh dấu tham chiếu để giảm số tham chiếu mà Visual Basic đang quản lý, giảm được thời gian biên dịch dự án.
Khi có tham chiếu đến thư viện đối tượng, ta có thể lấy được đối tượng cùng với các thuộc tính và phương thức của nó bằng cách vào menu view, chọn Object Browser
Thêm tệp tin tài nguyên vào dự án
Tệp tin tài nguyên chứa toàn bộ các hình ảnh, biểu tượng, chuỗi văn bản hiển thị trên màn hình và các thành phần khác liên quan đến việc địa phương hoá ứng dụng.
- Từ menu project, chọn Add File
- Chọn tệp tin tài nguyên có sẵn (.RES) và chọn Open
Một dự án đơn giản chỉ có một tệp tin tài nguyên, nếu thêm một tệp tin.RES thứ hai, Visual Basic sẽ báo lỗi.
2.1.4.7. Sửa đổi thuộc tính dự án
Từ menu Project, chọn Properties. Hộp thoại Project Properties xuất hiện. Những sửa đổi trên hộp thoại này sẽ được lưu trên tệp tin.vbp
Chọn lựa G iải thích
Startup Object Tên biểu mẫu được hiển thị hoặc tên thù tục dược thi hành đầu tiên khi chương trình được khởi động
Project Name Tên dự án, nó không được chứa dấu chấm, khoảng trốn và phải bất đầu bằng chữ cái. Tên dự án
không được quá 37 ký tự
Help File Tên tệp tin hỗ trợ kèm theo dự án
Project He'p Context ID
so ID của chù đề Help được hiển thị khi người sừ dụng click vào nút “?”
Project Description Tên gợi nhớ cùa dự án. Nó được hiên thị trong References và Object Browser
42
Projectl - Pioject Properties
■Standard EXE
: . ssss ' >+ f. V -- .I f , •.-.J.VI j.r I* 'I . ‘ - L ....... " y 1» , , Eroiect Description: ' I fíỉỊ:;i I Mil ----------------------------------; ' i l l ..................................-.............................................................. i s
V- * i * : < ;■ .... <
2.1.4.8. Tạo tệp tin EXE
Cancel Help
Các ví dụ trên đây được thi hành thông qua nút Start của Visual Basic hoặc nhấn F5. Tuy nhiên khi chương trình hoàn tất, ta cần có một tệp tin thi hành, hay tập tin EXE. Đẻ tạo tệp tin thi hành trước hết đòi hòi dự án phải không chứa bất kỳ một lỗi về cú pháp nào. Bạn có thể kiểm tra bàng cách vào menu RUN chọn Start With Full Compile. Khi dự án đã được sữa hết lỗi về cú pháp, bạn vào menu File chọn Make Tên dự án. EXE.
2.2. Đối tượng và thuộc tính
2.2.1. Khái niệm
- Đối tượng (điều khiền - control): là những thứ mà chúng ta sừ dụng để thiết kế và thực hiện một dự án phần mềm. Đổi tượng có thể một biểu mẫu nút lệnh, thanh công cụ, hộp văn bản...
- Thuộc tính của đối tượng: là nhũng dặc điềm cùa đối tượng sir dung đề mô tà. định nghĩa đối tượng hay để phân biệt đối tượng này với đối lượng khác. Mỗi đối tượng trong Vb thì đều có 1 tập hợp các thuộc tính đươc quv định trước và thông qua cứa sô thuộc tính thì chúnc ta có thề thiết
43
lập và thay đổi mọi thuộc tính của đối tượng. Trên màn hình thiết kế Form, ấn F4 để hiện thuộc tính cùa đối tượng đang được lựa chọn.
2.2.2. M ột sổ thuộc tính thường gặp cùa đối tượng
a. Name - Tên của đối tượng
- Là thuộc tính để phân biêt đối tượng này với đối tượng khác, nó được sử dụng để truy xuất hay gán giá trị cho các thuộc tính khác của đối tượng khi lập trinh. Mỗi một đối tượng khi tạo mói thì đều được gán một tên mặc định và chúng ta thường thay đổi tên mặc định này để đảm bảo hiệu quả quản lý và dễ dàng hơn cho lập trinh..
- Quy tắc đặt tên: Tên của đối tượng được đặt theo quy tắc là một chuỗi có tối đa 40 kí tự bắt đàu bàng chữ cái không chứa dấu khoảng cách, không chứa dấu tiếng Việt và thường có 3 kí tự đầu tiên được gọi là tiền tố với chức năng để phân loại đối tượng.
- Chúng ta thường sử dụng các tiền tố như sau:
Loai đối tượng Tiền tố Ví dụ đặt tên
ComboBox cbo cboDMHang
CheckBox chk chkLuaChon
Command button Cmd cmdOK
Form Frm frmLogin
Grid Grd grdDanhMuc
Image img imgAnh
Label Lbl lblTBao
List Lst LstDSach
Menu Mnu mnuHeThong
Nút tuỳ chọn Option button Opt optGioitinh
Hộp chứa hình vẽ PictureBox Pic picHinhVe
Đối tượng thời gian Timer Tmr tmrThoiGian
Hộp văn bàn TextBox Txt txtMaHang
44
b. Thuộc tính tiêu đề - Caption
Có chức năng để xác định tiêu đề cho đối tượng. Đó là một dãy kí tự bât kì do lập trinh viên nhập vào để mô tả chức năng, ý nghĩa của đối tượng. Tiêu đê thường cùng xuất hiện với đối tượng ờ trên biểu mẫu. Trên tiêu đê nêu có kí tự & thì khi xuất hiện trên biểu mẫu, chữ cái liền sau kí tự & sẽ được gạch chân để thay vì bấm chuột trực tiếp vào đối tượng ta bấm Alt + kí tự được gạch chân. Ví dụ nếu viết caption của nút xác nhận là “&Thực hiện” ta sẽ nhận được “Thực hiện” và có thể bấm tổ hợp phím Alt+T thay vì bấm chuột trực tiếp vào nút.
c. Thuộc tính khả ứng (Enable)
- Có giá trị mặc định là True. Chức năng để cho phép hoặc không khả năng can thiệp của người sử dụng vào đối tượng khi ứng dụng hoạt động.
d. Thuộc tính Font: Xác định Font chữa, kích thước chữ, kiểu chữ chù yếu là các đối tượng liên quan đến văn bản như textbox, label....
e. Fore Color: màu chữ
f . Back Color: màu nền (Background)
g. Tab Index: quy định thứ tự cùa việc nhận điều khiển khi ta bấm phím Tab lúc ứng dụng hoạt động.
h. Index chứa chỉ số cùa đối tượng khi chúng ta quàn lý các đối tượng theo mảng.
L Tool Tip Text: là một chuỗi kí tự mô tả ngắn gọn về đối tượng. Nó tự động được hiện ra mỗi khi người dùng di chuyển chuột tới vị trí của đối tượng ở trên form khi ứng dụng hoạt động.
2.2.3. M ột số đối tượng thường dùng để thiết kế Form
a. Hộp văn bản - Text Box
General
\\ m A 151 In
45
Hợp Đồng
CÁC LOẠI HỢP đ ồ n g '
£ a j *
|j5 2 5 E jn jjg jg j2 pTxtCoMame TextBox
|X | “3
Mã Hợp đồng
-----------------------3
Alphabetic I Categorized I >
Loại hợp đồng Thòi gian
3
Alignment Appearance BackCokx
TxtCoName 0 - Left'justify
-M
Borders tyle 1aH80000005&
-Rxed Single
Là một điều khiển rất thông dụng dùng để nhận dữ liệu từ người sử dụng cũng như hiển thị dữ liệu trên màn hình. Visual basic và Windows tự động xừ lý những hoạt động như hiển thị ký tự khi người sử dụng gõ vào, chèn và xoá ký tự, cuốn dữ liệu, đánh dấu văn bản, cắt dán,...
- Thuộc tính đặc thù:
+ Alightment: xác định hình thức căn lề cho dữ liệu trong hộp. = 0: căn trái
= 1: căn phải
= 2: că n g iữ a
+ Multi Line = True/False: cho phép hoặc không việc hiển thị hoặc soạn thảo nhiều dòng văn bản trong hộp Text box.
+ Password char = Password Character: thường được dùng với những hộp văn bàn chứa mật khẩu hay những thông tin bí mật. Thay vì việc hiển thị chính xác kí tự do người đùng nhập vào thì hệ thống chỉ hiển thị kí tự do người dùng định nghĩa trước.
«. Đăng Nhập
Đ Ả N G NT p ufr THỔMỊ
Tài khoản
thkt
Mất khẩu
Đăng nhập I Huỵ
46
+ Text: để có thể cập nhật hay truy xuất nội dung dữ liêu trong hộp văn bản.
b. Nhăn _ Label:
Là một chuỗi kí tự hiển thị trên biểu mẫu có chức năng thường là để giải nghĩa hay mô tả các đối tượng khác. Chúng ta thiết lập hay truy xuất nội dung của nhãn thông qua thuộc tính Caption.
c. N út lệnh _ Command button:
Ị T s a A 1561 □ - j |v F m h |CommandButton| ( 3 lZ)
Đẵng Nhập........... □............ ........□
°Đ Ă N G N H Â P H Ê T H Ò N G
□ ' □ ■
Tài khoản
n
Mât h
Nút lệnh
jD5ng_nhậgj Huỷ
Được hiển thị dưới dạng nút bấm có chức năng để khỏi động một chức năng nào đó thông qua sự kiện bấm nút. Từ cửa sổ thiết kế, muốn lập trình
47
cho sự kiện nút được bấm ta chỉ cần nháy kép chuột vào nút tuơng ứng làm hiện ra cửa sổ lập trình vói thủ tục hiện thời là Sub cm dButtonClickO
b. Check box H ộp kiểm:
T e A lã i □
_ I 1 7 It? ị g g m
11 ±J fjcneckBoxp] Q ]
O p tio n s
Editor I Editor Fomiat I General Docking I Environment I Advanced Ị - Dockable — —----— ------;— “--------------------------------■-----------------
[✓ Immediate Window Locals Window
F? Watch Window 17 Project Explorer w Properties Window r~o bject Browser ĨS Form Layout
p Toolbox
|7 Color Palette
A '■* * *- • •
' - T ‘v ' • ■ • ■ > . ịtĩ^.í K.
OK C aned Help I
Là đối tượng được sừ dụng theo nhóm trên biểu mẫu với chức năng để người dùng lựa chọn một hoặc nhiều phương án trà lời cho câu hòi được đặt ra. Truy xuất (thiết lập) trạng thái của Check box thông qua thuộc tính Value.
Value = 0 > không được chọn
= 1 > được chọn
= 2 > không thể lựa chọn
48
c. Option Button_ N út lựa chọn: | ĩ s A i ĩ ỉ n
ÌJ±J . Il lopaonButton}-^
O p tio n s
__ ^4..._Ã — —------— ----- "IMPMHi
Option button
• fy a p fW s s a a B f e v - ] C V ’rogram FilesV^crosoft Visual Stjdio\VB98\Template
í ’ \ t ■ > r * >' S. “ O K "
yỉv&g&Ị&tứrià-MỈ.ỵ
1 Cancel Help
Số đối tuợng ít nhất là 2, nhàm mục đích cho phép người dùng lựa chọn duy nhất một phương án trong số các phương án được đề xuất. Chúng ta muốn tổ chức nhiều sự lựa chọn ta phải để mỗi nhóm trong những khung hay frame khác nhau.
/ Frame_ Khung:
49
Options
Edtor I Editor Foimat I General Ị Dodang I
-When Visual Base starts:— XT— I-show Template For:— ------
ữ Drnmni frr nren0TỶ ĨĨ7 <• Prompt FdtttK 7 ‘k. for project
c Create default project
- When a program starts: -
c Save Changes
f* PromptTo Save Changes
Don't Save ơianges
Templates Directory;
IC: V’rogram Files Microsoft Visual Studio\VB98\Template
CÓ chức năng chia nhóm những đối tượng khác trên biểu mẫu. Chúng ta thiết lập thuộc tính Caption để mô tả đặc điểm của các đối tượng chứa ừong nhóm. Nó sẽ được hiển thị ở góc bên trái cùa khung.
g. ComboBox _ hộp danh sách đổ xuống:
S II
“ g), ^ 1
IComboBox
El «s>
50
Eđkor Edlor Rxmal I General Ị Docking Ị Environment Ị Advanced Ị T-Codc Colors •" —r—;—
i •• • V ĩi>ỵ -
■ ÌỈĨẾ&
~ — :— Ẻ Ể i
Là đối tượng để chứa một danh sách các giá trị có thể lựa chọn, chủ yêu được sử dụng để cập nhật dữ liệu. Khi hộp ComboBox đang có điều khiển, ta bấm chuột có nút có hình T để hiển thị danh sách (hoặc ấn F4).
Nạp danh sách các lựa chọn vào hộp ComboBox khi thiết kế thông qua các thuộc tính List tại cừa sổ thuộc tính. Khi lập trình, ta có thể nạp danh sách các lựa chọn vào hộp combo Box thông qua thuộc tính Addltem. Truy xuất đến giá trị đã được lựa chọn thông qua thuộc tính Text.
h. List Box_ Hộp danh sách:
_ ) 17 (? H l ì Ị
^ i -& Q Ệ ẳ
O p tio n s
Editor Editor Format I General I Docking I Environment I Advanced I
Code Colors — r
Selection Text
Syntax Error Text
Execution Point Text
Breakpoint Text
Comment Text
Keyword TextKeyword Text
' ' 2 • - '
B ‘ ^ ■ ■ ềỉũẦĩti 'sà' ỉi\
Foreground: Background: Indicator: I Auto 3 I Auto 3 Ị Aut
Font:
I MS Sans Serif Size:
rĩõ "
Là đối tượng sử dụng để hiển thị và cho phép lựa chọn một đối tượng trong danh sách. N ạp dữ liệu vào ListBox cũng thông qua List và thủ tục Add Item tương tự như với hộp Combo Box.
51
2.3. Các cấu trúc diều khiển trong VB
2.3.1. Biến, hằng và các kiểu dữ liệu trong VisualBasic
a. Khai báo biến
Biến là một đối tượng trong chương trinh có thể nhận các giá tri khác nhau phục vụ cho mục đích của chương trình.
Đe khai báo biến ta dùng lệnh Dim:
Dim [As]
Biến khai báo trong thủ tục chỉ tồn tại khi thù tục thi hành. Nó sẽ biến mất khi thủ tục chấm dứt. Giá trị của biến trong thủ tục là cục bộ đối với thù tục đó, nghĩa là ta không thể truy nhập biến từ bên ngoài thủ tục. Nhờ đó, ta có thể dùng trùng tên biến cục bộ trong những thủ tục khác nhau.
Kiểu dữ liệu trong khai báo Dim có thể là những kiểu cơ bản như Integer, String hoặc Currency. Ta cũng có thể dùng đối tượng cùa VB (như Object, Form l, TextBox) hoặc cùa các ứng dụng khác.
Khai báo biến trong phần Declarations của một mô-đun nghĩa là biến đó tồn tại và có tầm hoạt động trong mô-đun đó.
Khai báo biến với từ khoá Public nghĩa là biến đó tồn tại và có tầm hoạt động của toàn ứng dụng.
Khai báo biến cục bộ với từ khoá Static nghĩa là mặc dầu biến đó biến mất khi thủ tục chấm dứt, nhưng giá trị của nó vẫn được giữ lại để tiếp tục hoạt động khi thủ tục được gọi trong lần sau.
Khai báo ngầm
Nghĩa là ta không cần khai báo tường minh trước khi sử dụng biến. Function SafeSqr(num)
TempVal = Abs(num)
SafeSqr = Sqr(TempVal)
End Function
Mặc dù cách này có vè thuận tiện nhưng có thể gây lỗi nếu ta gõ nhầm tên biến.
Function SafeSqr(num)
TempVal = Abs(num)
52
SafeSqr = Sqr(TemVal)
End Function
Hàm này trả về zero. Khi VB gặp tên mới, nó tạo ra một biến khác với tên đó.
Khai báo tường minh
Đe tránh những rắc rối trên, ta nên quy định VB phải báo lỗi khi gặp một tên biến không khai báo. Ta đặt dòng lệnh:
Option Explicit
Trong phần Declarations của mô-đun. Một cách khác, từ menu Tools, chọn Options, chọn tab Editor và đánh dấu vào tuỳ chọn Require Variable Declaration.
O ptions
Editor I Editor Format I General I Docking I Environment I Advanced I
Code Settings----------- -------------*--------------------------------------------
|7 Auto Syntax Check
w Require Variable Dedar^tii 17 Auto lis t Members
t* Auto Quick Info
[>/ Auto Data Tips
r Window Settings------------------------ f / Drag-and-Orop Text Editing >’<} w Default to Full Module View [7 Procedure Separator
w Auto Indent Tab Width: 4
OK Cancel Help
VB tự động chèn dòng lệnh Option Explicit vào một mô-đun mói, nhưng không phải là những mô-đun đã được tạo. Do đó, đối với các mô-đun này, ta phải thêm dòng lệnh bàng tay.
Option Explicit chi hoạt động trên từng mô-đun. Vì vậy, ta phải thêm dòng này vào mỗi mô-đun cùa biểu mẫu, mô-đun chuẩn, hay mô-đun lớp.
53
Tầm hoạt động của biến
Tầm hoạt động Private Public
Thủ tục Biến chỉ tồn tại và hoạt động trong thủ tục
Mô-đun Biến chì tồn tại và hoạt động trong mô-đun
Khai báo biến Static
Không có
Biến tồn tại và hoạt động trên mọi mô-đun
Để khai báo tất cả các biến cục bộ trong một thủ tục là Static, ta đặt từ khoá Static vào tên thủ tục:
Static Function RunningTotal(num)
VB sẽ hiểu ràng tất cà các biến khai báo trong thủ tục này đều là Static, dù cho chúng được khai báo là Private, là Dim hoặc thậm chí khai báo ngầm.
Từ khoá Static có thể đặt ở đầu thủ tục Sub hoặc Function, kể cà thủ tục xử lý sự kiện hoặc những hàm Private.
b. Hằng
Dùng để chứa những dữ liệu tạm thời nhưng không thay đồi trong suốt thời gian chương trình hoạt động. Sử dụng hằng số làm chương trinh sáng sùa và dễ đọc nhò những tên gợi nhớ thay vì các con số. VB cung cấp một số hằng định nghĩa sẵn, nhưng ta có thể tự tạo hằng.
Ta có thể dùng cửa so Object Browser để xem danh sách các ứng dụng hàng có sẵn của VB và VBA(Visual basic for Application). Các ứng dụng khác cung cấp những thư viện đối tượng, như Microsoft Exel, Microsoft Project, hoặc các thư viện của điều khiển ActiveX cũng có hằng định nghĩa sẵn.
Trong trường hợp trùng tên hàng trong những thư viện khác nhau, ta có thể dùng cách chỉ rõ tham chiếu hằng:
[][]
Libname là tên lớp, tên điều khiển hoặc tên thư viện.
Khai báo hằng
|Public|private|Const[As]= Tầm hoạt động
54
Hằng cũng có tầm hoạt động tương tự biến:
• Hằng khai báo trong thủ tục chi hoạt động trong thủ tục • Hằng khai báo trong mô-đun chì hoạt động trong mô-đun
• Hang khai báo Public trong phần Declarations của mô-đun chuân có tầm hoạt động trên toàn ứng dụng. Khai báo Public không thể dùng trong mô-đun của biểu mẫu hoặc mô-đun lớp.
c. Các kiểu dữ liệu sử dụng trong VB
- Kiểu d ữ liệu: là sự quy định về cấu trúc, miền giá trị mà một biến thuộc kiểu đó có thể nhận được và tập hợp các phép toán xác định trên miền giá trị đó.
Kiểu số
- Decimal _ số thực 16 byte
- Double _ số thực 8 byte
- Integer _ số nguyên từ -32768 đến 32767
- Long _ từ -2 tỳ - đến 2 tỷ
- Single _ số nguyên 1 byte
Integer, Long, Double và Currency. Kiểu số tốn ít vùng chứa hơn kiểu Variant. Tất cả biến kiểu số có thể được gán cho nhau và cho biến Variant. VB làm tròn thay vì chặt bỏ phần thập phân trước khi gắn nó cho so Integer.
Kiểu Integer tốn ít vùng nhớ hơn các kiểu khác, nó thường dùng làm biến đếm trong các vòng lặp For....Next.
Kiểu Single, Double, Currency dùng cho các số có phần thập phân. Currency hỗ trợ đến 4 chữ số phần thập phân và 15 chữ số cho phần nguyên, dùng cho các tính toán tiền tệ.
Các giá tri dấu chấm động được thể hiện là:A*10B.Ví dụ:
1.2341E12=1.2341 *1012
3.402823E+38 cho số Single hoặc 1.7976931486232D+308 cho số Double
Ta dùng các phép cộng (+), trừ(-) nhân(*), chia(/ hoặc\). Dấu / là số chia thập phân. Ví dụ: 5/3 cho kết quà là 1.66666666667. Trong khi 5/3 cho kết quà là 1, phần thập phân bị chặt bỏ. Phép tính này đặc biệt nhanh khi sử dụng trong vòng lặp.
55
Kiểu Byte
Nhận các giá trị trong khoảng 0 đến 255. Thường dùng đề chứa dữ liệu nhị phân. Tất cả các thao tác trên kiểu Integer có thể thực hiện trên kiểu Byte, ngoại trừ dấu. Vì Byte là kiểu không dấu (trong khoảng từ 0-255), nó không thể nhận ra số âm.
Kiểu String
Mặc định, biến hay tham số kiểu chuỗi có chiều dài thay đồi, nó có thể tăng hoặc giảm tuỳ theo ta gán dữ liệu. Ta có thể khai báo chuỗi có chiều dài cố định:
Dim EmpNarríe As String *50
Nếu ta gán một chuỗi ngắn hơn 50 ký tự, EmpName sẽ được thêm vào phần đuôi các ký tự khoảng trắng cho đầy 50 ký tự, nếu chuỗi gán vào dài hơn 50 ký tự, VB tự động chặt bò.
Khi làm việc với chuỗi, ta cần dùng các hàm Trim và RTrim để cắt bỏ các ký tự trắng không cần thiết. Ngoài ra, một số hàm thông dụng để thao tác trên chuỗi như:
- Len: Lấy chiều dài chuỗi
- Mid$: Trích chuỗi con từ chuỗi gốc
- Left$: Trích chuỗi con từ phần đầu chuỗi gốc.
- Right$:Trích chuỗi con từ phần đuôi của chuỗi gốc.
- InStr: Tìm chuỗi con trong chuỗi gốc. Nếu hàm InStr trả về 0, nghĩa là không tìm thấy.
Tìm kiếm không phân biệt cỡ chữ. Nhưng nếu tham số thứ 3 là vbBinaryCompare thì đây là tìm kiếm chuỗi có phân biệt chữ in hoa và chữ in thường.
- Replace: Tìm và thay thế chuỗi
VB cho phép chuyển đổi một chuỗi thành một số nếu chuỗi đang thể hiện một con số. Ngược lại, ta cũng có thể chuyển một số thành chuỗi. Tuy nhiên nên cẩn thận, vì chuyển đổi một chuỗi có giá trị không phải số sẽ gây lỗi chương trình thi hành.
Một số lập trình viên Visual Basic thích dùng dấu + để nối chuỗi thay vì dùng dấu &. Mặc dù không khác nhau lắm, nhưng thực ra dùng dấu + có điểm bất tiện. Vì là phép toán, nó có kiểm tra kiểu. Nếu ta có một số và một chuỗi nối vói nhau, nó sẽ chuyển đổi từ số sang chuỗi trước khi thực sự kết
56
nối. Hơn nữa, việc chuyển đổi này được làm tự động, không hề báo lỗi khi biên dịch.
Kiểu Boolean
Nếu ta có một biến có hai giá trị True/False, Yes/No,On/Off, ta nên dùng kiều Boolean. Giá trị mặc định của Boolean là False.
Kiểu Date
Khi các kiểu dữ liệu khác được chuyển sang Date, giá trị đứng trước dấu chấm là ngày, giá trị đứng sau dấu chấm là giờ. Nửa đêm là 0, giữa ngày là 0,5. Dấu âm thể hiện ngày trước 30/12/1999. Kiểu Date đã giải quyết vấn đề Y2K.
Nhấn Ctrl-G để hiển thị cửa sổ Im m ediate.
Gõ vào:
“01/02/98” và nhấn Enter.
Neu hiểu theo người Mỹ, “01/02/98” có nghĩa là ngày 2 tháng Giêng năm 1998, nếu hiểu theo người Anh thì đây là ngày 1 tháng 2 năm 1998. Nếu dùng ngày như trong hình trên thì VB hiểu ràng lấy 1 chia cho 2 rồi lấy kết quà chia cho 98!
Trở lại cửa sổ Immediate gõ vào: ?#01/02/98#
Dấu # cho biết là dữ liệu kiểu Date, không phải một biểu thức toán học. Tuy nhiên, định dạng ngày tháng hiển thị phụ thuộc vào quy định của Windows.
Hộp thoại này hiển thị khi người sử dụng nhấp đúp chuột vào biểu tượng Regional Setting trong cửa so Control Panel của Windows. Nó cho phép quy định kiểu ngày tháng tuỳ thuộc quốc gia. Bên trong chương trình VB xử lý ngày tháng theo kiểu Mỹ #01/02/98# là ngày 2 tháng Giêng năm 1998, nhưng nếu máy đang dùng theo hệ Anh thì nó sẽ hiển thị trên cửa sổ Immediate là 2/1/98.
Kiểu O bject
Biến kiểu Object chứa một địa chỉ 4 byte (32bit) trỏ đến đổi tượng trong ứng đụng hiện hành hoặc các ứng dụng khác. Dùng lệnh Set để chỉ ra đối tượng thực sự:
Dim objDb As Object
Set obj Db=OpenDatabase(“c:\vb5\Biblio.mdb”)
Khi khai báo biến đối tượng, nên chỉ ra tên lớp tường minh, như 57
TextBox thay vì Control, Database thay vì Object, ứ n g dụng sẽ chạy nhanh hơn, ta có thể xem danh sách các lớp trong cửa sổ Object Browser.
Kiểu Variant
Có thể chứa mọi loại dữ liệu, số, thậm chí mảng. Ta không cần chuyển đổi kiểu dữ liệu, VB làm việc đó một cách tự động.
Dim Somevalue 'Variant by default
Somevalue = "17" 'SomeValue contains "17"(a two character string). Somevalue = Somevalue - 15 'somevalue now cotains the numeric value 2. Variant cũng thuận tiện khi ta không biết trước kiểu dữ liệu Private Sub cmdExplore_click()
Dim VarVariant As Variant
VarVariant = 12
Forml .Print VarType(VarVariant)
VarVariant = "Peter"
Form l.Print VarType(VarVariant)
VarVariant = True
Form l.Print VarType(VarVariant)
VarVariant = #1/1/2001#
Form l.Print VarType(VarVariant)
End Sub
H àm VarType kiểm tra kiểu dữ liệu
Giá trị VarType Giải thích
0 - vbEmpty Không chứa gì cả
1 - vbNull Không có dữ liệu hợp lệ 2 - vblnteger Dữ liệu Integer dạng chuẩn 3 - vbLong Dữ liệu kiểu Long Integer 4 - vbsingle Dữ liệu kiểu chấm động single 5 - vbDouble Dữ liệu kiểu chấm động Double
58
6 - vbCurrency Kiểu Cuưency
7 - vbDate Kiểu ngày giờ
8 - vbstring Kiểu chuỗi đơn giản 9 - vbObject Kiểu đối tượng
10 - vbError Có một đối tượng Error 11 - vbBoolean Kiểu giá trị Boolean chuẩn 12 - vbVariant Kiểu Variant
13 - vbDataObject Kiểu DAO chuẩn
14 - vbDecimal Giá trị thuộc hệ thập phân Decimal 17 - vbByte Kiểu Byte
36 - UserDefinedType Kiểu do người dùng định nghĩa 8192 - vb Array Kiểu mảng
Tuy nhiên cần chú ý khi dùng biến Variant:
• Nếu muốn thi hành các hàm số học, Variant phải chứa giá trị số. • Nếu muốn nối chuỗi, dùng toán từ & thay vì toán tử +.
Giá trị Empty
Đôi khi ta cần kiểm tra một giá trị có được gán cho biến hay chưa. Biến Variant có giá trị Empty trước khi nó được gán giá trị. Giá trị Empty là một giá trị đặc biệt không phải zero, không phải chuỗi rỗng(“”), không phải giá trị Null. Ta dùng hàm IsEmpty để kiếm tra giá trị Empty:
If IsEmpty(z) then z =0
Khi một biến Variant chứa giá trị Empty, ta có thể dùng nó trong biểu thức. Nó có thể được xem là 0 hoặc chuỗi rỗng tuỳ theo biểu thức.
Giá trị Empty biến mất khi có một giá trị bất kỳ được gán cho Variant. Muốn trờ về giá trị Empty, ta gán từ khoá Empty cho Variant.
Giá trị Null
Biến Variant chứa giá trị Null dùng trong những ứng dụng cơ sờ dữ liệu thể hiên không có dữ liệu hoặc dữ liệu không xác định.
Dùng hàm IsNull để kiểm tra biến Variant có chứa Null hay không. Biến 59
không bao giờ mang giá trị Null nếu ta không gán trực tiếp cho nó. Vì vậy, không cần phải dùng hàm IsNull.
Nếu gán Null cho một biến khác kiểu Variant, VB sẽ báo lỗi. Giá trị Error
Trong một biến Variant, Error là một giá trị đặc biệt thể hiện một điều kiện lỗi vừa xảy ra trong thủ tục. Tuy nhiên, không như các lỗi khác, các xử lý lỗi thông thường của ứng dụng không xảy ra. Do đó, ta có thể xử lý dựa trên các giá trị lỗi. Giá trị E ưor được sinh ra bàng cách chuyển đổi giá trị lỗi dùng cho hàm CVErr.
d. Dữ liệu kiểu mảng(Array)
Mảng là một xâu các biến có cùng tên và cùng kiểu dữ liệu. Dùng Array làm chương trình đơn giản và rút gọn, vì ta có thể dùng vòng lặp. Mảng có biên trên và biên dưới, và các thành phần trong màng là liên tục giữa 2 biên.
Khái niệm mảng ở đây khác với mảng các điều khiển (Control Array). Control Array không cho phép nạp hay thoát khỏi một thành phần ờ giữa Array.
Có 2 loại biến mảng: mảng có chiều dài cố định và mảng động, có chiều dài thay đổi lúc thi hành. Mảng có chiều dài cố định có thể được khai báo Public trong ứng dụng. Private trong mô-đun hoặc Private trong một thủ tục.
Mảng có chiều dài cố định
Biên trên và biên dưới
Biên trên được xác định ngay lúc khai báo .
Dim counters(14) As Integer
Public sums(20) As Double
Mặc định, biên dưới là 0. Ta có thể khai báo tường minh biên dưới: Dim counter(l To 15) As Integer
Dim sums(100 To 120) As String
Mảng nhiều chiều
Ta khai báo một màng 2 chiều có 10 phần tà
Static M atrixA(9, 9) As Double
Static M atrixA(l To 10,1 To 10) As Double
60
Dim M ultiD (3,1 T o 10,1 T o 15)
Khai báo này tạo ra một màng 3 chiều có kích cỡ 4x10x15, là sổ phần từ của ma trận, 600
Nên thận trọng trong khi sử dụng các mảng nhiều chiều, nhất là các mảng các Variant vì nó lớn hơn các kiểu dữ liệu khác.
Mảng động (dynamic Array)
Mảng này có thể thay đổi klch cỡ. Là một trong những ưu điểm của Visual Basic, mảng động giúp quản lý bộ nhớ một cách hiệu quả. Ta có thể dùng một mảng lớn trong thời gian ngắn, sau đó xoá bỏ để trả vùng nhớ cho hệ thống.
Khai báo
• Khai báo Public hoặc Dim trong mô-đun, hoặc khai báo Static hay Dim trong thủ tục. Khai báo một mảng động bàng cách cho nó một danh sách không theo chiều nào cả.
Dim DynArrayO
• Cấp phát số phần tử thực sự bằng dòng lệnh ReDim.
ReDim DynArray(x+l)
Sử dụng ReDim
Dòng lệnh ReDim chỉ có thể xuất hiện trong thủ tục. Khác với Dim hay Static, ReDim là một dòng lệnh thi hành, nó làm ứng dụng phải thực hiện một hành động lúc chạy chương trình. Sử dụng ReDim tương tự trong mảng có chiều dài cố định, dùng thay đổi số phần tử cũng như biên trên hoặc biên dưới. Tuy nhiên, số chiều không thay đổi.
ReDim DynArray(4 to 12)
Dim Matrix 1() as integer
Sub CalcValuesNowQ
ReDim Matrix 1 (19,29)
End sub
Mỗi lần gọi ReDim, tất cả các giá trị chứa trong mảng hiện hành bị mất. Vb 61
khởi tạo lại giá trị cho chúng (Empty đối với mảng Variant, 0 cho mảng số, chuỗi rỗng cho mảng chuỗi, hoặc nothing cho mảng các đối tượng). Cách này tiện lợi khi ta muốn thêm dữ liệu mới hoặc muốn xoá bớt vùng nhớ. Đôi khi, ta muốn thay đồi kích cỡ của mảng mà không mất dữ liệu. Ta dùng ReDim với từ khoá Preserve. Ví dụ, mở rộng mảng thêm một phần tử và không mất dữ liệu:
ReDim Preserve DynArray (UBound(DynArray)+l)
Hàm UBound trả về phẩn từ cuối của mảng(Upper Bound). Hàm LBound trả ve phần tử đẩu tiên cùa màng (Lower Bound).
Tuy nhiên chỉ có biên trên của chiều cuối cùng trong mảng được thay đồi khi ta dùng Preserve. Neu thay đổi chiều khác, hoặc biên dưới cùa chiều cuối cùng VB sẽ báo lỗi.
2.3.2. Cấu trúc chọn
So sánh mặc định trong Visual basic mặc định là so sánh có phân biệt cỡ chữ. Neu muốn tắt chế độ này, ta thêm dòng khai báo sau vào chương tình
Option Copare Text
Nếu muốn trả về trạng thái ban đầu, có 2 cách:
Đưa dòng khai báo:
Option Compare Binary
Chỉ cần xoá dòng khai báo “Option Compare Text”
Các biểu thức so sánh
Ký hiệu Y nghĩa
= Bằng
o Khác
> Lớn hơn
< Nhó hơn
>= Lớn hơn hoặc bằng
<= Nhỏ hơn hoặc bằng
62
2.3.2.1. If.. Then
Q C 1. Một dòng lệnh
If <điều kiện> Then
QC2. Nhiều dòng lệnh
If <điều kiện> Then
End if
Nếu điều kiện thỏa mãn thì VB sẽ thực hiện dòng lệnh trong QC1, hay là thực hiện một nhóm các lệnh trong QC2. Nếu điều kiện không thỏa mãn thì không thực hiện lệnh nào cà.
2.3.2.2. If.. Then...Else
If <điều kiện 1> Then
[Khối lệnh - 1]
E lself <điều kiện 2> Then
[Khối lệnh - 2]
Else
[Khối lệnh - n]
End if
Cấu trúc nào cho phép thực hiện kiềm tra nhiều điều kiện. Neu điều kiện 1 thỏa mãn thì đi thực hiện khối lệnh 1. Neu không có điều kiện nào thỏa mãn thì thực hiện khối lệnh n đằng sau từ khóa Else cuối cùng.
2.3.2.3. Select Case
Giải quyết trường hợp có quá nhiều Elself được dùng, giúp chương trinh sáng sủa dễ đọc. Biểu thức đề so sánh được tính toán một lần vào đầu cấu trúc. Sau đó Visual basic so sánh kết quả biểu thức với từng Case. Neu bang nó thi hành khối lệnh trong Case đó.
Select Case
Case
Khối lệnh 1
Case
63
Khối lệnh 2
Case else
Khối lệnh n
End Select
Mỗi danh sách biểu thức chứa một hoặc nhiều giá trị, các giá trị cách nhau bàng dấu phẩy. Mỗi khối lệnh có thể chứa từ 0 đến nhiều dòng lệnh. Neu có hơn một Case thoả mãn điều kiện thì Case đầu tiên được thực hiện. Case else không nhất thiết phải có, dùng trong trường hợp còn lại cùa các Case trước. Neu danh sách các giá trị biến thiên liên tiếp, ta có thể biểu diễn bàng cách viết to
VD: Case 1 to 10
2.3.3. Cấu trúc lặp
2.3.3.1. Do..loop
Thi hành một khối lệnh với số lần lặp không định trước, trong đó, một biểu thức điều kiện dùng so sánh để quyết định vòng lặp có tiếp tục hay không. Điều kiện phải quy về False hoặc True.
Kiểu 1:
Do While <điều kiện>
[Exit Do]
Loop
Kiểu 2: Vòng lặp luôn có ít nhất một lần thi hành khối lệnh Do
[Exit Do]
Loop While <điều kiện>
Kiểu 3: Lặp trong khi điều kiện là False
Do until <điều kiện>
[Exit Do]
Loop
64
Kiểu 4: Lặp trong khi điều kiện là False và có ít nhất một lần thi hành khối lệnh
Do
[Exit Do]
Loop Until <điều kiện>
Khi gặp lệnh Exit Do lập tức vòng lặp sẽ kết thúc vô điều kiện. 2.3.3.2. For...Next
Biết trước số lần lặp. Ta dùng biến đếm tăng dần hoặc giảm dần trong vòng lặp.
For = <điểm đầu> To <điểm cuối> [Step ]
[Exit For]
Next []
Biến đếm, điểm đầu, điểm cuối và bước nhảy là những giá trị số nguyên.
Bước nhảy có thể là âm hoặc dương. Nếu bước nhảy là dương, điểm đầu phải nhô hơn hoặc bàng điểm cuối, nếu bước nhảy là âm thì ngược lại.
Khi gặp Exit for vòng lặp kết thúc vô điều kiện.
2.3.3.3. For Each... Next
Tuơng tự vòng lặp For... Next, nhưng nó lặp khối lệnh theo số phần từ của một tập các đối tượng hay một màng thay vì theo số lần lặp xác định. Vòng lặp này tiện lợi khi ta không biết chính xác bao nhiêu phần tử trong tập hợp.
For Each In
[Exit For]
Next
2.3.3.4. Vcmg lặp While... Wend
Tương tự vòng lặp Do...While, nhưng ta không thể thoát vòng lặp bằng lệnh Exit. Vì vậy, vòng lặp kiểu này chỉ thoát khi biểu thức điều kiện sai.
65
While <điều kiện>
Wend
2.4. Các thao tác CO’ bản khi lập trình và sửa lỗi
Có lẽ khâu quan trọng nhất trong lập trình là thiết kế. Sau khi thiết kế giao diện, bạn cần thiết kế cấu trúc chương trình. Cách thiết kế khác nhau sẽ dẫn đến cách hoạt động khác nhau và bảo trì, theo đó cũng khác nhau.
Code trong VB được tổ chức theo dạng cây phân nhánh. Một ứng dụng thông thường chứa một hoặc nhiều mô-đun. Mỗi biểu mẫu có một mô đun, có thể thêm những mô-đun chuẩn chứa những đoạn chương trinh dùng chung, và cũng có thể có thêm mô-đun lớp.
2.4.1. Các thao tác thông dụng trong cửa sỗ Code
a. Soạn thảo Code
Ngoài khả năng soạn thảo văn bàn để viết chương trình, cửa so Code còn hỗ trợ một số chức năng khác như:
Đánh dấu (bookmarks)
Dùng đánh dấu các dòng chương trinh trong cửa so Code để dễ dàng xem lại về sau. Để bật tắt khả năng này, cũng như tìm kiếm dấu hiện hành, chọn Bookmarks từ menu Edit, hoặc chọn từ thanh công cụ Edit.
Dùng phím trong cửa sổ Code
Chức năng Phím tắt
Xem cừa so Code F7
Xem cửa sổ Object Browser F2
Tìm kiếm CTRL + F
Thay thế CTRL + H
Tìm tiếp SHIFT + F4
Tìm ngược SHIFT + F3
Chuyển đến thủ tục kế tiếp CTRL + DOW N ARROW Chuyển đến thù tục trước đó CTRL + UP ARROW
66
Xem định nghĩa SHIFT + F2 Cuộn xuống 1 màn hình CTRL + PAGE DOWN Cuộn lên một màn hình CTRL + PAGE UP Nhảy về vị trí tnróc đó CTRL + SHIFT + F2 Trở về đầu của mô-đun CTRL + HOME Đen cuối mô-đun CTRL + END Chức năng Phím tắt
Dời con trỏ sang phải 1 từ CTRL + RIGHT ARROW Dời con trô sang trái 1 từ CTRL + LEFT ARROW Dời con trỏ về cuối dòng END
Dời con trỏ về đầu dòng HOME
Lấy lại hành động trước đó CTRL + Z Xoá dòng hiện hành CTRL + Y Xoá 1 từ CTRL + DELETE Canh trái TAB
Bỏ hành động canh trái trước đó SHIFT + TAB
Xoá tất cả các điểm dừng (break points)
SHIFT + SHIFT + F9
Xem menu cảm ngữ cảnh SHIFT + FI 0
b. Chức năng tự động kiểm tra cú pháp (Auto Syntax Check) Từ menu Tools, chọn O ption... Hộp thoại xuất hiện
Khi Auto Syntax Check không bật lên, nêu ta viết 1 dòng chương trình như sau:
Form l.left =
rồi nhấn phím Enter. VB sẽ hiền thị dòng chương trinh sai với mầu đỏ. Tuy nhiên, nó không giải thích thêm và ta có thể tiếp tục gõ chương trình. Nếu Auto Syntax Check được bật lên, khi ta vừa nhấn phím Enter, VB lập tức cho ta biết một số thông tin về lỗi và hiển thị con trò ngay dòng
67
chương trình sai để chờ ta sửa. Trong trường hợp này, VB cần một giá trị bên phải dấu bằng.
2.4.2. Gỡ rối chương trình
Không một chương tình nào là không có lỗi. Tuy nhiên, giàm khả nàng lỗi đến mức tối thiểu là có thể làm được. Để có chương trình tốt, ta cần có thiết kế chặt chẽ. Sau đó, chương trình phải được viết sao cho có ít lỗi và nếu có thì dễ tìm.
2.4.2.1. Một số giải pháp giàm lỗi
• Thiết kế cẩn thận, ghi ra các vấn đề quan trọng và cách giải quyết cho từng phần. Ghi ra từng thủ tục và mục đích của nó.
• Chú thích rõ ràng trong chương trình
• Đối tượng có tham chiếu tường minh thay vì kiểu chung chung như Object, Control
• Tuân thủ Coding convention
• Một trong những nguyên nhân gây lỗi là gõ sai tên biến hoặc nhầm lẫn điều khiển. Dùng Option Explicit để tránh trường hợp này.
Đối tượng E rr
Là đối tượng do Visual basic cung cấp sẵn. Nó có vô số thuộc tính. Sau đây là những thuộc tính thông dụng:
Thuộc tính Giãi thích
Number Giá trị mặc định, số hiệu lỗi
Description Mô tả lỗi
Source Tên đối tượng gây ra lỗi
Gỡ rối
Có thể tạm dừng chương trình bằng cách chọn Break từ menu Run hoặc nhấn trên thanh công cụ, hoặc nhấn trên tổ hợp phím Ctrl-Break. Ta cũng có thể đặt dòng lệnh Stop trong chương trình nhưng sẽ có cách khác tốt hơn.
68
Cửa so Immediate
Immediate
Cửa sổ này cho phép ta xem các giá trị của các biến trong form khi ta gỡ rối.
C ửa sỗ W atch
Hiển thị các giá trị của một biến, thuộc tính hay biểu thức bất kỳ. Thậm chí có thể buộc chương trình tạm ngưng sau một số lần lặp.
Đi qua từng dòng chương trình
Thanh Debug
Thứ tự nút bấm từ trái sang phải như sau:
Start: thi hành chương trình
69
- Break: tạm dừng chương trình
End: Kết thúc chương trình
- Breakpoint: Điềm đánh dấu dòng lệnh để tạm dừng chuơng trinh. Nút này được sử dụng để bật tắt chế độ breakpoint. Khi có lỗi xảy ra và ta chưa khoanh được khu vực nghi ngờ, thì Breakpoint là giải pháp tốt nhất để cô lập vùng chương trình bị lỗi.
- Step Into: N ếu dòng lệnh hiện hành đang gọi một thủ tục, nhấn F8 sẽ nhảy vào bên trong thủ tục.
Step Over: Neu dòng lệnh hiện hành đang gọi một thù tục, nhấn Shipt-F8 sẽ chạy qua thủ tục.
Step Out: Nếu điểm dừng đang ờ trong một thủ tục, nhấn Ctrl-Shift-F8 sẽ chạy hết thủ tục và dừng ở dòng kế tiếp sau lệnh gọi thủ tục
2.4.2.2. Bay lỗi
Lệnh O n E rro r
Lệnh On Error dùng trong hàm hay thủ tục báo cho Visual basic biết cách xử ký khi lỗi xày ra.
On Error GoTo
Dùng On eưor Goto 0 tắt xử lý lỗi.
Nhưng nếu muốn lờ đi lỗi xảy ra và tiếp tục thực hiện chương trình ta viết
On Error Resume Next
70
CÂU HỎI ÔN TẬP CHƯƠNG 2
1. Các thành phần của inột dự án phần mềm trong VisualBasic? 2. Các bước để xây dựng một dự án phần mềm trong VisualBasic?
3. Khái niệm đối tượng (control) và một sổ thuộc tính cơ bản của đối tượng trong VisualBasic?
4. Trình bày về chức năng và các thuộc tính cơ bản của hộp văn bản TextBox? Viết một modul chương trình ví dụ?
5. Trình bày về chức năng và các thuộc tính cơ bản của đối tượng nhãn Label? Viết một modul chương trinh ví dụ?
6. Trình bày về chức năng và các thuộc tính cơ bàn cùa hộp menu đổ xuống ComboBox? Viết một modul chương trinh ví dụ?
7. Trình bày về chức năng và các thuộc tính cơ bản của hộp danh sách liệt kê ListBox? Viết một modul chương trinh ví dụ?
8. Trinh bày về chức năng và các thuộc tính cơ bản cùa hộp đánh dấu CheckBox? Viết một modul chương trình ví dụ?
9. Trinh bày về chức năng và các thuộc tính cơ bản của nút tùy chọn OptionButton? Viết một modul chương trình ví dụ?
10. Trình bày về chức năng và các thuộc tính cơ bản của nút lệnh CommandButton? Viết một modul chương trình ví dụ?
11. Trinh bày về chức năng và các thuộc tính cơ bàn của đối tượng lưới DataGrid? Viết một modul chương trinh ví dụ?
12. Trình bày về các kiểu dữ liệu thường dùng trong VisualBasic? Cho ví dụ?
13. Trình bày về quy cách, chức năng của câu lệnh rẽ nhánh (IF, SELECT CASE) trong VisualBasic? Cho ví dụ minh họa?
14. Trình bày về quy cách, chức năng của câu lệnh chu trình (FOR, DO WHILE) trong VisualBasic? Cho ví dụ minh họa?
71
CHƯƠNG 3
xnv DỰNG GIAO DlệN CỦA ỨNG DỤNG TRONG QUẢN IV
3.1. Menu
Menu hay còn gọi là thực đon đó là một bàng chứa danh sách các công việc hay chức năng mà người dùng có thể lựa chọn trong quá trình khai thác phần mềm ứng dụng.
Có 2 loại menu:
- Menu thà xuống (Drop-down menu): là dạng menu thông dụng nhất.
- Menu bật ra (Popup menu): thường hiển thị khi ta nhấn nút phải chuột.
Menu cũng là một loại điều khiển, nhưng windows sẽ kiểm soát việc vẽ menu. Lập trình viên chi quản lý phần xử lý các sự kiện m à thôi.
3.1.1. Dùng trình soạn thảo menu để tạo menu
Menu không chứa trong hộp công cụ như những điều khiển khác, mà được thiết kế bằng trình soạn thảo menu. Từ menu tools, chọn Menu editor
để mờ rộng chương trình này hoặc dùng Ctrl + E hoặc nhấn biểu tượng 1 9 trong menu của Visual basic.
Chú ý, nếu chưa có biểu mẫu thì biểu tượng này không xuất hiện trên thanh công cụ.
Các thuộc tính của menu
Thuộc tính của menu không chứa trong cửa sổ thuộc tính như các điều
khiển khác mà đặt ừong trinh soạn thảo menu.
Thuộc tính caption: Là chuỗi ký tự hiển thị trên menu.
Thuộc tính nam e: Phải được đặt duy nhất và dễ nhớ. Có 2 cách đặt tên:
- Nhóm các mục có cùng cha trên menu vào chung một dãy các điều khiển và dùng chung một tên. Cách này được Visual basic hết sức khuyến khích.
Mỗi mục có một tên riêng, nhưng nên bắt đầu bằng mnu. ví dụ mnuFile
Thuộc tính index: Dùng với dãy các điều khiển menu. Trong đó, vì có nhiều mục cùng tên nên index được dùng cho phân biệt giữa chúng với nhau.
Thuộc tính shortcut: Người sử dụng có thể nhấn chuột để chọn menu theo cách bình thường, hoặc dùng phím tắt. VD: nhấn Ctrl+C thay vì chọn Copy.
Thuộc tính W indow s list: dùng trong các ứng dụng MDI. Đây là những ứng dụng có một biểu mẫu chính và nhiều biểu mẫu con. Thuộc tính windowsList ra lệnh cho Visual basic hiển thị tiêu đề của các cửa sổ con trên menu.
Thuộc tính C hecked: Nếu chọn thuộc tính này, trên menu sẽ hiển thị một dấu bên canh. Tuy nhiên, thuộc tính này không được gán cho những mục menu đang chứa menu con.
Thuộc tính enable: Neu thuộc tính này không được chọn người sử dụng không thể chọn vào đó được.
Thuộc tính Visible: Nếu thuộc tính này không được chọn mục này sẽ biến mất khỏi màn hình.
Thuộc tính NegotiatePosition: Quản lý vị trí gắn menu trong trường hợp sử dụng các đối tượng ActivateX.
T ách nhóm m enu: Nếu menu có khá nhiều mục, tốt nhất ta nên chia chúng thành nhiều nhóm nhỏ.
73
Chú ý:
í9< Q u ản lý N hân sự
Hệ Thống Cập Nhập Quản lý nhẳn sự Chấm Công, Lương Ẽắo cắo TtợGiúp
M e n u E d ito r
' i, f "
Caption: I -
Name: Index:
I , V, ■...............=w s a ^ E 3 s S s t
I ,• ......................................... ....... Shortnjfe^|(None} . , . Ị Ị
- . ■ -2> N *1
I :% NegotiatePosition: J jo - None &l>
HelpContextlD: ỊÕ . N
Jed |7 Viable r* VMndovrfjst ,*• ’*i; • V ^ •
r* Checked r? Enabled [>
.Next .. I
Next I Insert Dáetè ' I -
18HỖ Thènq 8HÕ Thèng
■■■■Th«ng Tin Tụi Khoy
•••■Tho t
CẼP NhEp
■■•■PhSng ban
•— D©n téc
■ỉrẻỂẹgịíịy à KT « r -Ọ
■ ' * v- -vV*V>^ ^ B m s iS ss
+ Chúng ta sử dụng các nút mũi tên lên, xuống để di chuyển tới các menu được khai báo (1)
+ Ta sử dụng các nút mũi tên sang phải, sang trái để xác định cấp bậc cho menu. Menu cấp càng thấp thì càng về phía bên phải (1)
+ Muốn khai báo 1 đường kẻ để phân nhóm hệ thống menu: ta khai báo menu có caption = - (1 dấu gạch ngang) và vẫn phải khai báo tên cho n ó .(2)
+ Nên khai báo hệ thống menu tại form chính (MDIForm)
3.1.2. Viết chương trình điều khiển menu
Để lập trình cho menu, ta mở cửa sổ thiết kế biểu mẫu và nhấn chuột lên mục mà ta muốn xử lý.
74
3.1.2.1. Pop-up menu
V í dụ mẫu - tạo pop-up menu
Bạn tạo ra một menu file có Open, Save, Save as...
Mờ cửa sổ code, trong sự kiện mouseUp của biểu mẫu, đưa vào dòng lệnh
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
PopupMenu mnuFile, vbPopupMenuLeftAlign
End If
End Sub
Tắt thuộc tính Visible cua menu file.
Chạy chương trinh, khi ta nhấn chuột một menu pop-up sẽ hiển thị. 3.1.2.2. Menu thường
Viết lệnh để đáp ứng sự kiện được lựa chọn cho các menu cấp thấp nhất bàng cách tại cửa sổ thiết kế ta lựa chọn 1 dòng menu ta muốn lập trình. Xuất hiện cửa sổ lập trình, con ưỏ soạn thảo đang nằm tại 1 thù tục tương úng với sự kiện menu được chọn. Tại đây ta sẽ viết lệnh đáp ứng sự kiện này.
3.2. Hộp thoại
Hộp thoại (dialog) là một cửa sổ làm việc cùa phần mềm ứng dụng mà thông qua đó ủng dụng gừi đến người dùng những thông điệp hoặc để người dùng cập nhật thông tin hay là trá lời những câu hỏi tình huống có liên quan.
Có 4 kiểu hộp thoại:
- Thông điệp
- Hộp nhập
- Các hộp thoại thông dụng
Hộp thoại hiệu chỉnh.
75
3.2.1. Thông điệp (Message box)
Là dạng hộp thoại đơn giản nhất, gồm hai loại:
- Chi cung cấp thông tin
- Tương tác vói người sử dụng.
Quy cách:
MsgBoifPrompr [Btigọns As VbMsgBoiStyle - vtOKOnly]. [W e i IHelpFilel rConlexlD As VbMspBorflesun 1 Prompt: Là chuỗi ký tự (thông điệp) sẽ hiện ra
Buttons: quy định loại thông điệp. Xem lại bảng thông điệp bên dưới Title: Là tiêu đề của hộp thông điệp
Chiều dài thông điệp
Windows tự động cắt chuỗi khi nó quá dài, nhưng đôi khi việc này không đủng ý muốn của lập trình viên. Ta có thể làm bằng tay:
MsgBox “This is a multi-line” & chr$(10) & “message.”
Hàm chrSO trả về ký tự có mã ASCII là tham số truyền vào chr$(10) trả về dòng ký tụ mới.
Các loại thông điệp
Hằng số Thể hiện
vbOKOnly OK
vbOKCancel OK, Cancel
vbAbortRetrylgnore Abort, Retry, Ignore vbYesNoCancel Yes, No, Cancel
vbYesNo Yes, No
vbRetryCancel Retry, Cancel
Hộp thoại có tương tác với người dùng
Ta có thể viết theo dạng
If MsgBox ("Ban co thuc su muon xoa du lieu?", vbYesNo) = vbYes Then 76
'Thuc hien lenh xoa du lieu
E n d lf
P ro je c ll
• Bạn có thực M muán xóa dữ iịii?;
•S m w m m 5 .Z w m .
I Ỹ « Ị g ] -;f~- No I '■' ‘
3.2.2. Hộp nhập (Input box)
Input box ít được dùng. Lý do là:
Không có cách nào để kiểm định dữ liệu mà người sừ dụng đưa vào khi họ chưa nhấn Enter. Nếu dùng biểu mẫu do chính mình thiết kế, ta có thể đưa vào hộp văn bản và viết chương trinh để xử lý sự kiện liên quan đến việc kiểm tra dữ liệu mà với Input box không thể làm được.
InputBox chỉ cho người sừ dụng nhập rất ít thông tin. Muốn lấy ra được nhiều thông tin, nên dùng biểu mẫu tự thiết kế.
- Quy cách
liiputBoxlpro'mpt, [Titie], 1Default1, ỊXPosl, ỊVPosỊ, 1HelpFile]. [Cofiie/fj) As string 1 Prompt: Là chuỗi ký tự (thông điệp) sẽ hiện ra, đề nghị nhập dữ liệu Title: Là tiêu đề cùa hộp thông điệp
Default: Giá trị mặc định
Ví dụ:
x= InputBox(“Hãy nhập giá trị cùa x”)
P ro je ct!
Hay nhap gia tri c u a X OK I
■ Cancd
|4
77
3.2.3. Hộp thoại thông thường (common dialog)
Bạn có để ý thấy hầu như mọi ứng dụng trong Windows đều có cùng những dialogs để Open và Save files? Và hầu như tất cà programs đều có cùng dialogs để chọn màu, font chữ hay để in? Đó là vì các Dialogs thông dụng ấy thuộc về Common Dialog Library của MSW indows và cho phép các program gọi.
Muốn dùng các Dialogs ấy trong VB6 ta phải khai báo sử dụng thư viện điều khiển Comdlg32.ocx bằng IDE Menu command.
Project I C om ponents... rồi chọn và Apply M icrosoft Com m on Dialog Control 6.0.
Microsoft Common Dialog Control 6.0 cho ta sáu dạng Dialogs thông qua các method như sau:
Tên M ethod
Open File Show Open
Save File ShowSave
Color ShowCoIor
FontShow Font
Print Show Printer
Help ShowHelp
• O pen và Save File Dialogs
Bạn hãy mở một Project mới với một button tên CmđOpen trong Form l,
thêm điều khiển common dialog Vi và sử dụng đoạn code sau để điều khiển mở hộp thoại Open.
Private Sub Cm dO pen_Click()
On Error G oTo DialogError
With C om m onD ialogl
C ancelE rror = True ' G en erate Error num ber cdlC ancel if u se r click C ancel .InitDir = "E:\VB6" ’ Initial (i.e. default) Folder
78
‘Thiết lập thu’ mục mặc định cho hộp thoại Open là E:\VB6 .Filter = "E xecutables (*.exe) I *.exe| Batch Files (*.bat)| *.bat" ‘Thiết lập các phần mở rộng cùa tệp có thể đirợc hiển thị trong cửa sổ .Filterlndex = 1 ' S elect ""Executables (*.exe) I *.exe" a s default ‘ Thiết lập phần mở rộng mặc định cho các tệp hiển thị là *.exe . DialogTitle = "Select a program to run"
■ Thiết lập tiêu đề của hộp thoại Open
Show O pen ' Lauch th e O pen Dialog
‘ Ra lệnh mờ hộp thoại Open
MsgBox "You selected " & FileNam e, vbOKOnly + vblnformation, "Open Dialog"
' Lấy ra tên tệp đ ư ợ c lựa chọn thông qua thuộc tính FileN am e của hộp thoại
End With
Exit Sub
DialogError:
If Err.Number = cdlCancel Then
MsgBox "You clicked Cancel!", vbOKOnly + vblnformation, "Open Dialog” Exit Sub
Else
MsgBox "Error in Dialog's use: " & Err.Description, vbOKOnly + vbCritical, "Error"
Exit Sub
End If
End Sub
Bây giờ hãy chạy program lại và click button Open để hiển thị OpenDialog. 79
Select a program lo run
■ ■ in)£r\j •" Ejcorpdb
Q Threads
DocunenU ^
r f j j edlpucabjnet.exe
áỊJlmgX30.exe
Deĩklop ^ ' tQivbhdent6.exe: i t . - v s i V V. ' My Document*
My Computer
My Network [Exectiables (".exe)
•- Placet'MS
Batch Fites r.batl
Bạn có thể chọn folder nào tùy ý bằng cách di chuyển từ folder này qua folder khác hay thay đổi disk drive. Nếu bạn click vào bên phải của combobox File o f type, nó sẽ dropdown để cho thấy bạn có thể chọn một trong hai loại Files như liệt kê trong statement:
•Filter = "Executables (*.exe) I *.exe| Batch Files (*.bat)| *.bat"
Sau khi chọn một Filename có sẵn hay đánh một tên vào File nam e textbox, bạn click O pen. Sau đó, Com m onDialogl.Filename sẽ chứa tên file bạn đã chọn hay đánh vào.
O pen D ialog
Vi ta cho .CancelError = True nên nếu user click Cancel program sẽ