Introduction to Software Engineering Course Outline

  • 2,308 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,308
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
37
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introduction to Software Engineering Course Outline Shih-Kun Huang [email_address] Office: EC514 Lab: EC329 Phone: 54721
  • 2. Motivation
    • Software Cost
    • Software Quality Concerns
      • Safety, Security, Robustness
    • Why Outsourcing ?
    • Y2K stories
  • 3. Textbook and References
    • Textbook: Ian Sommerville. Software Engineering, 7th edition. Addison Wesley. 2004. ISBN: 0-321-21026-3
    • http://www.software-engin.com/
    • 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.
  • 4. Course Outline
    • Introduction (FAQs about SE)
    • Software Processes
    • Requirements
    • Design
    • Verification and Validation
    • Project Management
    • Other Topics
  • 5. 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
  • 6. 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)
  • 7. 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
  • 8. 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
  • 9. Project Management
    • Project Scheduling
    • Software Metrics
    • Cost Estimation
    • Quality Management
    • Risk Management
    • Change Management
  • 10. Other Issues
    • Software Outsourcing
    • Open source Software Engineering
    • Building for Trustworthy
    • Component-based development
  • 11. 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)
  • 12. Term Project
    • Register an account in sourceforge.net or openfoundry.org
    • 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
  • 13. Notes
    • Please ensure your correct E-mail in cos.adm.nctu.edu.tw.
    • Ensure your valid login in e2.nctu.edu.tw.