Enter Search Request 




Number of documents to retrieve
Sort type
WCU is a University of North Carolina Campus
 
CS 263 Syllabus

Software Engineering

Revised: August 2008 (Mark Holliday)

Course Description

An introduction to the processes, activities, and methodologies of software engineering. Activities will include experiences with a modern integrated development environment and its plug-ins that support the complete software life cycle including requirements specification, object-oriented design, change management systems, continuous testing, documentation, and maintenance. Activities also include team-based projects and pairwise programming and coverage of the unified modeling language and design patterns. 3 credit hours, required for major, prerequisite is CS 151.

Objectives

  • Understand the activities of the software development process.
  • Develop skill using tools that support the complete software life cycle.
  • Develop skill using the unified modeling language and design patterns.
  • Develop skill working in teams both in pairwise programming and larger teams.

Text

Roger S. Pressman, Software Engineering: A Practitioner's Approach, Sixth Edition, McGraw-Hill, 2005.

Grading Procedure

Grading procedures and factors influencing course grade are left to the discretion of individual instructors, subject to general university policy.

Attendance Policy

Attendance policy is left to the discretion of individual instructors, subject to general university policy.

Course Outline

Part 1: An Introduction To The Software Development Process

  • What is Software Engineering?
    Definitions, motivations; history; course overview.
  • The Software Process
    Overview of the process (requirements, specification, ...); process maturity models; process improvement.
  • The Software Team
    The Software Team; pairwise programming; personality styles, larger teams.
  • Lifecycle Models
    Build-and-fix; waterfall; agile programming (extreme programming); rapid prototyping; incremental; spiral; OO models.
  • Verification and Validation
    Lifecycle approach to V"V, testing, quality, correctness, and special testing issues.
    Part 2: Phases of Software Development: First Iteration
  • Requirements
    Requirements analysis techniques; Use stories and use cases; UML use case diagrams; rapid prototyping; testing issues
  • Specification and Analysis
    Informal approaches; formal approaches; UML diagrams; 00 Analysis; modeling; testing issues.
  • Design
    Design architectures; design analysis; design modeling; UML diagrams (class diagrams, sequence diagrams, state diagrams); design patterns; testing issues.
  • Implementation
    Programming; module design and reuse; UML diagrams; module testing; walkthroughs and inspections; integration and integration testing; system-level testing.
  • Maintenance and Beyond
    Why maintenance; testing issues.

Part 3: Phases of Software Development: Second Iteration

  • The Software Team
    Dealing with other human beings; team approaches; management issues; reviews.
  • Planning and Estimating
    Plan development; metrics; cost-benefit.
  • Configuration Management
    Versions; configuration control.
  • Tools
    Management tools; development tools.
  • Requirements Elicitation
  • Requirements Specification
  • Design
  • Implementation

Part 4: Current Issues and Course Wrapup

  • The current Software Engineering landscape, including issues in management, process, ethics, and certification.
  • Emerging Frameworks for Software Development
  • Ethics in Software Engineering
  • Other Issues
  • Wrapup
Copyright 2009 by Western Carolina University       •     Cullowhee. NC 28723       •      Contact WCU
Maintained by the Office of Web Services       •      Map & Directions       •      Mapquest It       •      Emergency Information       •      Text-Only