Introduction to Software Engineering Course Outline

2,764 views
2,543 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,764
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
42
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introduction to Software Engineering Course Outline

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

×