Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
1,12 MB
Nội dung
CHƢƠNG 7: THIẾT KẾ CHI TIẾT * Chủ đề: _ Thiết kế hƣớng đối tƣợng sử dụng UML _ Mẫu thiết kế; _ Phát triển mã nguồn mở; _ số vấn đề khác 1:Thiết kế thực - trang _ Thiết kế thực phần mềm giai đoạn q trình cơng nghệ phần mềm mà hệ thống phần mềm thực thi đƣợc phát triển _ Hoạt động thiết kế thực phần mềm bất biến + Thiết kế phần mềm hoạt động sáng tạo bạn xẽ định nghĩa thành phần phần mềm mối quan hệ chúng, dựa yêu cầu ngƣời đặt hàng + Hiện thực phần mềm trình thực thiết kế chƣơng trình 2: Xây dựng mua (build and buy) - trang _ Trong phạm vi rộng lớn lĩnh vực, mua hệ thống để thích ứng phù hợp với yêu cầu ngƣời dùng + Ví dụ, muốn thực hệ thống ghi tên thuốc, mua gói đƣợc sử dụng bệnh viện, rẻ nhanh sử dụng phần mềm so với việc phát triển hệ thống ngơn ngữ lập trình thơng thƣờng _ Khi bạn phát triển ứng dụng theo cách này, trình thiết kế trở nên liên quan với việc sử dụng cấu hình hệ thống nhƣ để cung cấp yêu cầu cho hệ thống 3: Quá trình thiết kế hƣớng đối tƣợng - trang _ Cấu trúc trình thiết kế hƣớng đối tƣợng bao gồm phát triển số mơ hình hệ thống khác _ Chúng u cầu nhiều phép thử cho phát triển bảo trì mơ hình đó, cho mơ hình nhỏ phƣơng pháp khơng đem lại hiệu chi phí _ Tuy nhiên, cho chƣơng trình lớn phát triển nhiều nhóm thiết kế mơ hình chế để trao đổi, giao tiếp với nhóm hiệu quan trọng 4: Các bƣớc trình (process) - trang 6: _ Có loạt q trình thiết kế hƣớng đối tƣợng khác mà phụ thuộc vào tổ chức sử dụng trình _ Hoạt động chung trình bao gồm: + Xác định ngữ cảnh thức việc sử dụng hệ thống + Thiết kế kiến trúc hệ thống + Xác định nguyên lý hệ thống đối tƣợng + Phát triển mơ hình thiết kế + Đặc tả giao diện đối tƣợng _ Quá trình minh họa sử dụng thiết kế cho 5:Ngữ cảnh tƣơng tác hệ thống - trang _ Hiểu đƣợc mối quan hệ hệ thống đƣợc thiết kế môi trƣờng bên ngồi chất cho việc định làm để cung cấp chức hệ thống yêu cầu làm để cấu trúc hệ thống có thê giao tiếp với mơi trƣờng _ Hiểu đƣợc ngữ cảnh giúp bạn tạo đƣợc ranh giới hệ thống Tạo ranh giới hệ thống giúp bạn định đƣợc đặc trƣng đƣợc thực hệ thống đƣợc thiết kế đặc trƣng đƣợc kết hợp hệ thống 6: Mơ hình ngữ cảnh mơ hình tƣơng tác - trang _ Mơ hình ngữ cảnh hệ thống mơ hình cấu trúc mà biểu diễn hệ thống khác môi trƣờng hệ thống đƣợc phát triển _ Mơ hình tƣơng tác mơ hình động mà biểu diễn làm để hệ thống tƣơng tác với môi trƣờng nhƣ cách mà đƣợc sử dụng 7:Mơ tả use case báo cáo thời tiết (example usecase) - trang 11 System Use case Actors (đối tƣợng) Description Trạm khí tƣợng thủy văn ( weather station) KH: ws Báo cáo thời tiết Hệ thống thông tin thời tiết trạm khí tƣợng thủy văn Ws gửi tổng kết liệu thời tiết mà họ thu thập đƣợc từ thiết bị giai đoạn thu thập thông tin cho hệ thống thông tin thời tiêt Dữ liệu gửi max, min, trung bình group nhiệt độ khơng khí.max, giá trị trung bình áp suất, max, min, giá trị trung bình tốc độ gió, lƣợng mƣa trung bình hƣớng gió đƣợc thu thập sau khoảng giây Stimulus (kích Hệ thống thơng tin thời tiết xây dựng đƣờng giao tiếp vệ tinh với thích, tác động) ws yêu cầu chuyển giao liệu Response Dự liệu tổng hợp đƣợc gửi đến hệ thống thông tin thời tiết Comment(ghi Ws thƣờng đƣợc yêu cầu báo cáo lần/ nhƣng tần số khác từ chú) trạm so với trạm khác đƣợc bổ xung tƣơng lai 8: Thiết kế kiến trúc - trang 12 _ Một tƣơng tác hệ thống mơi trƣờng đƣợc hiểu rõ, bạn sử dụng thơng tin để thiết kế kiến trúc hệ thống _ Bạn xác định thành phần tạo nên hệ thống vào mối tƣơng tác chúng, sau tổ chức thành phần sử dụng mẫu kiến trúc nhƣ mơ hình lớp mơ hình client-server _ trạm khí tƣợng thủy văn đƣợc phân chia thành hệ thống độc lập mà giao tiếp cách phát thông điệp sở hạ tầng chung 9: Kiến trúc cấp cao trạm khí tƣợng thủy văn ( ws) - trang 13 10 Kiến trúc hệ thống chọn lọc liệu - trang 14 11: Sự định nghĩa lớp đối tƣợng - trang 15 _Nhận dạng đối tƣợng class phần khó thiết kết hƣớng đối tƣợng _ Sự nhận dạng đối tƣợng q trình lặp lặp lại Bạn khơng có khả nhận đƣợc lần 12: Phƣơng pháp tiếp cận để xác định vấn đề - trang 16 (cái không hiểu) _ Sử dụng giản đồ tiếp cận dựa vào ngôn ngữ tự nhiên mô tả hệ thống _ Dựa vào identification xác định vấn đề lĩnh vực ứng dụng _ Xử dụng hành vi tiếp cận xác định đối tƣợng dựa vào tham gia vào hành vi _ Sử dụng kịch dựa vào phân tích Các đối tƣợng, thuộc tính, phƣơng thức kịch đƣợc xách đinh 13: Mơ tả trạm khí tƣợng thủy văn ( weather station) - trang 17 _ Weather station gói phần mềm điều khiển cơng cụ chọn lọc liệu, biểu diễn trình xử lý liệu truyền liệu cho q trình xử lý liệu Các cơng cụ bao gồm nhiệt kế khơng khí, nhiệt kế đất, máy đo gió, cánh quạt gió, thƣớc đo lƣợng mƣa Dữ liệu đƣợc thu thập định kì _ Khi có lệnh đƣợc phát để truyền liệu thời tiết WS xử lý tổng hợp liệu khí hậu thu thập đƣợc, liệu tổng hợp đƣợc truyền tới máy tính lập biểu đồ nhận đƣợc yêu cầu 14: Các lớp đối tƣợng WS - trang 18 _ Sự định nghĩa lớp đối tƣợng hệ thống WS dựa phần cứng liệu hệ thống + Nhiệt kế đất(địa nhiệt), máy đo sức gió, máy đo áp suất Phạm vi ứng dụng đối tƣợng đối tƣợng phần cứng quan hệ với thiết bị hệ thống + WS: Giao diện WS mơi trƣờng (trong slide câu khơng có động từ => dịch khơng có nghĩa) Do đó, phản ánh tƣơng tác đƣợc xác định mơ hình use-case + Dữ liệu thời tiết: tóm gọn liệu từ thiết bị Weather data Weather station airTemperatures Identifier groundTemperatures reportWeather() windSpeeds reportStatus() windDirections(hƣớng gió) powerSave(instruments) pressures(áp suất) removeControl(commands) rainfall reconfigure(commands) collect() restart(commands) summarize() shutdown(instruments) Ground Thermometer(địa nhiệt) Gt_ident (định danh thiết bị) Temperature Get() Test() Anemometer(đo sức gió) An_ident windSpeed windDirection Get() Test() Barometer(máy đo áp suất) Ba_ident pressure height Get() Test() 15: Mơ hình thiết kế - trang 20 _Mơ hình thiết kế biểu diễn đối tƣợng, lớp đối tƣợng mối quan hệ thực thể _ Mơ hình tĩnh (static model) mơ tả cấu trúc tĩnh hệ thống giới hạn lớp đối tƣợng mối quan hệ _ Mô hình động mơ tả tƣơng tác động (tƣơng tác thay đổi đƣợc) đối tƣợng 16: Ví dụ mơ hình thiết kế - trang 21 _ Mơ hình hệ thống biểu diễn liên kết luận lý đối tƣợng vào hệ thống gắn liền với _ Sequence model biểu diễn sequence(thứ tự) tƣơng tác đối tƣợng _ State machine model: biểu diễn làm mà đối tƣợng riêng thay đổi trạng thái để trả lời lại kiện (response to events) _ Ngồi cịn có mơ hình khác use-case model, aggregation model, generalisation model (tồn mơ hình lạ, bít giáo, pm qua face: An Vo Hoang) 17: Mơ hình hệ thống - trang 22 _ Biểu diễn làm mà cách thiết kế đƣợc tổ chức thành nhóm có liên quan cách logic đối tƣợng _ Trong UML, có gói biểu diễn cách sử dụng gói - cấu trúc tóm gọn Đó mơ hình logic Cách tổ chức thực tế đối tƣợng hệ thống khác 18: Sequence Model - trang 23 _ Sequence model biểu diễn thứ tự đối tƣợng tƣơng tác diễn + đối tƣợng đƣợc xếp theo chiều ngang dọc theo top mơ hình + Thời gian đƣợc biểu diên theo chiều dọc mơ hình đƣợc đọc từ top xuống bottom + Các tƣơng tác đƣợc biểu diễn mũi tên có nhãn Các mũi tên khác biểu diễn loại tƣơng tác khác + Hình chữ nhật dài (thời gian đƣợc sử dụng tƣơng tác) biểu diễn thời gian đối tƣợng đối tƣợng kiểm sốt hệ thống 19: Ví dụ - trang 24 20:Sequence Diagram for Engage Foreign Character Use Case 20: giản đồ trạng thái (state diagram) - trang 28 _Biểu đồ trạng thái đƣợc sử dụng để biểu diễn làm mà đối tƣợng trả lời lại yêu cầu dịch vụ khác kích hoạt chuyển đổi trạng thái yêu cầu _ Biểu đồ trạng thái mơ hình cấp cao ( high - level model) hữu ích hệ thống hành vi thời gian chạy đối tƣợng (object's run-time behavior) _ Bạn không thiết phải cần biểu đồ trạng thái cho toàn đối tƣợng hệ thống Nhiều đối tƣợng hệ thống đơn giản biểu đồ trạng thái thêm vào chi tiết không cần thiết cho việc thiết kế 21: Weather station state diagram - trang 29 22: Đặc tả giao diện - trang 30 _ Các giao diện đối tƣợng phải đƣợc đặc tả mà đối tƣợng thành phần khác thiết kế song song với _ Các đối tƣợng có vài giao diện quan điểm hệ thống cung cấp _ UML sử dụng class diagram cho đặc tả giao diện nhƣng java đƣợc sử dụng 23:Weather station interfaces - trang 31: 24: Các mẫu(mơ hình) thiết kế - trang 32 _ Một mẫu thiết kế cách để sử dụng lại kiến thức trừu tƣợng vấn đề giải pháp _ Một mẫu mô tả vấn đề chất giải pháp vấn đề _ Mẫu thiết kế nên đủ trừu tƣợng để đƣợc tái sử dụng chỉnh sửa khác _ Mẫu mô tả thƣờng sử dụng đặc điểm hƣớng đối tƣợng nhƣ thừa kế, đa hình 25: Các phần tử mẫu(mơ hình) - trang 33 _ Tên (định danh) _ Mô tả vấn đề _ Mô tả giải pháp _ Kết - hệ + Kết giá trị việc áp dụng mẫu 26:Mơ hình quan sát - trang 34 _Tên: quan sát; _ Sự mô tả: + Tách hiển thị đối tƣợng trạng thái từ đối tƣợng nó; _ Mô tả vấn đề + Đƣợc sử dụng nhiều hiển thị trạng thái đƣợc yêu cầu _ Mô tả giải pháp _ Kết - hệ 27: Mơ hình quan sát tt - trang 35 Tên mơ hình Quan sát Sự mơ tả Chia hiển thị trạng thái đối tƣợng từ đối tƣợng cho phép thay đổi hiển thị đƣợc cung cấp Khi đối tƣợng trạng thái đƣợc thay đổi, hiển thị đƣợc tự động thông báo update để đáp ứng thay đổi Mô tả vấn đề Trong nhiều trƣờng hợp, bạn phải cung cấp đa hiển thị thông tin trạng thái, ví dụ nhƣ hiển thị đồ thị hiển thị bảng Khơng phải tồn vấn đề đƣợc biết đến thông tin đƣợc đặt tả chi tiết Tất biểu diễn thay hỗ trợ tƣơng tác trạng thái đƣợc thay đổi tồn hiển thị đƣợc update _ Mơ hình đƣợc sử dụng tất trƣờng hợp, nơi mà có nhiều khuông mẫu hiển thị cho thông tin trạng thái đƣợc u cầu khơng cần thiết cho đối tƣợng phải trì trạng thái thông tin để biết đặc tả khuông mẫu hiển thị đƣợc sử dụng Mô tả giải _ Gồm đối tƣợng trừu tƣợng, chủ đề quan sát (subject and observer) pháp hai đối tƣợng cụ thể chủ đề cụ thể đối tƣợng cụ thể (ConcreteSubject vs ConcreteObject) kế thừa thuộc tính đối tƣợng quan hệ trừu tƣợng Các đối tƣợng trừu tƣợng bao gồm thao tác chung đƣợc áp dụng vào tất trƣờng hợp Các trạng thái đƣợc hiển thị đƣợc trì ConcreteSubject, kế thừa thao tác từ chủ đề cho phép thêm, xóa quan sát (Observer) (Mỗi Observer tƣơng ứng với hiển thị) kết thông báo trạng thai có thay đổi _ ConcreteObserver trì trạng thái ConcreteSubject thực phƣơng thức update() giao diện Observer, cho phép đƣợc giữ bƣớc ConcreteObserver hiển thị tự động trạng thái thay đổi trạng thái đƣợc update Kết - hệ _ Các subject biết Observer trừu tƣợng biết chi tiết lớp cụ thể Do có mắt xích tối thiểu đối tƣợng _ Thay đổi subject nguyên nhân tập liên kết Observer đƣợc sinh ra, số số chúng khơng cần thiết 28:Mơ hình UML mẫu Observer - trang 38 29: Các vấn đề thiết kế - trang 39 _ Để sử dụng mẫu (mơ hình) thiết kế bạn, bạn cần nhìn nhận vấn đề thiết kế bạn đảm nhiệm có mẫu kết hợp đƣợc với ứng dụng vào + Nói với vài đối tƣợng trạng thái đối tƣợng khác thay đổi (mẫu Observer) + Dọn dẹp giao diện cho số đối tƣợng liên quan mà thƣờng đƣợc phát triển theo bƣớc + Cung cấp phƣơng pháp chuẩn để truy cập phần tử chọn lọc, không kể làm mà việc chọn lọc đƣợc thực.(Iterator pattern) + Cho phép việc mở rộng chức lớp hành thời gian chạy (Decorator pattern) 30: Tái sử dụng ( reuse) - trang 40 _ Từ năm 1960 đến năm 1990, phần lớn phần mềm đƣợc phát triển từ thứ linh tinh cách viết tồn code ngơn ngữ lập trình cấp cao + Chỉ sử dụng lại quan trọng phần mềm tái sử dụng chức đối tƣợng thƣ viện ngơn ngữ lập trình _ Chi phí áp lực tiến độ yếu tố có ảnh hƣởng đến việc phƣơng pháp trở nên không hợp lý, đặc biệt hệ thống thƣơng mại hệ thống sở internet _ Phƣơng pháp tiếp cần phát triển dựa vào vòng sử dụng phần mềm tồn bƣớc lên ngày đƣợc sử dụng chung cho phần mềm kinh doanh khoa học 31: Các cấp độ việc tái sử dụng - trang 41 _ Cấp trừu tƣợng: + Ở cấp bạn không sử dụng lại phần mềm nhƣng sử dụng kiến thức trừu tƣợng ứng dụng thành công thiết kế phần mềm bạn _ Cấp đối tƣợng + Ở cấp độ bạn sử dụng lại đƣợc phần mềm từ thƣ viện tốt sơ với việc bạn tự viết lại code _ Cấp thành phần: + Các thành phần chọn lọc đối tƣợng lớp đối tƣợng mà bạn sử dụng lại hệ thống ứng dụng _ Cấp hệ thống: + Ở cấp độ bạn sử dụng lại tồn hệ thống ứng dụng 32: Chi phí tái sử dụng - trang 42 _ Giá trị thời gian bỏ việc tìm kiếm phần mềm cho việc tái sử dụng đánh giá trƣờng hợp khơng có mà bạn cần _ Nếu có, chi phí việc mua phần mềm sử dụng lại đƣợc Đối với hệ thống lớn chi phí cao _ Các chi phí việc thêm vào hiệu chỉnh thành phần phần mềm hệ thống sử dụng lại đƣợc để phản ánh ( đáp ứng ) lại yêu cầu hệ thống mà bạn phát triển _ Các chi phí việc tích hợp phần tử phần mềm sử dụng lại đƣợc với phần tử khác hệ thống.( bạn sử dụng phần mềm từ nguồn khác nhau) với code mà bạn phát triển cho phần mềm 33: Các công cụ tảng hỗ trợ phát triển - trang 43 _ Là tích hợp compiler chỉnh sửa hệ thống theo cú pháp cho phép bạn tạo, chỉnh sửa compile code _ Hệ thống debug ngôn ngữ _ Các công cụ chỉnh sửa đồ họa ví dụ nhƣ cơng cụ chỉnh sửa mơ hình UML _ Cơng cụ kiểm tra (testing) ví dụ nhƣ JUnit tự động chạy tập testcase phiên (new version) chƣơng trình _ Các cơng cụ hỗ trợ project giúp bạn tổ chức lại code cho project phát triển khác 34: Tích hợp mơi trƣờng phát triển ( IDEs) - trang 44 _ Các công cụ phát triển phần mềm thƣờng đƣợc nằm group để tạo ra1 tích hợp mơi trƣờng phát triển ( Integrated Development Evironment - IDE) _ Một IDE tập công cụ hỗ trợ phần mềm hỗ trợ mặt khác việc phát triển phần mềm số sƣờn giao diện ngƣời dùng chung _ Các IDE đƣợc tạo để hộ trỡ phát triển số ngơn ngữ lập trình đặc biệt nhƣ java IDE ngơn ngữ đƣợc phát triển đặc biệt đặc trung cho mục đích chung IDE với cơng cụ hỗ trợ ngơn ngữ đặc biệt 35: Các yếu tố triển khai hệ thống thành phần - trang 45 _ Nếu thành phần đƣợc thiết kế cho kiến trúc phần cứng đặc biệt dựa vào số hệ thống phần mềm khác, rõ ràng phải đƣợc triển khai tảng đƣợc cung cấp yêu cầu phần mềm hỗ trợ phần cứng _ Các hệ thống có tính sử dụng cao yêu cầu thành phần đƣợc triển khai nhiều tảng Điều có nghĩa trƣờng hợp tảng bị lỗi (failure), thƣc thay phần tử đƣợc sử dụng _ Nếu có cấp giao tiếp cao thành phần, thƣờng phán đốn để triển khai chúng tảng tƣơng tự tảng mà tính chất vật lý gần giống với khác Điều giúp giảm delay thời gian message đƣợc gửi thành phần nhận đƣợc thành phần khác 36: Phát triển mã nguồn mở - trang 46 _ Phát triển mã nguồn mở phƣơng pháp tiếp cận tới phát triển phần mềm mà code nguồn hệ thống phần mềm public tình nguyện viên đƣợc mời tham gia vào trình phát triển _ Nguồn gốc phần mềm miễn phí Với chủ trƣờng code nguồn khơng có quyền sở hữu nhƣng luôn đƣợc sử dụng cho ngƣời dùng kiểm tra bổ xung họ muốn _ Phần mềm mã nguồn mở mở rộng ý tƣởng cách sử dụng internet cách tuyển mộ thêm lƣợng lớn tình nguyện viên phát triển Nhiều ngƣời số họ ngƣời dùng code 37: Các hệ thống mã nguồn mở - trang 47 _ Sản phẩm mã nguồn mở tiếng linux, đƣợc mở rộng sử dụng với hệ thống server ngày trở thành máy tính để bàn _ Những sản phẩm mã nguồn mở quan trọng khác Java, server web Apache mySQL hệ quản lý sở liệu 38: Các vấn đề mã nguồn mở - trang 48 _ Các sản phẩm phát triển có nên sử dụng thành phần mã nguồn mở không ? _ Phƣơng pháp tiếp cận mã nguồn mở có nên đƣợc sử dụng cho phát triển phần mềm ? 39: Kinh doanh mã nguồn mở - 49 _ Càng ngày nhiều công ty sản phẩm sử dụng mã nguồn mở tiếp cận cho việc phát triển _ Mơ hình kinh doanh họ không đáng tin cậy để bán sản phẩm phần mềm nhƣng lại hỗ trợ cho việc bán sản phẩm _ Họ tin việc mở rộng kinh doanh mã nguồn mở phổ biến cho phép phần mềm đƣợc phát triển cách rẻ hơn, nhanh tạo phổ biến ngƣời dùng phần mềm 40: Giấy phép mã nguồn mở - trang 50 _ Nguyên lý phát triển mã nguồn mở nguồn code sử dụng tự do, khơng có nghĩa làm họ muốn với code _ Về hợp pháp nhà phát triển code( kể cơng ty cá nhân) sở hữu code họ Họ đặt hạn chế việc sử dụng phần mềm cách bao gồm điều kiện ràng buộc hợp pháp giấy phép mã nguồn mở _ Một số nhà phát triển mã nguồn mở tin thành phần nguồn mở đƣợc sử dụng để phát triển phần mềm mới, sau hệ thống trở thành nguồn mở _ Một số khác cho phép code họ đƣợc sử dụng mà khơng có hạn chế Các hệ thống phát triển độc quyền đƣợc bán nhƣ hệ thống nguồn đóng 41: Các mơ hình giấy phép - trang 51 _ Giấy phép công khai( General Public License - GPL) GNU Có giấy phép gọi "reciprocal" có nghĩa bạn sử dụng phần mềm mã nguồn mở đƣợc cấp giấy phép dƣới dạng giấy phép GPL bạn phải phần mềm mã nguồn mở _ Giấy phép cơng khai (Lesser General Public License -LGPL) GNU loại giấy phép GPL khác, viết thành phần liên kết với code nguồn mở mà xuất nguồn thành phần _ Giấy phép phân phối chuẩn Berkley ( Berkley Standard Distribution - BSD) Có giấy phép "non-reciprocal", có nghĩa bạn không bắt buộc phải tái lại thay đổi bổ xung để xây dựng mã nguồn mở Có thể bao gồm code hệ thống có chủ quền đƣợc bán 42: Quản lý giấy phép - trang 52 _ Tạo hệ thống nhằm trì thơng tin thành phần mã nguồn mở đƣợc download sử dụng _ Để nhận biết loại khác giấy phép hiểu đƣợc làm thành phần đƣợc cấp phép trƣớc sử dụng _ Nhận biết đƣợc đƣờng mở rộng cho thành phần _ Giảng giải cho ngƣời mã nguồn mở _ Có hệ thống kiểm tra vị trí thích hợp _ Tham gia vào việc public mã nguồn mở 43: Tóm lượt - trang 53 _ Thiết kê thực phần mềm hoạt động không tách rời Cấp độ chi tiết thiết kế phụ thuộc vào kiểu hệ thống bạn sử dụng phƣơng pháp tiếp cận nhanh hoạch định kế hoạch bƣớc _ Quá trình thiết kế hƣớng đối tƣợng bao gồm hoạt động thiết kế kiến trúc hệ thống, xác định đối tƣợng hệ thống, mơ tả thiết kế sử dụng mơ hình đối tƣợng khác lập tài liệu giao diện thành phần _ Hàng loạt mơ hình khác đƣợc tạo suốt q trình thiết kế hƣớng đối tƣợng Bao gồm mơ hình tĩnh nhƣ : class models, generalization models, association models mơ hình động nhƣ : sequence models, state machine models _ Khi phát triển phần mềm, bạn nên xem xét tính sử dụng lại phần mềm tồn tại, kể thành phần, dịch vụ, hệ thống hoàn chỉnh _ Quản lý cấu hình trình quản lý thay đổi hệ thống phần mềm mở rộng Nó cần thiết nhóm ngƣời hợp tác để phát triển phần mềm _ Hầu hết phát triển phần mềm phát triển hƣớng mục tiêu Bạn sử dụng IDE máy chủ để phát triển phần mềm Nó đƣợc chuyển cho máy đích để thực thi _ Phát triển mã nguồn mở mở rộng code nguồn hệ thống sử dụng cơng cộng (public) Điều có nghĩa nhiều ngƣời tham gia vào việc thay đổi hoàn thiện cho phần mềm 44: Đặc tả lớp - trang 56 1: Tập hợp danh sách thuộc tính SRS ( SRS đƣợc tổ chức thành lớp) 2: Thêm thuộc tính bổ xung theo yêu cầu việc thiết kế 3: Tên phƣơng thức phải tƣơng ứng cho yêu cầu lớp 4: Tên phƣơng thức thêm vào theo yêu cầu việc thiết kế 5: Biểu diễn thuộc tính phƣơng thức mơ hình đối tƣợng 6: Trạng thái lớp bất biến 45: Đặc tả chức - trang 57 1: Chú ý thành phần SRS SDD mà chức năng(method) đáp ứng 2: Trạng thái biểu thức chức phải bất biến 3: Trạng thái điều kiện phƣơng thức ( giả thuyết gì) 4: Trạng thái điều kiện sau phƣơng thức ( kết nó) 5: Cung cấp pseudocode hoặc/và flowchart để đặc tả chi tiết cho giải thuật đƣợc sử dụng.( trừ đơn giản) 46: Các lớp thiết kế chi tiết - trang 58 47: Đặc tả chức (ở chức withdrawn() class Account) - trang 60 _ Không dịch đƣợc đoạn không hiểu 48: Đặc tả giải thuật: Flowcharts Pseudocode - trang 61 protected final void setName( String aName ) { // Check legitimacy of parameter and settings if( ( aName == null ) || ( maxNumCharsInName() alltimeLimitOfNameLength() ) ) { _name = new String( "defaultName" ); System.out.println ( "defaultName selected by GameCharacter.setName()"); } else // Truncate if aName too long if( aName.length() > maxNumCharsInName() ) _name = new String ( aName.getBytes(), 0, maxNumCharsInName() ); else // assign the parameter name _name = new String( aName ); } 49: Ví dụ pseudocode - trang 63 _FOR number of microseconds supplied by operator IF number of microseconds exceeds critical value Try to get supervisor's approval IF no supervisor's approval abort with "no supervisor approval for unusual duration" message ENDIF ENDIF IF power level exceeds critical value abort with "power level exceeded" message ENDIF IF ( patient properly aligned & shield properly placed & machine self-test passed ) Apply X-ray at power level p ENDIF ENDFOR 50: Ƣu điểm pseudocode flowcharts - trang 64 _ Chọn lọc giải thuật nhiều trƣờng hợp _ Áp đặt bƣớc phát triển trình thiết kế chi tiết tài liệu _ Cung cấp thêm cấp độ mà kiểm tra đƣợc thực + Giúp phát khiếm khuyết trƣớc code + Tăng độ tin cậy cho sản phẩm _ Có thể giảm chi phí tổng 51: Nhƣợc điểm Pseudocode flowchart - trang 65 Chú ý: dịch slide thấy giống Ƣu điểm nhƣợc điểm Cẩn thận đối chiếu lại, t dịch sai _ Phải tạo thêm cấp để trì đƣợc thơng tài liệu (có ý giống nhƣợc điểm, cịn sau ƣu điểm cmnr nhƣợc điềm lạ vậy) _ Giới thiệu đƣợc lỗi có q trình dịch code _ Có thể u cầu cơng cụ để trích dẫn psuedocode tạo điều kiện thuận lợi cho vẽ flowchart 52: Các bƣớc để xây dựng giao diện ngƣời dùng - trang 66 1: Biết đƣợc ngƣời dùng bạn 2: Hiểu đƣợc mục đích kinh doanh câu hỏi 3: Áp dụng nguyên lý thiết kế giao diện tốt 4: Chọn loại sổ giao diện thích hợp 5: Phát triển menu hệ thống 6: Chọn thiết bị điều khiển sở thích hợp 7: Chọn giao diện điều khiển cở sở thích hợp 8: Tổ thức đƣa hiển thị cho cửa sổ 9: Chọn màu phù hợp 10: Tạo icon mang đầy đủ ý nghĩa 11: Cung cấp thông điệp báo kết quả, thông tin phản hồi hƣớng dẫn 53: Nguyên lý để thiết kế giao diện tốt - trang 67 _ Đảm bảo tính thống giao diện thiết kế ứng dụng giao diện bên chúng _ Phán đoán trƣớc đƣợc nơi ngƣời dùng thƣờng xuyên bắt đầu sử dụng ứng dụng + Thƣờng xếp cho phần tử thƣờng đƣợc bắt đầu bên trái (nghĩa muốn ngƣời dùng nhập tên địa vào tên nằm địa xếp từ xuống nằm bên trái xếp theo hàng ngang) _ Làm cho đơn giản cang tốt: + Sắp xếp theo phần tử giống + Nhóm phần tử giống lại + Xem xét phạm vi ràng buộc phần tử (phần tử yếu tố) _ Áp dụng hệ thống phân cấp để làm nhấn mạnh vấn đề quan trọng khác _ Áp dụng nguyên lý pleasing visuals usually( ƣu tiên nhiều hình ảnh, dễ hiểu) _ Cung cấp thích 54: Áp dụng nguyên lý thiết kế giao diện tốt - trang 68 55: trang 69 56: Phát triển menu cho hệ thống - trang 70 _ Cung cấp menu _ Hiển thị tồn thay có liên quan _ Nối cấu trúc menu với cấu trúc nhiệm vụ ứng dụng _ Tối giản hóa số cấp menu (tối đa nên có cấp menu) ... tƣợng: + Ở cấp bạn không sử dụng lại phần mềm nhƣng sử dụng kiến thức trừu tƣợng ứng dụng thành công thiết kế phần mềm bạn _ Cấp đối tƣợng + Ở cấp độ bạn sử dụng lại đƣợc phần mềm từ thƣ viện tốt... trang 44 _ Các công cụ phát triển phần mềm thƣờng đƣợc nằm group để tạo ra1 tích hợp mơi trƣờng phát triển ( Integrated Development Evironment - IDE) _ Một IDE tập công cụ hỗ trợ phần mềm hỗ trợ... IDE với công cụ hỗ trợ ngôn ngữ đặc biệt 35: Các yếu tố triển khai hệ thống thành phần - trang 45 _ Nếu thành phần đƣợc thiết kế cho kiến trúc phần cứng đặc biệt dựa vào số hệ thống phần mềm khác,