TAILIEUCHUNG - Lecture Software engineering II: Chapter 10 - Dr. Muzafar Khan

This lecture discusses the basic concepts related to software design. Design is all about the creativity; design is the representation/model/development of the system or software to achieve goals within constraints. Goals may be the stakeholder requirements, business needs, and technical considerations. Constraints are often related to time, cost, quality, and technology. Software design includes architecture, components, data structures, andinterfaces. | Software Design SEII-Lecture 10 Dr. Muzafar Khan Assistant Professor Department of Computer Science CIIT, Islamabad. 1 Recap Basic concepts Risk, positive/negative risk management, Risk utility / tolerance (risk averse, risk seeking, risk neutral) Planning risk management Risk management plan, contingency and fallback plans Identifying risks Brainstorming, Delphi technique, interviewing, SWOT analysis, checklists, risk registers Performing qualitative and quantitative risk analysis Planning risk responses Risk avoidance, risk acceptance, risk transference, risk mitigation, Risk exploitation, Risk sharing Monitoring and controlling risks 2 What is Design? Creativity Achieving goals within constraints Stakeholder requirements, business needs, and technical considerations Representation or model of the software Software architecture, components, data structures, and interfaces 3 Goal of Design Roman architecture critic Vitruvius said, “well-designed buildings were those which exhibited firmness, commodity, and delight” Same for the good software Firmness: bug-free Commodity: suitable for the intended purpose Delight: pleasurable user experience Model that exhibits firmness, commodity, and delight 4 Design Within the Context of SE Technical kernel of software engineering Independent of software process model Last modeling activity before coding Focus on quality Translation of stakeholder requirements into a software product Without design, you are at risk Lot of rework 5 Design Process An iterative process Different levels of abstraction Criteria to evaluate software design Design must implement all explicit and implicit requirements Design must be readable and understandable Design should provide the complete picture 6 Quality Guidelines [1/2] Design should exhibit Recognizable design patterns Good design characteristics Implementation in an evolutionary fashion Design should be modular Design should contain distinct representations of data, architecture, interfaces,

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.