Pages

Wednesday, July 31, 2013

Intermediate Software Engineering: Sample Course Outlines

source: http://manta.cs.vt.edu/cs3704/Course.html#Outline

Course Outline:
 Week 1: 
  
Orientation to course. Explanation of intent of course and procedures. Chapter 1:Introduction: Software Crisis; Software Production and its Difficulties (Complexity, Conformity, Changeability, Invisibility); What is Software? What is Software Engineering?
  
Chapter 10: Socio-technical systems: Complex Systems made of Hardware, Software, and Humanware; Systems Engineering; System and Software Engineering; System Architecture Modeling; The System Engineering Process. Chapter 11: Dependability and security.
 Week 2: 
  
Chapter 2: Software Processes: Dr. Balci's Software Life Cycle Model; The Prototyping Model; The Exploratory Development Model
  
  • The Incremental Development Model; The Spiral Model; The Component-Based / Reuse-Based Development Model; The Automation-Based Development Model.
  • Problem Formulation - the first process of the software life cycle
 Week 3: 
  
Chapter 4: Requirements Engineering: A life cycle for requirements engineering; Feasibility Assessment; Requirements Elicitation and Analysis; Viewpoint-Oriented Requirements Elicitation; Functional and Non-functional Requirements.
  
Quiz 1 (covers Chapters 1, 2, 10 and 11 and Slides 01 through 05). Chapter 4:Requirements Engineering: Requirements Identification; Requirements Specification; Requirements Management; Requirements Quality Assessment.
 Week 4: 
  
Chapter 5: System modeling: System modeling from external, interaction, structural, and behavioral perspectives. Context models. Class diagrams. Sequence diagrams.
Use Case Definition and Examples, Example Use Case Diagrams, Example Use Case Dependencies Diagram for Order Processing, Organizing Use Cases, Dependency Relationships Among Use Cases.
  
  1. Assignment 1 given
  2. “A Tutorial on Use Case-based Requirements Engineering Using Rational Rose and RequisitePro”
  3. Assignment 1 Common Mistakes
A Template for Use Case Documentation, Example documentations of use cases: Place Order and Login.
 Week 5: 
  
  • Introduction to Network-Centric Software Engineering
  
  • Virtualization – Underpinnings of the Cloud Computing
 Week 6: 
  
  • The Process of Architecting
  
Quiz 2 (covers Chapters 4 and 5 and Slides 06-09)
(Assignment 1 due) (Group Project 1 given)
  • The Process of Architecting
 Week 7: 
  
  • An Overview of Network-Centric Software Architectures
  • Reading Assignment: Chapter 18: Distributed software engineering
  • Reading Assignment: Chapter 19: Service-Oriented Architecture
  
  • An Overview of Network-Centric Software Architectures
 Week 8:
  
  • An Overview of the Department of Defense Architecture Framework (DoDAF)
Chapter 6: Architectural High-Level Design
  
Chapter 6: Architectural High-Level Design
 Week 9: 
  
MIDTERM EXAMINATION (Includes all of the material covered until the exam date.)
  
(Group Project 1 due) (Assignment 2 is given with a tutorial document on how to create UML diagrams)
Chapter 7: Design and Implementation
Object-Oriented Design (OOD): Object-Oriented Development; The Object-Oriented Paradigm; Objects; Classes; Instantiation; Variables (Attributes); Methods (Services); Inheritance; Message Passing; Encapsulation; Polymorphism; Dynamic Binding; Association
User Interface (UI) Design: User interface design principles; User interaction; Information presentation; User support; Interface evaluation
 Week 10: 
  
Chapter 16: Software Reuse: Reuse-based SE; Benefits of Reuse; Design Patterns; Generator-based Reuse; Application Frameworks; COTS Product Reuse; Software Product Lines.
  
Chapter 17: Component-Based Software Engineering (CBSE): Component-based Development; CBSE Essentials; CBSE Challenges; Component Characteristics; Component Interfaces; Component Models (EJB Model, .NET Model, CORBA Component Model), Middleware Support; The CBSE Process; Component Composition
 Week 11: 
  
Quiz 3 (covers Chapters 7, 16, 17; OOD, UI Design and Slides 15-18)
  • An Overview of Java Platform, Enterprise Edition (Java EE)
  
  • An Overview of Java Platform, Enterprise Edition (Java EE)
  • An Overview of Microsoft Platform, .NET Framework
 Week 12: 
  
(Assignment 2 due) (Group Project 2 given)
  
  • An Overview of Microsoft Platform, .NET Framework
 Week 13: 
  
Chapter 22: Project Management: Software Project Planning; Software Project Scheduling; Task Durations and Dependencies; Allocation of People to Tasks; A Task (Activity) Network; Task (Activity) Bar Chart; Software Risk Management; The Risk Management Process; Software Risk Identification.
  
  • Capability Maturity Model Integration for Development (CMMI-DEV) version 1.3
  • People Capability Maturity Model (P-CMM) version 2.0
  • Chapter 26Process Improvement
 Week 14: 
  Semester Break
 Week 15: 
  
Quiz 4 (covers Java EE and .NET)
  • Principles of Verification and Validation (V&V) and Quality Assurance (QA)
  • Software Verification, Validation and Testing Techniques
  
  • Chapter 8: Software Testing
  • Software Verification, Validation and Testing Techniques
 Week 16: 
  
(Group Project 2 due)
  • Software Verification, Validation and Testing Techniques
  
Reading Day

No comments:

Stats