University of Colorado at Boulder
University of Colorado at Boulder Search A to Z Campus Map CU Search Links
ECE Home

ECEE Courses

Undergraduate
Graduate
Course List
Research
Contact Us

ECEN 4743 - Software Engineering of Distributed Systems


Catalog Data ECEN 4743 (3). Software Engineering of Distributed Systems. Addresses engineering of networked applications and self-contained embedded system projects involving multiple processors. The fundamental concepts of software engineering are complicated by an application running simultaneously and asynchronously on multiple processors over a network. Topics: specification, analysis, design, and testing of distributed components including concerns of security, synchronization, transaction coordination, data replication, web services, and service oriented architectures. Restricted to seniors.
(Meets with ECEN 5743.)
Credits and Design 3 credit hours. Elective course.
Prerequisite(s) ECEN 4583, Software System Development, or ECEN 5543 or CSCI 5548, Software Engineering of Standalone Programs
Recommended Prerequisite(s) ECEN 4643, Software Engineering of Concurrent Systems
Textbook Coulouris, G., J. Dollimore, and T. Kindberg, Distributed Systems: Concepts and Design, 4th edition, Addison Wesley, 2005
  
Course Objectives
Topics Covered
  1. Distributed software issues
    • Overview with historical perspective
    • Classification of distributed software problems
  2. Communication over a network
    • Interprocess communication, including web services & messaging
    • Distributed objects and remote method invocation
  3. Requirements analysis and design specific to distributed software
    • Analysis and design principles & methodology
    • Design paradigms and design patterns
    • Transactions & complicating factors of distributed transactions
    • Time and global states -- synchronization without a global reference
    • Security -- threats due to network environments
    • Distributed data -- replication & distributed shared memory
  4. Real-time distributed performance analysis
  5. Testing distributed systems, patterns for testing distrib. architectures

Last revised: 08-02-11, PM, ARP.