Architecture Design Exercise

advertisement

CSE Senior Design

Architecture Design Exercise

This presentation describes the tasks of a group exercise that is conducted as a bridge between the CSE 4316 system definition phase and the CSE 4317 system implementation and test phases of the CSE Senior Design capstone project.

Day 1+

• Document your assumptions and assertions about what the system must do and how those might affect your design. Fill in the gaps.

– Consider extensibility and potential enhancements.

– Consider potential user interaction, inputs and outputs

– Consider system responses to expected scenarios

– Consider usability, set-up, configurability, installation, etc.

– Consider what is done in dedicated hardware, and what is done in software on a central processing unit

• Document the guiding principles that you will employ in your architecture (meta-architecture)

– Ensuring the 4-I’s?

– Maximum flexibility for implementation approaches?

– What are your guidelines for defining layers and subsystems?

– What other “ilities” will guide you (portability, scalability, reusability, usability, interoperability, modifiability, reliability, …)?

Day 2+

• Define and document the layer structure and draw a layer diagram

– What are the functions/operations that must exist (“bubble diagram”)

– How can these functions/operations be best organized into layers?

– What is the purpose of each layer (what services does it provide within the system – to which other layers)?

– What must each layer do in order to provide these services (what functions must it perform)?

– How is each layer differentiated from other layers?

• Define and document key interfaces to/from each layer and the resultant interactions between layers.

– External (may be “none” for some layers)

– Internal (between layers)

• Provide rationale for all of your choices

– Consider independence, integrity and implementability

– Consider complexity of your approach relative to other possible approaches

Homework Day 2+

• In your exercise groups:

– Walk through your layer structure

– Verify and refine the interfaces between layers

– Refine the functions of each layer

– Discuss and verify cohesion (high) within each layer

– Discuss and verify coupling (low) between layers

– Begin discussion of how you will break up each layer’s critical functions into subsystems

– Discuss high-level data flows

– Prepare a “2-minute, 2-sheet” presentation to defend your structure in our next class

Day 3+

• Define your subsystems

– What is the purpose of each subsystem within the layer

(what services does it provide– to which other subsystems)?

– Is the function defined for the subsystem implementable?

– Does the subsystem logically fit BEST in the layer you have it in?

• Define the data flows to/from each subsystem

– What data is needed (image, counter, text, etc.)?

– What data is created (image, counter, text, etc.)

– What is the created data used for, and by which other subsystem(s) is it needed?

• Define the inter-subsystem relationships

(producer-consumer relationship matrix)

– Do they work? Can they be implemented?

Homework Day 3+

• In your exercise groups:

– Walk through each subsystem

– Refine the functions of each subsystem

– Verify subsystem interfaces (direct correlation to that defined for layers?)

– Discuss and verify cohesion (high) and coupling

(low) for each subsystem

– Verify producer-consumer relationships for all data elements

– Prepare to discuss/defend your architecture

Final Day(s)

• Each design group will discuss your architecture

– Key assumptions and guiding principles

– Layer diagram (no subsystems yet)

– Layer definitions (services provided)

– Data flows and producer-consumer relationships

– Key interactions between subsystems

– Various “ilities” addressed, and how

– Critical use case scenarios

• Informal and interactive format

– Each group will have 25 minutes, maximum, including allowance for interaction and Q&A

– May use PowerPoint slides, document camera, handouts, or a combination of these

Download