06-02-SystemDesign-notes

06-02-SystemDesign-notes - Design: HOW to implement a...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CSE 435: Software Engineering B. Cheng System Design CSE 435: Software Engineering B. Cheng Design: HOW to implement a system Goals: Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications CSE 435: Software Engineering B. Cheng Design Issues • Architecture • User Interface • Data Types • Operations • Data Representations • Algorithms CSE 435: Software Engineering B. Cheng System Design • Choose high-level strategy for solving problem and building solution • Decide how to organize the system into subsystems • Identify concurrency / tasks • Allocate subsystems to HW and SW components
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 CSE 435: Software Engineering B. Cheng Strategic vs. Local Design Decisions Defn : A high-level or strategic design decision is one that influences the form of (a large part) of the final code • Strategic decisions have the most impact on the final system • So they should be made carefully Question : Can you think of an example of a strategic decision? CSE 435: Software Engineering B. Cheng System Design • Defn: The high-level strategy for solving an [information flow] problem and building a solution – Includes decisions about organization of functionality. – Allocation of functions to hardware, software and people. – Other major conceptual or policy decisions that are prior to technical design. • Assumes and builds upon thorough requirements and analysis. CSE 435: Software Engineering B. Cheng Taxonomy of System-Design Decisions Devise a system architecture • Choose a data management approach • Choose an implementation of external control CSE 435: Software Engineering B. Cheng System Architecture • A collection of subsystems and interactions among subsystems. • Should comprise a small number (<20) of subsystems • A subsystem is a package of classes, associations, operations, events and constraints that are interrelated and that have a reasonably well-defined interface with other subsystems, • Example subsystems: – Database management systems (RDBMS) – Interface (GUI) package
Background image of page 2
3 CSE 435: Software Engineering B. Cheng Architectural Design Principles • Decompose into subsystems layers and partitions . • Separate application logic from user interface • Simplify the interfaces through which parts of the system will connect to other systems. • In systems that use large databases: – Distinguish between operational (transactional) and inquiry systems. – Exploit features of DBMS CSE 435: Software Engineering B. Cheng Taxonomy of System-Design Decisions • Devise a system architecture Choose a data management approach • Choose an implementation of external control CSE 435: Software Engineering B. Cheng Choosing a Data Management Approach • Databases: – Advantages: • Efficient management • multi-user support.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 14

06-02-SystemDesign-notes - Design: HOW to implement a...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online