Xây dựng phần mềm là gì






Phương pháp hướng dữ liệu







Phương pháp hướng đối tượng



Phương pháp tổ chức quản lý





Xây dựng phương án







Tổ chức nhân sự







Ước lượng rủi ro, chi phí







Lập và theo dõi kế hoạch triển khai.



Trong phần tiếp theo của giáo trình này, chúng ta chỉ quan tâm đến các phương pháp

xây dựng. Về phương pháp tổ chức quản lý chúng ta có thể tham khảo trong giáo trình Quản

lý dự án xây dựng các hệ thống thông tin.



3.2. Các phương pháp xây dựng phần mềm

3.2.1. Cách tiếp cận

a] Từ trên xuống

Đây là cách giải quyết vấn đề theo hướng phân tích. Khi tiến hành xây dựng phần mềm

theo cách này, chúng ta bắt đầu với những thành phần chính của hệ thống. Sau đó, các thành

phần này sẽ được phân tích thành các thành phần chi tiết và cụ thể hơn. Quá trình phân tích

này sẽ kết thúc khi các kết quả thu được có mức độ phức đạp đúng với ý muốn của nhà xây

dựng phần mềm.

b] Từ dưới lên

Ngược lại với phương pháp từ trên xuống, phương pháp từ dưới lên là cách giải quyết

vấn đề theo hướng tổng hợp. Với phương pháp này, chúng ta tiến hành xây dựng những thành

phần chi tiết, cụ thể mà mà chúng ta dự tính là sẽ có trong hệ thống. Sau đó, các nhà phát

triển phần mềm sẽ tiến hành kết hợp các thành phần chi tiết này lại với nhau để tạo nên các

thành phần chính mà hệ thống cần phải có.



20



3.2.2. Cách tiến hành

a] Phương pháp hướng chức năng

Với phương pháp này công việc xây dựng phần mềm được thực hiện dựa trên các chức

năng mà hệ thống cần thực hiện. Hay nói cách khác chúng ta chú trọng đến thành phần xử lý

của hệ thống:





Các thao tác tính toán







Các thao tác phát sinh







Các thao tác biến đổi.



Phương pháp chung để giải quyết vấn đề là áp dụng nguyên lý chia để trị. Khi tiến

hành xây dựng phần mềm theo phương pháp này, chúng ta sẽ chia các công việc lớn mà hệ

thống cần thực hiện hành các công việc nhỏ hơn độc lập nhau. Việc phân chia các công việc

được tiến hành cho đến khi các công việc thu được đủ nhỏ để chúng ta có thể tiến hành xây

dựng hoàn chỉnh. Hình dưới: Minh họa cách tiếp cận theo hướng chức năng.



Phương pháp hướng chức năng chú trọng đến cách để giải quyết vấn đề nhưng không

có khả năng che dấu các thông tin trạng thái của hệ thống. Điều này dẫn đến việc các chức

năng trong hệ thống không tương thích với nhau trong việc thực hiện thay đổi các thông tin

trong hệ thống. Chính vì vậy mà cách tiếp cận này chỉ thích hợp khi trong hệ thống có rất ít

thông tin cần phải quản lý và chia sẻ giữa các chức năng với nhau. Để mô hình hóa cách xử

lý thông tin trong hệ thống dùng lược đồ dòng dữ liệu [Data Flow Diagrams].

DFD là một công cụ đơn giản và hữu ích để miêu tả cách thức hoạt động của hệ thống.

DFD sử dụng các ký hiệu sau để mô tả hệ thống:





Ô vuông có góc tròn được dùng để biểu diễn các chức năng của hệ thống.



21







Ô vuông dùng để biểu diễn thành phần dữ liệu trong hệ thống.







Hình tròn dùng để biểu diễn các thành phần bên ngoài có giao tiếp với hệ thống.







Dấu mũi tên dùng để biểu diễn hướng di chuyển của dữ liệu.







Các từ khóa and và or dùng để liên kết các dòng dữ liệu khi cần thiết.



b] Phương pháp hướng dữ liệu

Ngược lại với phương pháp hướng chức năng, phương pháp hướng dữ liệu chú trọng

nhiều đến thành phần dữ liệu cần phải xử lý trong hệ thống:





Tổ chức dữ liệu







Khối lượng lưu trữ







Tốc độ truy xuất











Khi tiến hành thiết kế theo phương pháp hướng dữ liệu chúng ta bắt đầu với việc thiết

kế các cấu trúc dữ liệu cần thiết có trong bài toán, sau đó mới tiến hành thiết kết các thao tác

để vận hành trên các cấu trúc dữ liệu đã thiết kế.



22



Phương pháp này đặc biệt chỉ thích hợp trong các loại phần mềm chỉ có chức năng

chính là lưu trữ và thao tác trên các loại dữ liệu. Hạn chế của nó là không quan tâm đến các



chức năng mà hệ thống cần phải đáp ứng. Điều này dẫn đến việc có khả năng hệ thống sau

khi thiết kế không có đầy đủ các chức năng cần thiết.

Kết quả thu được sau khi thiết kế theo phương pháp hướng dữ liệu là mô hình thực thể

kết hợp [Entity Relationship Diagram]. Một mô hình thực thể kết hợp điển hình gồm có 2

thành phần cơ bản: các thực thể và các mối kết hợp.





Một thực thể là một đối tượng trong thế giới thực mà hệ thống có quan hệ, hoặc

tương tác qua lại. Các thực thể được biểu diễn trong sơ đồ bằng các hình vuông

cùng với tên và có thể có thêm các thuộc tính của thực thể.







Mối kết hợp biểu diễn sự kết hợp giữa hai hay nhiều thực thể. Mỗi mối kết hợp

gồm có ba thành phần cơ bản:

Mối kết hợp giữa các thực thể được biểu diễn băng một đường thẳng nối

giữa hai thực thể.

Tên của môi liên hệ dùng để miêu tả ý nghĩa của mối liên hệ.

Bản số ở hai đầu của mối kết hợp dùng để xác định con số tối đa và tối

thiểu các thực thể liên quan đến mối kết hợp.



c] Phương pháp hướng đối tượng

Phương pháp thiết kế hướng đối tượng là sự kết hợp của phương pháp hướng dữ liệu và

phương pháp hướng chức năng. Phương pháp này chú trọng đến cả thành phần dữ liệu và

chức năng của hệ thống.

Theo phương pháp hướng đối tượng thì một hệ thống phần mềm là một tập hợp các đối

tượng có khả năng tương tác với nhau. Các đối tượng chính là các sự vật và hiện tượng vật lý

cũng như trừu tượng mà chúng ta có trong thế giới thực. Mỗi đối tượng có dữ liệu riêng được

che dấu với thế giới bên ngoài và các thao tác mà đối tượng có thể thực hiện trên các thành

phần dữ liệu của đối tượng.



23



Các đối tượng liên lạc, trao đổi thông tin với nhau bằng cách gửi các thông điệp cho

nhau. Các thông điệp mà mỗi đối tượng có thể xử lý được gọi là giao diện của đối tượng. Khi

đó mọi thao tác liên quan đến các đối tượng được phải thực hiện thông qua giao diện của đối

tượng. Điều này giúp chúng ta đảm bảo rằng các thông tin bên trong các đối tượng đưọc bảo

vệ một cách chắc chắn.

Chúng ta có thể sử dụng nhiều hệ thống ký hiệu khác nhau để mô tả các đối tượng của

hệ thống cũng như mối liên hệ giữa chúng. Một trong số các hệ thống ký hiệu phổ biến hiện

nay là hệ thốnng ký hiệu UML.



4. CÔNG CỤ VÀ MÔI TRƯỜNG PHÁT TRIỂN PHẦN MỀM

4.1. Mở đầu

4.1.1. Khái niệm

Các công cụ và môi trường phát triển phần mềm là các phần mềm hỗ trợ chính người

phát triển trong quá trình xây dựng phần mềm. Các phần mềm này có tên gọi chung là CASE

[Computer Aided Software Engineering] tools.

Trong quá trình phát triển phần mềm theo các quy trình trên, các CASE tools có thể hỗ

trợ cụ thể cho một giai đoạn nào đó hay cũng có thể hỗ trợ một số giai đoạn, trong trường hợp

này tên gọi chung thường là môi trường phát triển phần mềm-SDE [Software Development

Environment].

Việc hỗ trợ của các CASE tools trong một giai đoạn bao gồm 2 hình thức chính:

- Cho phép lưu trữ, cập nhật trên kết quả chuyển giao với một phương pháp nào đó.

- Cho phép phát sinh ra kết quả chuyển giao cho giao đoạn kế tiếp.



4.2. Phần mềm hỗ trợ thực hiện các giai đoạn

4.2.1. Phần mềm hỗ trợ phân tích

- Công việc hỗ trợ chính

o Soạn thảo các mô hình thế giới thực

o Ánh xạ vào mô hình logic

- Các phần mềm: WinA&D, Analyst Pro,



4.2.2. Phần mềm hỗ trợ thiết kế

- Công việc hỗ trợ chính

o Soạn thảo các mô hình logic



24



o Ánh xạ vào mô hình vật lý

- Các phần mềm: QuickUML, Power Designer, Oracle Designer



4.2.3. Phần mềm hỗ trợ lập trình

- Công việc hỗ trợ chính

o Quản lý các phiên bản [Dữ liệu, chương trình nguồn, giao diện]

o Biên dịch

- Các phần mềm: Visual Studio, Visual Basic, Visual C++



4.2.4. Phần mềm hỗ trợ kiểm chứng

- Công việc hỗ trợ chính

o Phát sinh tự động các bộ dữ liệu thử nghiệm

o Phát hiện lỗi

- Các phần mềm: WinRuner



4.3. Phần mềm hỗ trợ tổ chức, quản lý việc triễn khai

4.3.1. Xây dựng phương án

- Công việc hỗ trợ chính

o Tạo lập phương án

o Dự đoán rủi ro

o Tính chi phí

- Các phần mềm: MS Project, Visio



4.3.2. Lập kế hoạch

- Công việc hỗ trợ chính

o Xác định các công việc

o Phân công

o Lập lịch biểu

o Theo dõi thực hiện

- Các phần mềm: MS Project, Visio



25



Video liên quan

Chủ Đề