cse senior design i cse senior design architecture design exercise this presentation describes the...
DESCRIPTION
1 Architecture Design Exercise Driving Simulator Speaker Steering Central Processor Accel. Signals Brake Display Unit Data Base Admin ComputerTRANSCRIPT
CSE Senior Design ICSE Senior Design I
CSE Senior DesignCSE Senior DesignArchitecture Design ExerciseArchitecture Design Exercise
This presentation describes the tasks of a group This presentation describes the tasks of a group exercise that is conducted as a bridge between the exercise that is conducted as a bridge between the
CSE 4316 system definition phase and the CSE CSE 4316 system definition phase and the CSE 4317 system implementation and test phases of 4317 system implementation and test phases of
the CSE Senior Design capstone project.the CSE Senior Design capstone project.
1 Design Exercise GroupsDesign Exercise GroupsFall 2014Fall 2014
Group 1 Group 2 Group 3Vishal SinghPranil Thomas MathewTracy OguniShamikul Amin
Picard FolefackNhat TranSaad SubhaniKeyurkumar Patel
Dat LeJustin HayesSidharth GoyalBrian Hasty
Group 4 Group 5 Group 6Seth SkocelasLong LySovantharith SengKevin MarnellLam Pham
Jesus ParraNishal PandeyRobert LeJoel SengMelissa Trinh
Zedd ShmaisStephanie ValentineSabin BajnachanyaBrandon DeenEarl White
1 Architecture Design ExerciseArchitecture Design ExerciseDriving Simulator
Speaker
Speaker
Steering
CentralProcessor
Accel.
Signals
Brake
Display Unit
Data BaseAdmin Computer
1 TodayToday Discuss your assumptions and assertions assumptions and assertions about
what the system must do. 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• Define the guiding principles guiding principles that you will
employ in your architecture (meta-architecture) How will you ensure the 4-I’s? How will you ensure maximum flexibility? What are your guidelines for defining layers and subsystems? What other “ilities” will guide you (portability, scalability,
reusability, usability, interoperability, modifiability, reliability, …)?
1 Homework for TuesdayHomework for TuesdayIn your exercise groups:
Walk through your meta architecture and assumptions
Prepare a “2-minute, 2-sheet” presentation to present your assumptions and guiding principles
1 TuesdayTuesdayDefine the layer structure layer structure and draw a diagram
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 key interfacesinterfaces to/from each layer
External (may be “none”) Internal (between layers)
Provide rationalerationale for all of your choices Consider independence, integrity and implementability Consider complexity of your approach relative to other
possible approaches
1 Homework for ThursdayHomework for Thursday 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 the layers
critical functions into subsystems Discuss high-level data flows Prepare a “2-minute, 2-sheet” presentation to defend
your structure in our next class
1 ThursdayThursday Define your subsystemssubsystems
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 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-subsystems relationships
(producer-consumer relationship matrixproducer-consumer relationship matrix) Do they work? Can they be implemented?
1 FridayFridayIn your exercise groups:
Walk through each subsystem Refine the functions of each subsystem Verify subsystem interfaces (direct relationship 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
1 Homework for TuesdayHomework for TuesdayIn your exercise groups:
Prepare a 10 minute discussion/presentation of your architecture
1 TuesdayTuesday Each design group will discuss your architecture 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 10 minutes, maximum, including allowance for
interaction and Q&A May use PowerPoint slides, document camera, handouts, or a
combination of these