Chương I. Cơ sở và phương pháp luận cơ bản để xây dựng chương trình quản lý nhân sự.
Khi thập kỷ 1980 bắt đầu, một bài báo đăng trên trang nhất của tạp chí Business Week đã loan báo dòng tiêu đề sau: “Phần mềm : Lực điều khiển mới”. Phần mềm đã vào một thời đại - nó đã trở thành một chủ đề cho sự quan tâm của các tạp chí. Trong suốt giữa những năm 1980, bài báo bao quát trong tạp chí Fortune than thở về “Lỗ hổng lớn dần trong phần mềm”, và cuối thập kỷ thì tạp chí Business Week lại cảnh báo các
67 trang |
Chia sẻ: huyen82 | Lượt xem: 1597 | Lượt tải: 0
Tóm tắt tài liệu Phần mềm quản lý nhân sự, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
nhà quản lý về “Cái bẫy phần mềm - tự động hay cái gì khác”. Khi những năm 1990 bùng lên một bài báo chính trong tạp chí Newsweek đã hỏi “Liệu chúng ta có thể tin cậy vào phần mềm không?”. Còn tạp chí The Wall Street Journal lại kể một câu chuyện về công việc của một công ty phần mềm chủ chốt với bài đăng trên trang nhất nhan đề “Tạo ra phần mềm mới là nhiệm vụ thật khổ sở ...”. Những dòng tiêu đề khác giống chúng là lời báo hiệu cho một cách hiểu mới về tầm quan trọng của phần mềm máy tính - những cơ hội mà nó đem đến và những hiểm nguy mà nó đặt ra.
Phần mềm bây giờ đã vượt trội hơn phần cứng xem như điểm mấu chốt cho sự thành công của nhiều hệ thống dựa trên máy tính. Dù cho máy tính được dùng để vận hành một doanh nghiệp, kiểm soát một sản phẩm hay làm thành một hệ thống, phần mềm vẫn là nhân tố khác biệt. Tính đầy đủ và đúng thời hạn của thông tin do phần mềm cung cấp (và các cơ sở dữ liệu liên quan) làm khác biệt một công ty này với các đối thủ cạnh tranh với nó. Thiết kế và “tính thân thiện con người” của một sản phẩm phần mềm làm khác biệt nó với các sản phẩm cạnh tranh có chức năng tương tự khác. Sự thông minh và chức năng do phần mềm được nhúng trong đó đưa ra thường làm khác biệt hai sản phẩm tiêu thụ hay công nghiệp tương tự nhau. Chính phần mềm tạo sự khác biệt đó.
Khái niệm Công nghệ phần mềm.
Mặc dù sự ra đời của máy tính đã được gần nửa thế kỷ nhưng khái niệm công nghệ phần mềm chỉ mới xuất hiện trong khoảng thời gian gần đây khi phần mềm đã thực sự trở thành một ngành công nghiệp có vị trí đáng kể trong nền kinh tế quốc dân (Nền công nghệ phần mềm Mỹ có vị trí thứ 6 trong toàn bộ nền kinh tế Mỹ). Với quy mô sản xuất công nghiệp, phần mềm từ chỗ là công cụ phân tích và xử lý thông tin đã trở thành một ngành công nghiệp mũi nhọn. Môn học công nghệ phần mềm là một môn học tích hợp các phương pháp và công cụ để nghiên cứu quá trình sản xuất một phần mềm không phải ở quy mô học đường mà ở quy mô công nghiệp thương mại hoá trên thị trường.
Công nghệ phần mềm là một tổ hợp các công cụ, phương pháp và thủ tục làm cho người quản trị viên dự án nắm được xu thế tổng quát phát triển một phần mềm và giúp cho kỹ sư lập trình có một nền tảng để triển khai các định hướng của phần mềm. Như vậy khái niệm công nghệ phần mềm biểu diễn một cách trực quan qua hình vẽ sau:
CNPM
Chức năng
Thành phần
Quản trị viên dự án.
Kỹ sư phần mềm.
Công cụ
Phương pháp
Thủ tục
Quá trình phát triển một dự án phần mềm đều trải qua ba giai đoạn :
Giai đoạn 1: Giai đoạn xác định.
Giai đoạn 2: Giai đoạn phát triển.
Giai đoạn 3: Giai đoạn bảo trì.
Mô hình 3 giai đoạn là:
Xác định
Giai đoạn 1:
- Phân tích hệ thống.
- Kế hoạch.
Phát triển
- Phân tích yêu cầu.
Giai đoạn 2:
- Thiết kế.
Mã hoá.
Bảo trì
Kiểm thử.
Giai đoạn 3:
Bảo trì sửa đổi.
Bảo trì thích nghi.
Bảo trì hoàn thiện.
Khái niệm phần mềm:
Khái niệm phần mềm lâu nay thường được đồng nhất với khái niệm chương trình của máy tính ở mức độ nào đó điều này cũng đứng ở quy mô học đường. Trong công nghệ phần mềm chấp nhận định nghĩa sau đây của của một nhà tin học người Mỹ tên là Roger Pressman mà theo đó phần mềm trong công nghệ phần mềm được hiểu là một tập hợp gồm ba yếu tố: Các chương trình máy tính, các cấu trúc dữ liệu, hệ thống tài liệu hướng dẫn sử dụng. Định nghĩa này xác định thành phần của phần mềm trong công nghệ phần mềm, tổng quát và đầy đủ hơn nhiều so với khái niệm thông thường.
Phần mềm đã trải qua các công đoạn phát triển được biểu diễn trong bảng sau:
Thời kỳ 1950-1960
!960 - 1970
1970 - 1980
1990 trở đi
Tốc độ máy tính chậm.
Xử lý theo lô.
Phần mềm đơn chiếc.
Sản xuất cho nhóm người dùng.
Xử lý theo chế độ thời gian thực.
Thương mại hoá.
Hệ thống phân tán.
Hiệu quả thương mại.
Phần mềm thông minh.
Hệ thống để bàn.
Lập trình xử lý hướng đối tượng.
Xử lý song song.
Xem xét tiến trình phát triển của phần mềm xuất phát từ thời điểm năm 1950 khi lần đầu tiên trên thế giới xuất hiện hai chiếc máy tính ở Liên Xô và Mỹ.
3. Vòng đời phát triển của phần mềm.
Trong công nghệ phần mềm người ta đặc biệt quan tâm đến vấn đề vòng đời phát triển của phần mềm. Vòng đời của một phần mềm được hiểu là một quy trình từ khi phần mềm ra đời cho đến khi được đưa vào sử dụng và quá trình nâng cấp bảo trì phần mềm đó. Mục đích của việc nghiên cứu vòng đời phát triển phần mềm là phân ra thành các giai đoạn, trên cơ sở đó tìm giải pháp và công cụ thích hợp để tác động vào mỗi giai đoạn. Vòng đời phát triển của phần mềm được biểu diễn bằng một mô hình thác nước sau:
Công nghệ hệ thống
Phân tích
Thiết kế
Mã hoá
Kiểm thử
Bảo trì
Công đoạn đầu tiên là công nghệ hệ thống nó bao trùm toàn bộ các quá trình tiếp theo trong công nghệ phần mềm. Vì công nghệ phần mềm là một thành phần của hệ thống quản lý, do đó nó phải xem xét trong mối liên quan tổng thể về kinh tế, kỹ thuật, tổ chức của toàn bộ bộ máy quản lý.
Công đoạn tiếp theo là phân tích với mục đích xác định rõ ràng và cụ thể các yêu cầu của phần mềm.
Phần thiết kế trong công nghệ phần mềm hướng tới các vấn đề sau đây: Thiết kế kiến trúc hệ thống, thiết kế kỹ thuật. Phần thiết kế hệ thống là quan trọng nhất vì nó cho ta một cái nhìn tổng thể về phần mềm cần xây dựng còn thiết kế kỹ thuật đi vào các vấn đề cụ thể bao gồm : thiết kế dữ liệu, thiết kế các thủ tục, thiết kế công cụ cài đặt.
Mô hình thác nước biểu diễn vòng đời của chương trình với hai nghĩa sau:
- Để khẳng định đây là các giai đoạn của một quy trình thống nhất không tách rời và có mối liên quan mật thiết với nhau.
- Trong mô hình này các công đoạn càng ở phía dưới thì càng chịu sự tác động của tất cả các công đoạn ở phía trên chỉ trừ có công đoạn công nghệ hệ thống là không chịu sự tác động của bất cứ công đoạn nào.
4. Các đặc trưng của phần mềm.
A, Phần mềm được phát triển hay được công nghệ hoá, nó không được
chế tạo theo nghĩa cổ điển.
Mặc dầu có một số điểm tương đồng giữa phát triển phần mềm và chế tạo phần cứng, hai hoạt động này cơ bản là khác nhau. Trong cả hai hoạt động này, chất lượng cao được đạt tới thông qua thiết kế tốt, nhưng giai đoạn chế tạo phần cứng có thể đưa vào vấn đề chất lượng mà không tồn tại (hay dễ sửa đổi) cho phần mềm. Cả hai hoạt động này đều phụ thuộc vào con người, nhưng mối quan hệ giữa người được áp dụng và công việc được thực hiện là hoàn toàn khác nhau. Cả hai hoạt động đều đòi hỏi việc xây dựng sản phẩm nhưng cách tiếp cận hoàn toàn khác nhau.
B, Phần mềm không “hỏng đi”
Phần cứng trong quá trình sử dụng sẽ dẫn đến hao mòn và hỏng hóc. Việc hỏng hóc của phần cứng sẽ dẫn đến việc thay thế phần cứng mới nhưng phần mềm cũng có hỏng hóc nhưng việc cập nhật phần mềm giúp cho phần mềm ít bị hỏng hóc hơn so với phần cứng . Việc phần mềm hỏng hóc cũng là điều không thể tránh khỏi của bất kỳ sản phẩm nào vì thế cần sửa chữa kịp thời tránh gây tác hại xấu đến thông tin xử lý.
C. Phần lớn phần mềm đều được xây dựng theo đơn đặt hàng chỉ ít khi được lắp ráp từ các thành phần có sẵn.
5. Định nghĩa về thiết kế phần mềm.
Thiết kế là bước đầu tiên trong giai đoạn phát triển cho bất kỳ sản phẩm hay hệ thống công nghệ nào. Nó có thể được định nghĩa là: “... tiến trình áp dụng nhiều kỹ thuật và nguyên lý với mục đích xác định ra một thiết bị, một tiến trình hay một hệ thống đủ chi tiết để cho phép thực hiện nó về mặt vật lý.”
Mục tiêu thiết kế là để tạo ra một mô hình hay biểu diễn của một thực thể mà sau này sẽ được xây dựng. Tiến trình phát triển mô hình này tổ hợp trực giác và đánh giá dựa trên kinh nghiệm trong việc xây dựng các thực thể tương tự, một tâp các nguyên lý và hoặc các trực cảm hướng dẫn cách tiến triển mô hình này, một tập hợp các tiêu chuẩn để có thể đánh giá chất lượng, và một tiến trình lập lại để cuối cùng dẫn tới biểu diễn thiết kế chung cuộc.
Thiết kế phần mềm máy tính, giống như cách tiếp cận thiết kế công nghệ trong các lĩnh vực khác, liên tục thay đổi khi các phương pháp mới, cách phân tích tốt hơn và hiểu biết rộng hơn tiến hoá lên. Không giống như thiết kế cơ khí hay điện tử, thiết kế phần mềm có ở ngay giai đoạn tương đối sớm trong sự tiến hoá của nó. Chúng ta đã nêu ý tưởng nghiêm chỉnh về thiết kế phần mềm( như đối lập với “Lập trình hay viết mã”) chí ít cũng đã hơn ba thập kỷ nay. Do đó, phương pháp luận thiết kế phần mềm thiếu độ sâu, sự mềm dẻo và bản chất định tính mà thông thường có gắn với nhiều bộ môn thiết kế công nghệ cổ điển. Tuy nhiên, các kỹ thuật cho thiết kế phần mềm thì đã có, tiêu chuẩn về chất lượng thiết kế cũng có sẵn, và chúng ta có thể áp dụng được phương pháp công nghệ thiết kế .
5.1 Thiết kế phần mềm và công nghệ phần mềm.
Thiết kế phần mềm nằm ở trung tâm kỹ thuật của tiến trình công nghệ phần mềm và được áp dụng bất kể tới khuôn cảnh phát triển được sử dụng. Một khi các yêu cầu phần mềm đã được phân tích và đặc tả thì thiết kế phần mềm là một trong ba hoạt động kỹ thuật - thiết kế, lập trình và kiểm thử - những hoạt động cần để xây dựng và kiểm chứng phần mềm. Từng hoạt động này biến đổi thông tin theo cách cuối cùng tạo ra phần mềm máy tính hợp lệ.
Sơ đồ quy trình thiết kế:
Thiết kế
Lập trình
Kiểm thử
Thiết kế dữ liệu
Thiết kế thủ tục
Mô hình thông tin
Các yêu cầu khác
Mô hình chức năng
Thiết kế kiến trúc
Thiết kế kỹ thuật
Phần mềm đã tích hợp và kiểm thử
Mô hình hành vi
Mô đun chương trình
Luồng thông tin trong giai đoạn kỹ thuật này việc xây dựng phần mềm dựa trên các mô hình thông tin, chức năng và hành vi là đầu vào cho thiết kế. Bằng việc sử dụng một trong một số phương pháp thiết kế tạo ra thiết kế cơ sở dữ liệu, thiết kế kiến trúc, và thiết kế thủ tục. Thiết kế dữ liệu chuyển mô hình lĩnh vực thông tin đã được tạo ra trong bước phân tích các cấu trúc dữ liệu sẽ cần cho việc cài đặt phần mềm. Thiết kế kiến trúc định nghĩa ra mối quan hệ giữa các thành phần cấu trúc chính của chương trình. Thiết kế thủ tục biến đổi các thành phần cấu trúc thành mô tả thủ tục của phần mềm. Chương trình gốc được sinh ra rồi việc kiểm thử được thực hiện để tích hợp và làm hợp lệ phần mềm.
Thiết kế, lập trình và kiểm thử chiếm đến 75% hay hơn nữa của chi phí công nghệ phần mềm (trừ bảo trì). Chính tại bước này mà chúng ta quyết định rằng sự thành công của việc cài đặt phần mềm sẽ bị ảnh hưởng, và điều quan trọng là làm dễ dàng cho việc bảo trì phần mềm. Những quyết định này được thực hiện trong thiết kế phần mềm, làm cho nó thành bước thử nghiệm trong giai đoạn phát triển.
5.2 Tiến trình thiết kế.
Thiết kế phần mềm là một tiến trình qua đó các yêu cầu được dịch thành một biểu diễn phần mềm. Ban đầu biểu diễn mô tả cho quan điểm toàn bộ về phần mềm. Việc làm mịn tiếp sau dẫn tới một biểu diễn thiết kế rất gần với chương trình gốc.
Theo quan điểm quản lý dự án, thiết kế phần mềm được tiến hành theo hai bước. Thiết kế sơ bộ quan tâm với việc dịch các yêu cầu thành kiến trúc dữ liệu và phần mềm. Thiết kế chi tiết tập trung vào việc làm mịn biểu diễn thuật toán cho phần mềm.
Trong phạm vi thiết kế sơ bộ và chi tiết, có xuất hiện một số hoạt động thiết kế khá nhau. Bên cạnh việc thiết kế dữ liệu, kiến trúc và thủ tục, nhiều ứng dụng hiện đại có hoạt động thiết kế giao diện phân biệt. Thiết kế giao diện lập ra cách bố trí và cơ chế tương tác cho tương tác người – máy. Mối quan hệ giữa các khía cạnh kỹ thuật và quản lý của thiết kế được minh hoạ trong hình sau:
5.3 Thiết kế dữ liệu.
Thiết kế dữ liệu là hoạt động thiết kế đầu tiên trong ba hoạt động thiết kế được chỉ đạo trong công nghệ phần mềm. Tác động của cấu trúc dữ liệu lên cấu trúc chương trình và độ phức tạp thủ tục làm cho thiết kế dữ liệu có một ảnh hưởng sâu xa tới chất lượng phần mềm. Từng phương pháp thiết kế có những ưu nhược điểm riêng. Tuỳ theo từng yêu cầu của phần mềm mà lựa chọn phương pháp khác nhau.
5.4 Thiết kế kiến trúc.
Mục tiêu chủ yếu của thiết kế kiến trúc là phát triển một cấu trúc chương trình mô đun và biểu diễn mối quan hệ điều khiển giữa các mô đun. Bên cạnh đó thiết kế cấu trúc còn trộn lẫn cấu trúc chương trình và cấu trúc dữ liệu, xác định các giao diện làm cho dữ liệu chảy qua toàn bộ chương trình.
5.5 Thiết kế thủ tục.
Thiết kế thủ tục xuất hiện sau khi cấu trúc dữ liệu và cấu trúc chương trình được thiết lập. Trong thế giới lý tưởng, đặc tả thủ tục yêu cầu việc định nghĩa ngôn ngữ tự nhiên, như Tiếng Việt. Sau hết , các thành viên của tổ chức phát triển phần mềm đều nói cùng ngôn ngữ tự nhiên (ít nhất cũng về lý thuyết) những người bên ngoài lĩnh vực phát triển phần mềm có thể dễ dàng hiểu đặc tả hơn và không cần phải học điều mới.
5.6 Các tiêu chuẩn thiết kế phần mềm.
Hiện tại có một số hướng dẫn sau về tiêu chuẩn thiết kế phần mềm:
Thiết kế nên nêu ra cách tổ chức theo cấp bậc để dùng cách kiểm soát thông minh trong số các thành phần phần mềm.
Thiết kế nên theo các mô đun (như chương trình con hay thủ tục) nêu ra các đặc trưng chức năng đặc biệt.
Thiết kế nên chứa cách biểu diễn phân biệt và tách biệt giữa dữ liệu và thủ tục.
Thiết kế nên dẫn tới giao diện làm rút gọn độ phức tạp của việc nối ghép giữa các mô đun với môi trường bên ngoài.
Thiết kế nên được hướng theo cách dùng một phương pháp lặp lại được điều khiển bởi thông tin có trong phân tích các yêu cầu phần mềm.
5.7 Dàn bài đặc tả thiết kế .
I.Phạm vi.
A. Mục tiêu hệ thống.
B. Phần cứng, phần mềm và giao diện con người.
C. Các chức năng của phần mềm chính.
D. Cơ sở dữ liệu được xác định bên ngoài.
E. Các rằng buộc, giới hạn thiết kế chính.
II. Tài liệu tham khảo.
Tài liệu phần mềm hiện có.
Tài liệu hệ thống.
Tài liệu người cung cấp (Phần cứng và phần mềm).
Tham khảo kỹ thuật.
III. Mô tả thiết kế.
Mô tả dữ liệu
Tổng quan về luồng dữ liệu.
Tổng quan về cấu trúc dữ liệu.
Cấu trúc chương trình suy diễn.
Giao diện bên trong cấu trúc.
IV. Mô đun; Cho từng mô đun:
Lời thuật xử lý.
Mô tả giao diện.
Mô tả ngôn ngữ thiết kế( hay những mô tả khác)
Các mô đun đã dùng.
Tổ chức dữ liệu.
Bình luận
V. Cấu trúc tệp và dữ liệu toàn cục.
A. Cấu trúc tệp ngoài
1. Cấu trúc lôgíc
2. Mô tả bản ghi lôgíc
3. Phương pháp thâm nhập.
B. Dữ liệu toàn cục
C. Tham khảo chéo tệp và dữ liệu.
VI. Tham khảo chéo yêu cầu.
VII. Điều khiển kiểm thử.
Hướng dẫn kiểm thử.
Chiến lược tích hợp.
Xem xét đặc biệt.
VIII. Đóng gói
Các điều khoản cho chương trình chồng chất đặc biệt.
Xem xét chuyển đổi.
IX. Lưu ý đặc biệt.
X. Phụ lục.
6. Ngôn ngữ lập trình và lựa chọn ngôn ngữ giải bài toán.
Tất cả các bước công nghệ phần mềm đã được trình bày cho đến điểm này đều trực tiếp hướng tới mục tiêu cuối cùng: dịch biểu diễn của phần mềm thành một dạng máy tính có thể hiểu được. Cuối cùng đó là bước lập trình – một tiến trình chuyển đổi thiết kế vào trong ngôn ngữ lập trình. Gerald Weinberg đã diễn tả đã tả ý nghĩa đúng của lập trình khi ông viết: “... khi chúng ta nói tới máy tính thì bất hạnh là chúng ta thường nói theo giọng điệu khác ...”
Tuy kỹ thuật thế hệ thứ tư đang làm thay đổi cách hiểu về thuật ngữ “ngôn ngữ lập trình”. Thay vì lập trình, người phát triển một số lớp thế hệ thông tin quản lý(và lĩnh vực có giới hạn của các ứng dụng kĩ nghệ và khoa học ) bây giờ có thể mô tả các kết quả mong muốn, thay vì thủ tục mong muốn, trong ngôn ngữ phi thủ tục. Chương trình gốc trong ngôn ngữ lập trình quy ước sau đó được sinh ra một cách tự động.
Tuy nhiên đại đa số các ứng dụng phần mềm vẫn còn nằm ngoài tầm của cách tiếp cận thế hệ thứ tư. Với hiện tại, các ngôn ngữ lập trình vẫn là các ngôn ngữ lập trình nhân tạo như ADA, PASCAL, C ...
Khi được xét như một bước trong tiến trình kỹ nghệ phần mềm, việc lập trình được coi như một hệ quả tự nhiên của thiết kế. Tuy nhiên các đặc trưng ngôn ngữ lập trình và phong cách lập trình có thể ảnh hưởng sâu sắc tới chất lượng và tính dễ bảo trì của phần mềm.
a, Tiến trình dịch
.
Bước lập trình dịch một biểu diễn thiết kế chi tiết của phần mềm thành việc thể hiện bằng ngôn ngữ lập trình. Tiến trình dịch tiếp tục khi trình biên dịch chấp nhận chương trình gốc làm cái vào và tạo ra chương trình đích là cái ra. Cái ra của trình biên dịch lại được dịch thêm lần nữa thành mã máy – các lệnh thực tại điều khiển các mạch lôgíc vi lập trình trong đơn vị xử lý trung tâm.
Bước dịch khởi đầu – từ thiết kế chi tiết sang ngôn ngữ lập trình là mối quan tâm chủ yếu trong hoàn cảnh công nghệ phần mềm. Việc hiểu không đúng về đặc tả thiết kế chi tiết có thể dẫn tới chương trình gốc có lỗi. Độ phức tạp hay hạn chế của ngôn ngữ lập trình có thể dẫn đến chương trình gốc xoắn xít đến mức khó mà kiểm thử và bảo trì. Tinh vi hơn, các đặc trưng của ngôn ngữ lập trình có thể ảnh hưởng đến cách ta nghĩ, khi phổ biến các thiết kế phần mềm và cấu trúc dữ liệu có giới hạn không cần thiết. Các đặc trưng ngôn ngữ có tác động lên chất lượng và tính hiệu quả của việc dịch.
b, Các đặc trưng ngôn ngữ lập trình.
Ngôn ngữ lập trình là phương tiện để liên lạc giữa con người và máy tính. Tiến trình lập trình – sự liên lạc thông qua ngôn ngữ lập trình – là một hoạt động con người. Hiểu theo cách thông thường các đặc trưng tâm lý của một ngôn ngữ có một tác động quan trọng lên chất lượng của liên lạc. Tiến trình lập trình cũng có thể được coi như một bước trong tiến trình công nghệ phần mềm. Các đặc trưng công nghệ của ngôn ngữ có thể ảnh hưởng tới chất lượng của thiết kế chi tiết( nhớ lại rằng việc thực hành thường qui định rằng thiết kế chi tiết cần được hướng tới một ngôn ngữ lập trình riêng). Do đó, các đặc trưng kỹ thuật có thể ảnh hưởng tới mối quan tâm của cả con người và công nghệ phần mềm.
*Cách nhìn tâm lý.
Một số đặc trưng tâm lý xuất hiện như kết quả của thiết kế ngôn ngữ lập trình. Mặc dù những đặc trưng này không đo được theo bất kỳ cách thức định lượng nào nhưng thừa nhận biểu hiện của chúng trong mọi ngôn ngữ lập trình.
- Tính đồng đều chỉ ra mức độ theo đó ngôn ngữ dùng ký pháp nhất quán, áp dụng các hạn chế dường như tuỳ ý và hỗ trợ cho các ngoại lệ cú pháp và ngữ nghĩa đối với quy tắc.
- Tính mơ hồ trong ngôn ngữ lập trình được người lập trình cảm nhận. Trình biên dịch bao giờ cũng diễn giải một câu lệnh theo một cách, nhưng con người có thể hiểu câu lệnh đó theo cách khác. Tại đây có sự mơ hồ về tâm lý.
- Tính gọn gàng của ngôn ngữ lập trình là một chỉ dẫn về khối lượng thông tin hướng chương trình mà trí nhớ con người phải ghi nhớ.
- Tính cục bộ là đặc trưng toàn thái của ngôn ngữ lập trình. Tính cục bộ được làm nổi bật khi các câu lệnh có thể được tổ hợp thành các khối, khi các kết cấu có cấu trúc có thể được cài đặt trực tiếp, và khi thiết kế và chương trình gốc đều mang tính mô đun và cố kết cao độ. Một đặc trưng ngôn ngữ hỗ trợ hay khuyến khích cho xử lý biệt lệ đều vi phạm tính cục bộ này.
- Tính tuyến tính là một đặc trưng tâm lý có liên quan chặt chẽ với khái niệm bảo trì của lĩnh vực chức năng. Tức là, nhận biết con người được thuận lợi khi gặp một dãy tuyến tính các thao tác lôgíc. Những nhánh nhảy xa (và, với một mở rộng nào đó, các chu trình lớn) vi phạm tính tuyến tính của xử lý.
* Mô hình cú pháp/ ngữ nghĩa.
Shneiderman đã phát triển một mô hình cú pháp – ngữ nghĩa cho tiến trình lập trình có liên quan đến việc xem xét các bước lập trình. Khi người lập trình áp dụng các phương pháp công nghệ phần mềm( như phân tích yêu cầu, thiết kế) vốn độc lập với ngôn ngữ lập trình thì động tới vấn đề tri thức ngữ nghĩa. Tri thức ngữ nghĩa mặt khác lại là độc lập với ngôn ngữ, tập trung vào các đặc trưng của một ngôn ngữ xác định.
Về các kiểu tri thức này, tri thức ngữ nghĩa là khó thu nhận được hơn cả và đòi hỏi dùng nhiều trí tuệ. Tất cả các bước công nghệ phần mềm trước phần lập trình đều dùng rất nhiều tri thức ngữ nghĩa. Bước lập trình áp dụng tri thức cú pháp vốn là “bất kỳ và theo lệnh” được học theo kiểu vẹt. Khi học một ngôn ngữ lập trình mới tương tự nhưng không tương đương với cú pháp ngôn ngữ đó. Tuy nhiên khi học một ngôn ngữ mới các lập trình viên cần học cú pháp và ngữ nghĩa của ngôn ngữ đó.
* Một cách nhìn công nghệ.
Cách nhìn công nghệ phần mềm về các đặc trưng của ngôn ngữ lập trình tập trung vào nhu cầu xác định dự án phát triển phần mềm riêng. Mặc dù vậy vẫn cần các yêu cầu riêng tư cho chương trình gốc, có thể thiết lập được một tập hợp tổng quát những đặc trưng công nghệ : (1) Dễ thiết kế để dịch chương trình, (2) Trình biên dịch hiệu quả, (3) Khả chuyển chương trình gốc, (4) Có sẵn công cụ phát triển, và (5) Dễ bảo trì.
6.1 Ngôn ngữ lập trình và công nghệ phần mềm.
Bất kể đến khuôn cảnh công nghệ phần mềm, ngôn ngữ lập trình sẽ có tác động tới việc vạch kế hoạch dự án, phân tích, thiết kế, lập trình, kiểm thử, bảo trì. Nhưng vai trò của ngôn ngữ lập trình phải được giữ theo viễn cảnh. Ngôn ngữ không đưa ra các phương tiện cho việc dịch người – máy; tuy thế, chất lượng của kết quả cuối cùng có liên hệ chặt chẽ hơn với các hoạt động công nghệ phần mềm trước và sau khi lập trình.
Trong khi lập kế hoạch dự án, hiếm khi tiến hành xem xét các đặc trưng kỹ thuật của ngôn ngữ lập trình. Tuy nhiên, việc lập kế hoạch cho các công cụ hỗ trợ có liên quan tới định nghĩa tài nguyên cần có, nó thể yêu cầu rằng một chương trình biên dịch chuyên dụng( và phần mềm liên kết) hay môi trường lập trình được xác định. Ước lượng về chi phí và lịch biểu có thể yêu cầu điều chỉnh đường cong học hỏi do nhân viên chưa có kinh nghiệm với một ngôn ngữ mới.
Một khi các yêu cầu phần mềm đã thiết lập thì các đặc trưng của ngôn ngữ lập trình ứng cử viên trở thành quan trọng hơn. Nếu cần tới các cấu trúc dữ liệu phức tạp thì ngôn ngữ với sự hỗ trợ cho các cấu trúc dữ liệu phức tạp (như PASCAL hay một ngôn ngữ khác) nên được tính tới một cách cẩn thận. Nếu cần khả năng hiệu năng cao, thời gian thực thì ngôn ngữ được thiết kế chuyên về thời gian thực hoặc hiệu quả về bộ nhớ có thể được xác định.
Chất lượng của thiết kế phần mềm được thiết lập theo cách độc lập với các đặc trưng ngôn ngữ lập trình.Tuy nhiên thuộc tính ngôn ngữ đóng một vai trò trong chất lượng của thiết kế được cài đặt và ảnh hưởng ( cả có ý thức lẫn vô thức) tới cách thiết kế được xác định.
6.2 Nền tảng của ngôn ngữ lập trình.
Các đặc trưng kỹ thuật của ngôn ngữ lập trình trải rộng lên vô số chủ đề từ lý thuyết (như lý thuyết và đặc tả ngôn ngữ hình thức) tới thực chứng (như so sánh chức năng của các ngôn ngữ chuyên dụng).
a, Kiểu dữ liệu và định kiểu dữ liệu.
Ngày nay, lợi ích của ngôn ngữ lập trình được đáng giá không chỉ ở cú pháp và sự phóng khoáng của các kết cấu thủ tục của nó. Định kiểu đữ liệu, và các kiểu dữ liệu đặc biệt được ngôn ngữ lập trình hỗ trợ là khía cạnh quan trọng của chất lượng ngôn ngữ.
Pratt mô tả kiểu dữ liệu và định kiểu dữ liệu là: “... Một lớp các sự vật dữ liệu cùng với một tập các phép toán để tạo ra và thao tác trên chúng.” Một sự vật dữ liệu kế thừa một tập hợp các thuộc tính nền tảng của kiểu dữ liệu mà nó thuộc vào. Một sự vật dữ liệu có thể lấy một giá trị nằm bên trong miền giá trị hợp lệ cho kiểu dữ liệu đó và có thể bị các phép toán của kiểu dữ liệu đó thao tác.
Các kiểu dữ liệu đơn trải trên một miền rộng bao gồm các kiểu số (như số nguyên, phức, số phẩy động), kiểu liệt kê (như kiểu dữ liệu do người dùng định nghĩa trong PASCAL hay C), kiểu boolean (như true hay false, yes hay no) và kiểu xâu String( như dữ liệu chữ số). Các kiểu dữ liệu phức tạp hơn bao gồm các cấu trúc dữ liệu trải qua hết từ mảng một chiều đơn giản (vec tơ) cho tới cấu trúc danh sách tới các mảng và bản ghi đa tạp phức tạp.
Các phép toán có thể được thực hiện trên một kiểu dữ liệu đặc biệt và theo cách thức mà trong đó các kiểu khác nhau có thể thao tác trong cùng câu lệnh sẽ được điều khiển bởi việc kiểm tra kiểu vốn được cài đặt bên trong trình biên dịch hay thông dich ngôn ngữ lập trình. Fairley định nghĩa năm mức kiểm tra kiểu thường gặp phải trong các ngôn ngữ lập trình:
Mức 0: Phi kiểu.
Mức 1: Bó buộc kiểu tự động.
Mức 2: Kiểu hỗn hợp.
Mức 3: Kiểm tra kiểu giả mạnh.
Mức 4: Kiểm tra kiểu mạnh.
b, Chương trình con.
Chương trình con là một thành phần chương trình dịch được tách biệt có chứa dữ liệu và cấu trúc điều khiển. Trong đó bất kể đến tên của chương trình con hay mô đun hay thủ tục, hàm hay bất kỳ tên gọi đặc biệt nào thì nó vẫn biểu lộ một cách đặc trưng tổng quát: (1)Phần mô tả có chứa tên của nó và mô tả giao diện; (2) Phần cài đặt có chứa dữ liệu và cấu trúc điều khiển; (3) Một cơ chế kích hoạt làm cho chương trình con được gọi từ một nơi nào đó khác trong chương trình.
c, Cấu trúc điều khiển.
Tại mức cơ bản mọi ngôn ngữ lập trình hiện đại đều cho phép người lập trình biểu diễn sự tuần tự, tuyển chọn và lặp – các kết cấu lôgíc lập trình có cấu trúc. Phần lớn các ngôn ngữ hiện đại đều đưa ra một cú pháp cho đặc tả trực tiếp về lệnh if-then-else, do-while, và repeat-until (cũng như case).
Bên cạnh các kết cấu thủ tục cơ sở của lập trình có cấu trúc, các cấu trúc điều khiển khác cũng có thể của nó. Đệ qui tạo ra sự kích hoạt lần thứ hai của chương trình con trong lần kích hoạt lần thứ nhất. Tức là chương trình con gọi tới hay kích hoạt bản thân nó như một phần của thủ tục đã xác định. Tương tranh đưa ra sự hỗ trợ cho việc tạo ra nhiều nhiệm vụ, đồng bộ hoá các nhiệm vụ này và liên lạc nói chung giữa các nhiệm vụ ấy. Tính năng ngôn ngữ này là vô giá khi phải thực hiện các ứng dụng hệ thống hay thời gian thực. Khiển giải biệt lệ là tính năng ngôn ngữ lập trình đặt bẫy các điều khiển lỗi hệ thống hay của người dùng rồi truyền điều khiển cho bộ phân khiển giải biệt lệ để xử lý.
d, Hỗ trợ cho cách tiếp cận hướng sự vật.
Về lý thuyết, việc tạo ra các sự vật và kết cấu của phần mềm hướng sự vật có thể được thực hiện bằng cách dùng bất kì ngôn ngữ lập trình qui ước nào. Nhưng trong thực tế, việc hỗ trợ cho các cách tiếp cận hướng sự vật nên được xây dựng trực tiếp bên trong ngôn ngữ lập trình sẽ được dùng để cài đặt thiết kế hướng sự vật.
6.3 Các lớp ngôn ngữ lập trình.
Có hàng trăm ngôn ngữ lập trình đã được sử dụng vào lúc này lúc khác những nỗ lực phát triển phần mềm nghiêm chỉnh. Ngay cả một thảo luận chi tiết về năm ngôn ngữ thông dụng nhất cũng nằm ngoài phạm vi bài này.
Bất kỳ một phân loại ngôn ngữ lập trình nào vẫn là vấn đề để mở cho tranh luận. Trong nhiều trường hợp, một ngôn ngữ lập trình có thể nằm hợp lệ trong nhiều phạm trù. Vì vậy minh hoạ cho các lớp ngôn ngữ lập trình ta có hình sau.
Ngôn ngũ thế hệ thứ ba
Vạn năng
Chuyên dụng
Hướng sự vật
Ngôn ngữ thế hệ hai
1960
1970
1980
1990
2000
Ngôn ngữ thế hệ bốn
6.4 Giới thiệu về Visual Basic.
Visual Basic là sản phẩm của hãng Microsoft và nó được tích hợp trong bộ Microsoft Visual Studio, ra đời từ năm 1991 và tới năm 1998 ra đời bộ Visual studio 98 (Visual Basic 6.0), sau đó phiên bản kế tiếp là bộ Visual Studio .Net là bộ công cụ chuyên để xây đựng các ứng dựng Web.
Visual Basic là ngôn ngữ lập trình hướng sự kiện và cho phép lập trình hướng đối tượng để xây dựng các ứng dụng hoạt động trong môi trường Windows.
Visual Basic là ngôn ngữ hỗ trợ việc lập trình với tính trực quan cao.
Visual Basic cung cấp nhiều công cụ để cho phép kết nối và khai thác dữ liệu ở nhiều hệ quản trị cơ sở dữ liệu khác nhau.
a, Các thành phần trong giao diện phát triển của Visual Basic.
- Của sổ thiết kế Form: Là nơi thiết kế các giao diện thực hiện các chức năng của ứng dụng.
- Cửa sổ dự án: Là nơi chứa tất cả những thành phần của dự án phần mềm thông qua đó có thể truy xuất tới mọi đối tượng là thành phần của dự án bằng cách nháy kép chuột vào tên mỗi đối tượng ở trong cửa sổ dự án.
- Cửa sổ thuộc tính: Là nơi hiển thị và cho phép thay đổi các thuộc tính của một đối tượng nằm trên giao diện thiết kế.
- Hộp công cụ: Là nơi chứa các đối tượng sử dụng để thiết kế nên các giao diện.
- Cửa sổ lập trình: Là nơi để viết mã nguồn chương trình để thực hiện các chức năng của phần mềm.
- Thanh công cụ và thanh menu: Là nơi chứa danh mục các chức năng cùng với các nút bấm để truy xuất nhanh tới các chức năng liên quan đến việc phát triển ứng dụng.
b, Các thành phần của một dự án.
- Form: Là hệ thống các giao diện giao tiếp thực hiện các chức năng của dự án.
- Cơ sở dữ liệu: Là nơi chứa và quản lý các dữ liệu đầu vào cũng như đầu ra của phần mềm.
- Module: Là nới chứa các hàm hay thủ tục thực hiện một chức năng nào đó và có thể đựôc chia sẻ sử dụng từ các thành phần của dự án thậm chí la giữa các dự án với nhau.
- Report: Là nơi hiển thị kết quả đầu ra của dự án phần mềm.
c, Các bước thực hiện để xây dựng một dự án phần mềm trong Visual Basic.
Bước 1: Xây dựng giao diện chính và hệ thống thực đơn chức năng.
Bước 2: Thiết kế các biểu mẫu thành phần tương ứng với các chức năng của dự án.
Bước 3: Thiết kế và xây dựng kết nối với cơ sở dữ liệu.
Bước 4: Lập trình thực hiên chức năng hiển thị và cập nhật dữ liệu.
Bước 5: Lập trình thực hiện chức năng tìm kiếm dữ liệu.
Bước 6: Thiết kế các mẫu báo cáo và lập trình thực hiện chức năng in báo cáo.
Bước 7: Lập trình thực hiện chức năng đăng nhập hệ thống, quản lý và phân quyền người sử dụng.
Bước 8: Lập trình thực hiện chức năng sao lưu và phục hồi dữ liệu.
Bước 9: Thiết kế và xây dựng tài liệu trợ giúp sử dụng phần mềm.
Bước 10: Đóng gói và tạo bộ cài đặt cho phần mềm.
Chương II. Tổng quan về cơ quan thực tập và lý do chọn đề tài.
A. Tổng quan về cơ quan.
1.Giới thiệu chung:
Cơ quan thực tập Ngân hàng nông nghiệp và phát triển nông thôn cấp 3 Ngọc Tảo, Phúc Thọ , Tỉnh Hà Tây.
Số điện thoại liên hệ : 034.649607
Mã số thuế : 0301471228-001-1
Lịch sử hình thành và phát triển của doanh nghiệp:
- Cơ quan được thành lập năm 1988, là phòng giao dịch Ngọc Tảo trực thuộc Ngân hàng Huyện Phúc Thọ. Theo quyết định 499/TDNN ký ngày 12/7/1991 về việc thành lập chi nhánh cho vay hộ sản xuất kinh doanh đã đổi thành ngân hàng cấp 3 Ngọc Tảo với địa bàn 6 xã phía Đông của huyện.
- Ngân hàng được thành lập đứng trước tình hình kinh tế chung của xã hội là thời kỳ kinh tế xã hội đang trong giai đoạn khủng hoảng lạm phát cao kinh tế đời sống nhân dân kém phát triển, tình trạng cờ bạc gia tăng, nhận thức người dân và một bộ phận cán bộ công nhân viên chức nhà nước về ngân hàng còn yếu kém. Phòng giao dịch Ngọc Tảo cũng nằm trong số đó.
- Do mới đầu thực hiện cho vay hộ sản xuất kinh doanh nên giai đoạn._.
Các file đính kèm theo tài liệu này:
- 32224.doc