Phân tích thiết kế phần mềm

Phân tích thiết kế phần mềm

Giới thiệu về Phân tích thiết kế phần mềm Giới thiệu về Phân tích thiết kế phần mềm Giới thiệu về Phân tích thiết kế phần mềm Giới thiệu về Phân tích thiết kế phần mềm Giới thiệu về Phân tích thiết kế phần mềm 4.5/5 (28 reviews)

Giới thiệu về Phân tích thiết kế phần mềm

Đã đăng 2017-04-23 17:33:53 bởi Kteam
6 bình luận 10945 lượt xem
Giới thiệu về Phân tích thiết kế phần mềm 4.5 /5 stars (5 reviews)
 

Dẫn nhập

Để đảm bảo một phần mềm được tạo ra với chất lượng tốt nhất. Dễ dàng biết được sản phẩm sẽ tạo ra trước khi bắt tay vào những đoạn code đầu tiên. Hay để dễ dàng phát triển phần mềm ở những version sau. Thì việc  PHÂN TÍCH THIẾT KẾ PHẦN MỀM là cực kì quan trọng.

Chúng ta cùng nhau tìm hiểu về bộ môn Phân tích và thiết kế hệ thống cùng Kteam nhé.


Nội dung

Để đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:

  • Đã từng sử dụng qua vài phần mềm
  • Đã từng suy nghĩ đến việc cấu thành của một phần mềm ra sao
  • Biết sơ bộ về tư duy logic của lập trình
  • Biết sử dụng máy tính cũng như các công cụ thành thạo.

Trong bài học này, chúng ta sẽ cùng tìm hiểu các vấn đề:

  • Thế nào là phần mềm chất lượng
  • Quy trình phần mềm

Thế nào là một phần mềm chất lượng

Một phần mềm chất lượng cần đảm bảo các tiêu chí sau đây:

Tính đúng đắn

  • Đầy đủ: Đầy đủ các yêu cầu của khách hàng đưa ra. Đầy đủ yêu cầu của đặc tả mong muốn.
  • Chính xác: Chính xác những mong muốn từ đặc tả. Không thừa. Nếu mong muốn đưa ra những tính năng khác mà bản thân cho là phù hợp. Có thể gửi đề nghị cho khách hàng để thảo luận.

Tính tiện dụng

  • Dễ học: Dễ học cách sử dụng phần mềm.
  • Dễ sử dụng: Dễ dàng sử dụng phần mềm. Không có những luồng đi thừa, phức tạp không cần thiết.
  • Giao diện trực quan: Giao diện dễ dàng nắm bắt từ phía người dùng.
  • Tự nhiên: Thao tác với giao diện dễ dàng và tự nhiên. Như các tab của button tuần tự nhau. Hay tiện lợi như ô nhập password. Nếu không nhập thì sẽ hiển thị nội dung là nhập password…

Tính hiệu quả

  • Tối ưu CPU: Đảm bảo không lấy tài nguyên dư thừa dẫn đến chiếm dụng CPU. Không thao tác lặp lại thừa, xin và giải phóng bộ nhớ liên tục. Thuật toán tối ưu xử lý về tốc độ và tài nguyên.
  • Tối ưu bộ nhớ: Đảm bảo không xin cấp phát vùng nhớ vô tội vạ. Cấu trúc lưu trữ phù hợp.
  • Tối ưu thiết bị sử dụng: Phù hợp và mượt mà trên thiết bị chạy phần mềm. Không crash, giật lag…

Tính tương thích

  • Import/Export dữ liệu: Có thể dễ dàng nhập xuất dữ liệu để phần mềm thao tác cũng như người dùng sử dụng.
  • Tương tác: Đảm bảo tương tác với người dùng, hệ điều hành hợp lý. Không để xảy ra tình trạng đi ngược logic của hệ điều hành và thói quen của người dùng.

Tính tiến hóa

Là một trong các tính chất quan trọng nhất được quan tâm xem xét trong ngành Công Nghệ Phần mềm. Một phần mềm chỉ sử dụng được tại một thời điểm. Và không thể nâng cấp lên theo công nghê thì đó là một phần mềm tồi.

Tính dễ kiểm tra

Việc kiểm tra các thành phần phù hợp với yêu cầu phần mềm là dễ dàng nhất có thể được.

Tính dễ sửa lỗi

Khi có sự không phù hợp so với yêu cầu trong quá trình kiểm tra một thành phần. Việc phát hiện chính xác vị trí lỗi và sửa lỗi nhanh nhất có thể được.

Tính dễ bảo trì

Khi cần nâng cấp, cải tiến một thành phần theo yêu cầu mới. Việc cập nhật phần mềm là nhanh, chính xác nhất có thể được và đặc biệt là cố gắng hạn chế ảnh hưởng đến các thành phần khác.

Tính tái sử dụng

Các thành phần đã thực hiện có thể dùng lại trong các phần mềm cùng lớp hoặc cùng lĩnh vực với thời gian và công sức ít nhất có thể được.


Quy trình phần mềm

Chi phí sửa lỗi phát sinh tại giai đoạn càng sớm của quy trình phần mềm càng thấp.

Quy trình thác nước (Waterfall - Linear sequential model)

 

kteam, howkteam, phân tích thiết kế phần mềm, thiết kế cơ sở dữ liệu, quy trình phần mềm, how kteam, howkteam.com, quy trình thác nước,

kteam, howkteam, phân tích thiết kế phần mềm, thiết kế cơ sở dữ liệu, quy trình phần mềm, how kteam, howkteam.com, quy trình thác nước,

Đi qua các giai đoạn chính:

  • Khảo sát hiện trạng
  • Xác định yêu cầu
  • Phân tích
  • Thiết kế
  • Cài đặt
  • Kiểm chứng
  • Triển khai

Phải kết thúc giai đoạn rồi mới qua giai đoạn kế tiếp.

Lợi:

  • Dễ dàng nắm được toàn bộ thông tin của giai đoạn trước để thực hiện giai đoạn hiện tại.
  • Nhanh, gọn.

Hại:

  • Khi có lỗi ở giai đoạn trước đó. Sẽ rất khó để sửa lỗi. Hay phải tốn nhiều chi phí để sửa lỗi.

Quy trình thác nước cải tiến

kteam, howkteam, phân tích thiết kế phần mềm, thiết kế cơ sở dữ liệu, quy trình phần mềm, how kteam, howkteam.com, quy trình thác nước,

Đi qua các giai đoạn chính:

  • Khảo sát hiện trạng
  • Xác định yêu cầu
  • Phân tích
  • Thiết kế
  • Cài đặt
  • Kiểm chứng
  • Triển khai

Bản chất tương tự như mô hình thác nước. Nhưng có thể quay lại bước trước đó để hoàn thiện hay sửa lỗi rồi mới tiếp tục.

Lợi:

  • Dễ dàng nắm được toàn bộ thông tin của giai đoạn trước để thực hiện giai đoạn hiện tại.
  • Nhanh, gọn, giải quyết vấn đề của thác nước truyền thống là lỗi ớ bước trước thì có thể được quay lại sửa.

Hại:

  • Vẫn còn chưa tối ưu với những hệ thống dài hơi. Cần vừa triển khai vừa nghiên cứu.

Quy trình Prototype

kteam, howkteam, phân tích thiết kế phần mềm, thiết kế cơ sở dữ liệu, quy trình phần mềm, how kteam, howkteam.com, quy trình thác nước, quy trình prototype

kteam, howkteam, phân tích thiết kế phần mềm, thiết kế cơ sở dữ liệu, quy trình phần mềm, how kteam, howkteam.com, quy trình thác nước, quy trình prototype

Bản chất tương tự như mô hình thác nước. Nhưng sẽ có một vòng lặp tạo ra sản phẩm mẫu để đánh giá và xác định rõ yêu cầu. Khi đã đảm bảo yêu cầu sẽ bước vào phát triển phần mềm.

Lợi:

  • Có sản phẩm mẫu để đánh giá và xác định yêu cầu.
  • Phù hợp với những dự án vừa và nhỏ. Vẫn có thể dùng cho dự án lớn nhưng sẽ không tiện lợi bằng quy trình xoắn ốc.
  • Nếu sản phẩm mẫu làm tốt có thể giúp tăng tốc độ triển khai sản phẩm chính.

Hại:

  • Vẫn còn chưa tối ưu với những hệ thống dài hơi. Cần vừa triển khai vừa nghiên cứu.
  • Tốn chi phí tạo sản phẩm mẫu.

Quy trình xoắn ốc

kteam, howkteam, phân tích thiết kế phần mềm, thiết kế cơ sở dữ liệu, quy trình phần mềm, how kteam, howkteam.com, quy trình thác nước, quy trình prototype

kteam, howkteam, phân tích thiết kế phần mềm, thiết kế cơ sở dữ liệu, quy trình phần mềm, how kteam, howkteam.com, quy trình thác nước, quy trình prototype

kteam, howkteam, phân tích thiết kế phần mềm, thiết kế cơ sở dữ liệu, quy trình phần mềm, how kteam, howkteam.com, quy trình thác nước, quy trình prototype

Bản chất tương tự như mô hình Prototype. Nhưng sẽ là nhiều lần tạo ra các Prototype và sản phẩm. Mỗi lần như vậy sẽ được đánh giá hoàn thiện hay không. Và tiếp tục dựa trên sản phẩm đã hoàn thiện để thực hiện Prototype sau. Đến khi toàn bộ yêu cầu được hoàn thành. Hoặc có yêu cầu mới.

Lợi:

  • Có sản phẩm mẫu để đánh giá và xác định yêu cầu. Có thể triển khai với hệ thống lớn và những dự án chưa có yêu cầu rõ ràng.
  • Nếu sản phẩm mẫu làm tốt có thể giúp tăng tốc độ triển khai sản phẩm chính.

Hại:

  • Vẫn còn chưa tối ưu với những hệ thống dài hơi. Cần vừa triển khai vừa nghiên cứu.
  • Tốn chi phí tạo sản phẩm mẫu.
  • Không phù hợp với dự án nhỏ.

Kết luận

Qua bài này các bạn đã nắm được như thế nào là sản phẩm chất lượng và những quy trình cơ bản để tạo ra một sản phẩm phần mềm.

Bài sau chúng ta sẽ cùng tìm hiểu về SƠ ĐỒ USE – CASE.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”. 


Tài liệu 

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Giới thiệu về Phân tích thiết kế phần mềm dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên like hoặc +1 Google để ủng hộ Kteam và tác giả nhé! 


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng. 

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Giới thiệu về Phân tích thiết kế phần mềm
lannh14071982 2017-07-27 14:20:54

Có gì đó khác với bài viết tại wiki

https://vi.wikipedia.org/wiki/Quy_tr%C3%ACnh_ph%C3%A1t_tri%E1%BB%83n_ph%E1%BA%A7n_m%E1%BB%81m

1 bình chọn
Reply
View all 2 comments
Kteam - Howkteam Free Education
lannh14071982 2017-07-27 14:21:48
https://www.howkteam.com/course/phan-tich-thiet-ke-phan-mem/gioi-thieu-ve-phan-tich-thiet-ke-phan-mem-1414
0 bình chọn
Reply
Kteam - Howkteam Free Education
lannh14071982 2017-07-27 14:23:13
comment url tại đây không nhận kiểu utf-8
0 bình chọn
Reply
Giới thiệu về Phân tích thiết kế phần mềm
nnthuanit1 2017-05-06 07:46:48

Cám ơn về video và liệu mình có thể xin tài liệu file word không ?

email: nnthuanit1@gmail.com

cám ơn.

1 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
DG 2017-05-07 17:18:33
Hiện tại e xem trên web trước nhé, sau này sẽ có phiên bản pdf
0 bình chọn
Reply
Giới thiệu về Phân tích thiết kế phần mềm
DG 2017-04-25 03:09:33

Hay qá.

0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education