+ Tính nhìn thấy được của các đối tượng quan tâm
+ Gia tăng hoạt động trên giao diện với phản hồi nhanh chóng của mọi hành động. mọi hành động.
+ Thay thế ngôn ngữ dòng lệnh phức tạp bởi các hành động nhằm điều khiển trực tiếp các đối tượng thấy được. điều khiển trực tiếp các đối tượng thấy được.
- Thiết kế lặp và mẫu thử
+ Quá trình thiết kế nhằm khắc phục tính cố hữu của đặc tả không đầy đủ. Có 3 kỹ thuật mẫu thử đầy đủ. Có 3 kỹ thuật mẫu thử
Tung ra (Throw away) : các mẫu thử được xây dựng và kiểm thử kiểm thử
Gia tăng (Incremental) : sản phẩm cuối cùng được xây dựng như các thành phần riêng biệt, mỗi thành phần ở một dựng như các thành phần riêng biệt, mỗi thành phần ở một thời điểm.
Tiến hóa (Evolutionary) : mẫu thử không bị hủy bỏ mà được dùng như là một cơ sở cho lần lặp tiếp theo. được dùng như là một cơ sở cho lần lặp tiếp theo. - Thiết kế các thành phần tiến trình nghiệp vụ :
+ cho phép một chuỗi các công việc có thể quay lui hoặc hủy bỏ. + có thể được dùng lại. + có thể được dùng lại.
+ phải có sự tương ứng giữa các thành phần giao diện với các thành phần tiến trình
26.Đặc điểm mô hình hóa thiết kế dữ liệu mức khái niệm (conceptual data modeling)
Conceptual Data Model
Đặc điểm thiết kế mô hình hóa dữ liệu mức khái niêm bao gồm:
• Bao gồm các thực thể quan trọng và mối quan hệ giữa các thực thể đó. • Không có các thuộc tính được chỉ rõ • Không có các thuộc tính được chỉ rõ
• Không có khóa chính được chỉ rõ
Kiểu mô hình hóa dữ liệu này thường được dùng như sự trung gian kết nỗi giữacác thực thể và giải thích cách mà dữ liệu được lưu trữ. các thực thể và giải thích cách mà dữ liệu được lưu trữ.
Mặc dù thiết kế mô hình hóa dữ liệu không nhất thiết là phụ thuộc vào các chuẩn.Nhưng phải chắc chắn rằng nó phải tuân theo ít nhất 2 dạng thông thường: dạng Nhưng phải chắc chắn rằng nó phải tuân theo ít nhất 2 dạng thông thường: dạng thứ nhất (1NF) và dạng thứ 2 (2NF).
The first normal form 1NF
Luật cơ bản tổ chức cơ sở dữ liệu
• Loại trừ các cột giống nhau trong cùng một bảng.
• Tạo các bảng riêng biệt cho mỗi nhóm có dữ liệu liên quan and nhậndạng dòng có cột đặc biệt hoặc tập các cột đặc biệt để tạo khóa (the dạng dòng có cột đặc biệt hoặc tập các cột đặc biệt để tạo khóa (the primary key).
The second normal form 2NF
Trình bày thêm về các vấn đề lược bỏ dữ liệu trùng lặp• Tụ họp tất cả các yêu cầu của 1NF. • Tụ họp tất cả các yêu cầu của 1NF.
• Lược bỏ các tập con của dữ liệu màRemove subsets of data that áp dụngcho nhiều dòng của bảng và đặt chúng vào các bảng đặc biệt. cho nhiều dòng của bảng và đặt chúng vào các bảng đặc biệt.
• Tạo một quan hệ mới giữa các bảng mới này và bảng được kế thừa thông qua khóangoài (foreign keys). ngoài (foreign keys).
Tớ mai đi có việc nên 0 làm được, có điều vẫn tranh thủ làm một câu cho kịp. Tuy vậy để tránhtrùng lặp nên mình làm từ dưới lên. trùng lặp nên mình làm từ dưới lên.
32.Nêu các kỹ thuật thiết kế bảo mật cho ứng dụng (Nguyễn Tiến Thành)
Để thiết kế một ứng dụng có tính bảo mật, bạn phải đảm bảo các kỹ thuật sau trong khi thiết kế:1. Phải tin tưởng vào các hệ thống đã được kiểm tra và qua thử thách: Bất kì khi nào 1. Phải tin tưởng vào các hệ thống đã được kiểm tra và qua thử thách: Bất kì khi nào
có thể, bạn phải tin tưởng vào các hệ thống đã được kiểm tra và qua thử thách hơn là đềra các giải pháp của riêng bạn. Dùng các giải thuật đã được qua thử thách trong công ra các giải pháp của riêng bạn. Dùng các giải thuật đã được qua thử thách trong công nghiệp, đảm bảo tính kỹ thuật, và được hỗ trợ ở nền tảng tốt. Đặc biệt những hệ thống kiểu vậy đã được nhà cung cấp kiểm thử và có hỗ trợ về mặt kỹ thuật. Nếu bạn quyết định phát triển 1 hệ thống của riêng bạn, thì nên xác nhận rằng các kế hoạch và kỹ thuật của bạn đã được các chuyên gia kiểm tra và hãy đánh giá lại về mức độ bảo mật của tổ chức của bạn trước và sau khi thực thi các giải pháp.
2. Không bao giờ tin tưởng vào các đầu vào từ bên ngoài: Bạn phải xác thực về tất cảcác dữ liệu đã được đưa vào bởi người dùng hoặc các thiết bị. các dữ liệu đã được đưa vào bởi người dùng hoặc các thiết bị.
3. Giả định rằng các hệ thống bên ngoài là không an toàn: Nếu ứng dụng của bạn nhậnđược các dữ liệu không được mã hóa, dễ tổn thương từ các hệ thống bên ngoài, phải xem được các dữ liệu không được mã hóa, dễ tổn thương từ các hệ thống bên ngoài, phải xem như các thông tin ấy đã bị xâm phạm.
4. Đảm bảo nguyên lý về việc ít quyền nhất: Với một tài khoản, đừng cho phép nhiềuquyền hạn quá mức cần thiết. Việc truy xuất các tài nguyên ở một tài khoản nên có các quyền hạn quá mức cần thiết. Việc truy xuất các tài nguyên ở một tài khoản nên có các quyền hạn ít nhất.
5. Giảm các thành phần và dữ liệu hiện có: Hãy cố giảm bớt các thành phần và dữ liệumà bạn hiện có trên ứng dụng của mình. Để bạn có thể tập trung vào các chức năng mà mà bạn hiện có trên ứng dụng của mình. Để bạn có thể tập trung vào các chức năng mà bạn cho rằng phải sử dụng đến.
6. Mặc định ở chế độ bảo mật: Không cho phép các dịch vụ, các tài khoản, và các kỹthuật mà bạn thấy rõ ràng là không cần thiết. Khi bạn triển khai ứng dụng trên client và thuật mà bạn thấy rõ ràng là không cần thiết. Khi bạn triển khai ứng dụng trên client và server, thì các cấu hình mặc định của ứng dụng phải được bảo mật.
7. Không tin tưởng vào các biện pháp bảo mật mà ít tiếng tăm. Mã hóa dữ liệu phải cócác khóa và giải thuật đã qua thử thách. Các dữ liệu mật phải được lưu trữ với các biện các khóa và giải thuật đã qua thử thách. Các dữ liệu mật phải được lưu trữ với các biện pháp ngăn ngừa truy xuất ở mọi tình huống. Các biện pháp đơn giản, thì không được coi là bảo mật.
8. Nguyên lý theo dõi STRIDE: STRIDE là viết tắt của Nhận diện sự giả mạo (spoofingidentity) , Sự lục lọi (tampering), Sự từ chối tuân theo các luật định (repudiation), sự identity) , Sự lục lọi (tampering), Sự từ chối tuân theo các luật định (repudiation), sự phơi bày thông tin (information disclosure), từ chối dịch vụ (denial of service), tìm cách tăng quyền hạn (elevation of privilege). Đó là tập hợp các mối nguy hiểm về bảo mật mà hệ thống cần bảo vệ nó chống lại chúng.
33. Nêu các kỹ thuật đảm bảo chất lượng phần mềm ở giai đoạn thiết kế
Để đảm bảo chất lượng phần mềm ở giai đoạn thiết kế, ta cần thực hiện các kĩ thuật sau:Đảm bảo độ chính xác, tin cậy của các yêu cầu phần mềm trong tài liệu. Đảm bảo độ chính xác, tin cậy của các yêu cầu phần mềm trong tài liệu.
Sử dụng một cơ sở hạ tầng kĩ thuật tốt.Đưa cả các thông tin về quản lí vào. Đưa cả các thông tin về quản lí vào. Sử dụng kĩ thuật dư thừa.
Sử dụng các công cụ phát triển chất lượng
Sử dụng các công cụ kiểm tra tin cậy được cung cấp theo ứng dụngSử dụng cơ chế xử lí lỗi thích hợp Sử dụng cơ chế xử lí lỗi thích hợp
Giảm số lượng chức năng của ứng dụng thay vì hoàn thiện các khuyết điểm của ứngdụng. dụng.
34. Nêu các đặc điểm trong giai đoạn ổn định và giai đoạn triển khai
1.Giai đoạn ổn định:
Một trong các đặc điểm của giai đoạn này là cường độ công việc của đội thực hiện dự ángiảm dần xuống trong khi công việc về quản lý sản phẩm tăng lên. Đội phát triển dự án giảm dần xuống trong khi công việc về quản lý sản phẩm tăng lên. Đội phát triển dự án chuẩn bị tạm dừng công việc của mình để chuyển sang giai đoạn phục vụ và hỗ trợ. Chuẩn bị source-code cho việc bảo trì và phát triển trong tương lai. Trong khi đội quản lý sản phẩm phải tăng cường các công việc của mình, chuẩn bị để triển khai sản phẩm. 2.Giai đoạn triển khai:
Đội dự án triển khai sản phẩm tới khách hàng. Sau đó đội quản lý sản phẩm phải thườngxuyên theo dõi những phản ứng và tiếp thu những phản hồi từ phía khách hàng. Đội dự xuyên theo dõi những phản ứng và tiếp thu những phản hồi từ phía khách hàng. Đội dự án đồng thời phải sẵn sang cho việc giải quyết các vấn đề phát sinh.
Kiến trúc phần mềm cho một hệ thống đóng vai trò trung tâm trong việc phát triển hệthống và trong các tổ chức đã tạo ra kiến trúc đó. Nó cung cấp kế hoạch từng giai đoạn thống và trong các tổ chức đã tạo ra kiến trúc đó. Nó cung cấp kế hoạch từng giai đoạn cho cả hệ thống và cho đội dự án đang phát triển nó. Nó cho thấy sự phân công công việc phải được hoàn thành bởi các đội dự án phân tích và thực thi. Đồng thời nó có còn là thước đo chất lượng dự án: hiệu năng, khả chuyển, và an toàn.
Kiến trúc phần mềm là công cụ để phân tích từ sơ khai, đảm bảo cho thiết kế sẽ có thểcho ra một hệ thống chấp nhận được. Có thể coi đây là phần kết dính, kết hợp tất cả các cho ra một hệ thống chấp nhận được. Có thể coi đây là phần kết dính, kết hợp tất cả các pha trong dự án lại với nhau cho tất cả các stakeholder của chúng.
Chính vì tầm quan trọng của đặc tả phần mềm: một kiến trúc hoàn hảo nhưng thậm chícũng trở nên vô dụng nếu tất cả mọi người đều không hiểu được nó cũng trở nên vô dụng nếu tất cả mọi người đều không hiểu được nó