Tải bản đầy đủ (.doc) (68 trang)

Phân tích thiết kế hệ thống xây dựng chương trình quản lý nhân sự

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (767.72 KB, 68 trang )

Chuyên đề thực tập tốt nghiệp 32 Khoa Tin học kinh tế
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 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 đó.
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 33 Khoa Tin học kinh tế
1. 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:
Nguyễn Anh Tuấn Lớp Tin học 45B
CNPM
Chuyên đề thực tập tốt nghiệp 34 Khoa Tin học kinh tế
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à:
Giai đoạn 1:
- Phân tích hệ thống.
- Kế hoạch.
- Phân tích yêu cầu.
Giai đoạn 2:
- Thiết kế.
- Mã hoá.

Nguyễn Anh Tuấn Lớp Tin học 45B
Thành phần
Công cụ
Phương pháp
Thủ tục
Chức năng
Quả
n trị
viên
dự
án.
Kỹ

phần
mềm
.
Xác định
Phát triển
Chuyên đề thực tập tốt nghiệp 35 Khoa Tin học kinh tế
- 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.
2. 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.
Nguyễn Anh Tuấn Lớp Tin học 45B
Bảo trì
Chuyên đề thực tập tốt nghiệp 36 Khoa Tin học kinh tế
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:
Nguyễn Anh Tuấn Lớp Tin học 45B
Công
nghệ hệ
Phân tích
Thiết
kế

hoá
Kiể
m
Bảo trì

Chuyên đề thực tập tốt nghiệp 37 Khoa Tin học kinh tế
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
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 38 Khoa Tin học kinh 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ể
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 39 Khoa Tin học kinh tế
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ệ.

Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 40 Khoa Tin học kinh tế
Sơ đồ quy trình thiết kế:
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

Nguyễn Anh Tuấn Lớp Tin học 45B
Thi
ết
Lập
trìn
Kiể
m
Thiết kế dữ liệu
Thiết
kế thủ
Mô hình
thông
Các yêu
cầu
Mô hình
chức năng
Thiết kế
kiến
Thiết kế
kỹ thuật
Phần mềm đã
tích hợp và
Mô hình
hành vi
Mô đun
chương trình
Chuyên đề thực tập tốt nghiệp 41 Khoa Tin học kinh tế
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:
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 42 Khoa Tin học kinh tế
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
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 43 Khoa Tin học kinh tế
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.
Nguyễn Anh Tuấn Lớp Tin học 45B

Chuyên đề thực tập tốt nghiệp 44 Khoa Tin học kinh tế
A. Tài liệu phần mềm hiện có.
B. Tài liệu hệ thống.
C. Tài liệu người cung cấp (Phần cứng và phần mềm).
D. Tham khảo kỹ thuật.
III. Mô tả thiết kế.
A. Mô tả dữ liệu
a. Tổng quan về luồng dữ liệu.
b. Tổng quan về cấu trúc dữ liệu.
B. Cấu trúc chương trình suy diễn.
C. Giao diện bên trong cấu trúc.
IV. Mô đun; Cho từng mô đun:
A. Lời thuật xử lý.
B. Mô tả giao diện.
C. Mô tả ngôn ngữ thiết kế( hay những mô tả khác)
D. Các mô đun đã dùng.
E. Tổ chức dữ liệu.
F. 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ử.
A. Hướng dẫn kiểm thử.
B. Chiến lược tích hợp.
C. Xem xét đặc biệt.

VIII. Đóng gói
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 45 Khoa Tin học kinh tế
A. Các điều khoản cho chương trình chồng chất đặc biệt.
B. 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.
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 46 Khoa Tin học kinh tế

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
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 47 Khoa Tin học kinh tế
đặ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.
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 48 Khoa Tin học kinh tế
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ế,
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 49 Khoa Tin học kinh tế
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).
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 50 Khoa Tin học kinh tế
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.
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 51 Khoa Tin học kinh tế
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ý.
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 52 Khoa Tin học kinh tế
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.
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 53 Khoa Tin học kinh tế
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.
Nguyễn Anh Tuấn Lớp Tin học 45B
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Ö mét
Ng«n ng÷ thÕ hÖ
hai
1960 1970 1980 1990 2000
Ng«n ng÷ thÕ hÖ
bèn
Chuyên đề thực tập tốt nghiệp 54 Khoa Tin học kinh tế
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.
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 55 Khoa Tin học kinh tế
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.
Nguyễn Anh Tuấn Lớp Tin học 45B
Chuyên đề thực tập tốt nghiệp 56 Khoa Tin học kinh tế
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
1992 – 2000 về chất lượng tín dụng còn yếu kém tỷ lệ nợ quá hạn quá cao
Nguyễn Anh Tuấn Lớp Tin học 45B

×