Download presentation
Presentation is loading. Please wait.
Published byEleanore Blair Modified over 5 years ago
1
System Design ECE 417/617: Elements of Software Engineering
Stan Birchfield Clemson University
2
Decomposition ... ... ... System Subsystem1 SubsystemN Class1a Class1n
ClassNa ClassNn
3
Coupling and cohesion Coupling -- # of dependencies between subsystems
Cohesion -- # of dependencies within subsystem Goal: low coupling, high cohesion 7 +/- 2 rule – keep number of concepts at any given layer of abstraction bounded
4
Layers and Partitions Layer – group of related subsystems
Layer knows about layers below it, but not layers above it Top layer: no one else knows about it Closed architecture – can only access layer immediately below Open architecture – can access any layer below Partition – peer subsystems, each with different responsibilities
5
Hierarchical decomposition
Application Presentation Session Transport Network DataLink Physical Socket CORBA TCP/IP Object Ethernet Wire Frame Packet Bit Connection Format Message Level of abstraction Example: Open Systems Interconnection (OSI)
6
Architectural Styles Repository – subsystems interact through single repository Model / View / Controller Client / Server Three-tier Four-tier Pipe and filter
7
Model / View / Controller (MVC)
Model subsystems maintain domain knowledge View subsystems display it to the user Controller subsystems manage sequence of interactions with user M doesn’t depend upon V or C Changes propagated via subscribe/notify protocol, using Observer design pattern Well-suited for interactive systems
8
MVC Details Controller Model subscriber notifier initiator *
repository 1 View
9
MVC Example
10
MVC Example Details 2:enterNewFileName(file,newName)
3:setName(newName) :Controller :Model 1:subscribeToFileEvents(file) 5:getName() :InfoView 4:notifySubscribedViews(file) 4:notifySubscribedViews(file) :FolderView 1:subscribeToFileEvents(file) 5:getName()
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.