Purdue University - Department of Computer Science - CS 307: Software Engineering I

CS 307: Software Engineering I

List of Topics:

  1. Introduction
    • Issues in software development
    • Life cycle models (waterfall, spiral, etc.)
    • Attributes of software
    • Social implications of software quality
    • Relationship with other disciplines
  2. Specification
    • Requirements and design
    • Requirements specification
      • Design specification
      • Data flow diagrams
      • Entity - relationship diagrams
      • Finite state machines
      • Petri - nets
      • Algebraic specifications
    • Tools for specification
    • Design reviews
  3. Testing
    • Testing versus debugging
    • Functional testing
      • Boundary value testing
      • Equivalence partitioning
      • Special value testing
    • Structural testing
      • Test adequacy
      • Coverage criteria
      • Path testing
      • Data-flow testing
      • Mutation testing
    • Overview of other testing methods
    • Tools for testing
    • Fault monitoring and categorization
    • Effectiveness of testing methods
  4. Cost and effort estimation
    • Measures of software complexity
    • Cost and effort models
    • Applying the models
    • Pitfalls in cost/effort estimation
  5. Overview of selected advanced topics
    • Reliability estimation
    • Parallel program design
    • Verification methods 

1992.01

Last Updated: Apr 25, 2017 4:43 PM

Department of Computer Science, 305 N. University Street, West Lafayette, IN 47907

Phone:(765) 494-6010 • Fax: (765) 494-0739

Copyright © 2016 Purdue University | An equal access/equal opportunity university | Copyright Complaints

Trouble with this page? Disability-related accessibility issue? Please contact the College of Science.