Introduction to Software Engineering Course Outline
Upcoming SlideShare
Loading in...5

Introduction to Software Engineering Course Outline






Total Views
Views on SlideShare
Embed Views



1 Embed 1 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Introduction to Software Engineering Course Outline Introduction to Software Engineering Course Outline Presentation Transcript

  • Introduction to Software Engineering Course Outline Shih-Kun Huang [email_address] Office: EC514 Lab: EC329 Phone: 54721
  • Motivation
    • Software Cost
    • Software Quality Concerns
      • Safety, Security, Robustness
    • Why Outsourcing ?
    • Y2K stories
  • Textbook and References
    • Textbook: Ian Sommerville. Software Engineering, 7th edition. Addison Wesley. 2004. ISBN: 0-321-21026-3
    • References
      • Roger S. Pressman. Software Engineering: a practitioner’s approach, 6th edition. McGRAW-HILL. 2005.
      • Edward Yourdon, Decline & Fall of the American Programmer, Prentice Hall, Inc. 1993.
  • Course Outline
    • Introduction (FAQs about SE)
    • Software Processes
    • Requirements
    • Design
    • Verification and Validation
    • Project Management
    • Other Topics
  • Software Processes
    • Activities concern about Software Development
      • Software Specification
      • Design
      • Implementation
      • Validation (what customer wants, Testing, Quality Assurance)
      • Software Evolution (must evolve to meeting changing needs of customers, maintenance)
    • Process Models
      • Waterfall model, evolutionary development (concurrent activities), component-based software engineering (design with reuse)
    • CASE tools for aiding the evolving of processes
  • Requirements
    • Detailed Descriptions of what the system should do.
    • Functional (service provided) and non-functional requirements (constraints)
    • User Requirements (external behavior of the system)
    • System Requirements (starting points for system design)
  • Design
    • Architecture Design
      • Subsystem identifications
      • Subsystem Control and Communication
      • Output the Software Architecture
    • Object-oriented Design
      • Design as a set of interacting objects
    • User interface Design
      • Interface code constitutes the major part of system
      • Judging the system from UI instead of Functionality
      • External Behaviors of the system
  • Verification and Validation
    • Validation: Building the right product ?
      • Software meets the user’s expectations
    • Verification: Building the product right ?
      • Software conforms to the specification
    • Software Testing
    • Formal Methods
  • Project Management
    • Project Scheduling
    • Software Metrics
    • Cost Estimation
    • Quality Management
    • Risk Management
    • Change Management
  • Other Issues
    • Software Outsourcing
    • Open source Software Engineering
    • Building for Trustworthy
    • Component-based development
  • Grading Policy
    • Mid-term(T1) and Final term exam(T2)
    • Term Project (P) (4 members a group)
    • Homework (H)
    • G1: 30% (T1), 30%(T2), 30%(P), 10%(H)
    • G2: 20% (T1), 20%(T2), 50%(P), 10%(H)
    • Max(G1, G2)
  • Term Project
    • Register an account in or
    • Propose a software system to be developed (either from scratch or the existing GPL projects)
    • Evaluate the project from the analysis, design, and various documents among the processes
  • Notes
    • Please ensure your correct E-mail in
    • Ensure your valid login in