Nov 21, 2024  
2024-2025 Undergraduate Academic Catalog-June 
    
2024-2025 Undergraduate Academic Catalog-June
Add to Portfolio (opens a new window)

SWE 3411 - Software Requirements and Architecture

3 lecture hours 2 lab hours 4 credits
Course Description
This course covers software requirements, software architecture, and the relationship between the two. Topics covered include requirements elicitation, object-oriented analysis techniques, prototyping, requirements tracking, quality attribute driven design, quality attribute design tactics, architectural styles and patterns, architecture tradeoff and cost-benefit analysis, and coverage of contemporary topics in distributed, highly scalable software architectures. Laboratory experiences permit students to elicit requirements, evaluate architectural solutions, and implement their designs.
Prereq: SWE 2410 , SWE 2710  (quarter system prereq: SE 2030, SE 2811)
Note: None
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Understand the role of requirements engineering and software architecture in a variety of software development models 
  • Elicit requirements from system stakeholders and to overcome common obstacles to the elicitation process 
  • Analyze and negotiate software requirements 
  • Specify software requirements using industry standard documentation techniques (e.g., UML, use cases) 
  • Specify requirements that are verifiable, traceable, measurable, and testable 
  • Verify that specified requirements are accurate, unambiguous, complete, and consistent 
  • Understand and be able to apply a variety of architectural styles and review and evaluate software architectures  
  • Specify a software architecture and implement a software system embodying it  
  • Work effectively as a member of a small team to communicate software requirements in written documents and oral presentations

Prerequisites by Topic
  • Software development process tools and methods
  • Familiarity with the software development lifecycle

Coordinator
Sean Jones



Add to Portfolio (opens a new window)