Вы находитесь на странице: 1из 3

COURSE SYLLABUS Course No.

Course Title Course Description : : : IT 306 SOFTWARE ENGINEERING This course provides an overview of the software engineering process. Topics include requirement analysis, analysis modeling, software design fundamentals, software testing, quality assurance, quality processes and software maintenance. Principles of objectoriented programming, programming languages, object-oriented modeling and ethical issues in the IT field are also discussed. 3 5 Creativity, Commitment, Discipline, Efficiency, Honesty, Integrity, Patience, Resourcefulness, Self-Confidence, Team Work At the end of the semester, the students are expected to: 1. become well-versed in the software engineering processes and sharpen skills in object-oriented software design; 2. develop software systems by going through the software development life cycle; and 3. design, code and document, integrate, and test multi-module program. Major Exams (Midterm Exam, Final Exam), Project, Class Participation, Attendance, Quizzes Grading Component Midterm Grade (40%)+ Final Grade (60%) = Final Mark Project / Subject Requirements Periodic Exams Attendance Class Standing (Recitation, Quizzes, Assignment) Course Content : Week 1 Course Orientation Percentage 15% 35% 5% 45% 100%

Number of Units Pre-Requisite Core Values Course Objectives

: : : :

No. of Contact Hours :

Course Requirements : Grading System :

Introduction to Software Engineering Week 2 Software Life Cycle

CNSC Vision, Mission, Unit Goals and Objectives get at overview of the topics to be covered in the whole semester; have an idea of what is to be expected during lessons and discussions; know certain rules and policies governing the whole class; be aware of the requirements and grading system of the course. define the software engineering process understand the importance of software engineering discuss the important characteristics of software understand that the quality of different applications may be evaluated differently

look at the life cycle of a software understand the software process and its related elements relate to the different software engineering paradigms

Week 3 - 4 Software Project Management Week 5 Project Plan

discuss the various aspects of project management understand the tasks in software project management describe the project titles in the course describe the requirements of a project plan discuss the tasks in planning a project describe the tools that can be used for developing a project plan illustrate the use of graphical representations of project activities understand the importance of the critical path in scheduling

Week 6 - 7 Software Metrics

Week 8 Software Cost Estimation Week 9 System Engineering & Analysis Week 10 Software Requirements Analysis Week 11 Functional and Behavioral Modeling Week 12 Software Requirements Specification Software Design Principles Software Design Notations Week 13 - 14 Data-Flow Oriented Design Improving the Design Object-Oriented Analysis and Design Week 15 Software Quality Assurance

understand the importance of measurement in software engineering describe and compare the different metrics that can be used for measuring software understand the important factors that affect the measurement of software describe different methods of estimation for a software project understand the factors that affects the estimation of a software development project examine the elements of a computer-based system understand the development process of a system illustrate the representations of a business information system understand the importance of specifying requirements correctly discuss the different representations of requirements in the analysis model illustrate the modeling of data elements in the problem domain

illustrate the modeling of functional and behavioral characteristics of the problem domain describe the elements of data flow diagrams and the associated rules for drawing them correctly describe the elements and usage of state transition diagrams describe different methods of specifying the software requirements illustrate the use of technical methods for specifying certain types of requirements describe the properties of good software requirement specifications understand the importance of design in developing quality software describe the translation from the requirements analysis model to the design model understand the principles that guide proper design of software describe the tasks in producing and document the software design understand the systematic approach in producing the different levels of the software design illustrate the different notations that can be used to draw the design describe the process of translating the DFDs to structure charts understand the systematic approach in producing the design from the analysis model understand the different types of conversion that can be done in producing the structure chart understand the significance of assessing the quality of design describe the major factors and criteria in assessing the quality of software design describe the concepts of coupling and cohesion in measuring software design introduce the basic concepts of object-oriented analysis and design understand the difference between object-oriented analysis and design and other analysis and design methods describe the main characteristics of object-oriented system discuss what is meant by quality in software understand the importance of quality in software engineering describe the features of quality software

Software Testing Techniques Software Testing Strategies Week 16 Software Maintenance Software Configuration Management Week 17 - 18 Computer-Aided Software Engineering Monitoring & Controlling Projects

describe the measures used in assessing software quality understand the international standards that are applied to assess software quality understand the role of testing in ensuring software quality discuss issues relevant to software testing describe the different techniques used for testing software describe the process of planning for software testing understand the different levels of testing that can be done describe the different approaches to debugging software understand the activities in software maintenance identify the factors that affect the effectiveness of maintenance activities describe the different types of maintenance activities understand the activities in managing software changes identify the software configuration items that needs to be managed describe the different tasks in software configuration management understand the role of automation in the software engineering process describe the different types of CASE tools discuss the importance of integration among the different CASE tools describe the monitoring and controlling activities in a software project understand the problems that needs to be controlled in a software project discuss the important issues affecting the level of control in a project : Lesson Presentation / Demonstration, Discussion : Quizzes, Recitation, Hands-on Exercises, Projects, Exams : Pressman, 2001. Software Engineering: A Practitioners Approach (5th Ed.). McGraw-Hill. Sommerville, 2001. Software Engineering (6th Ed.).Addison-Wesley. http://www.cs.fsu.edu/~baker/sweng

Teaching Method / Techniques Evaluative Techniques References

Instructional Materials to be used : Handouts, White Board, Computer and Projector