You are on page 1of 6

Course Outline in Elective 1 (Introduction to Software Engineering)

1.0 Course Description:

This course introduces the fundamental principles and methodologies of software engineering. This covers the software process and methods and tools employed in the
development of modern systems. This course will be using Software Engineering books as reference.

2.0 Course Credit/Time Allotment: 3 units / 54 hours

3.0 Course Prerequisite, if there is any: None

4.0 Course Objectives:

At the end of the semester, the students are expected to:

General:
1. convey the importance and need of software engineering
2. discuss different software development models appropriate for the development and maintenance of software products
3. introduce the basic project management concepts for the development of a high-quality product
4. impart comprehensive knowledge regarding software development lifecycle
5. To demonstrate, with justification, an appropriate set of tools to support the development of a range of software projects
6. apply the software engineering elements to the development of software in any computing application domain where
professionalism, quality, schedule, and cost are important in producing a software system.
7. appreciate the benefits/importance of Software project management;
8. participate actively in the class discussions.

Specific:
1. define software engineering.
2. identify the components of software engineering.
3. recognize the importance and need of software engineering to cope with the modern trends in software industry.
4. knowledgeable of all phases of software life cycle including the artifacts that are produced.
5. proficient enough to analyze, evaluate and apply a set of CASE tools.
6. use basic project management techniques in their projects.
7. use software testing techniques in their basic programming projects.
5.0 Outline of the Course

5.1.1 Criteria and grading system

Midterm & Tentative Final FINAL

Quizzes 40% Midterm 50%


Periodic Exams 30% Tentative Final 50%
Term Paper 20% -----
Class Participation 10% TOTAL 100%
--------
TOTAL 100%

5.1.2 Course Requirements

(a) Attendance
(b) Periodic Examinations
(c) Term Papers
(d) Quizzes

5.2 Course Content

Objectives (A) Contents Strategies/Activity Assessment Time Allotment References


At the end of the lesson, studemts Orientation
should be able to: I. Introduction to Software Engineering
1. define the software engineering a. What is Software Engineering? Lecture-discussion & Quiz & 4 hours lecture-discussion Pressman
process b. Objectives of Software visual presentation Long Test Sommerville
2. understand the importance of Engineering
software engineering c. The Systematic Process of
3. discuss the important Software Enginnering
characteristics of software d. Professional and Ethical
4. understand that the quality of Responsibility of Software Engineers
different applications may be
evaluated differently
5. know the ethical and
professional issues and to explain
why they are of concern to
software engineers
II. Software Life Cycle Lecture-discussion & Quiz & 4 hours lecture-discussion Pressman
a. Software Engineering Layers visual presentation Long Test Sommerville
1. look at the ‘life cycle’ of a b. Software Process
software c. The Process Model
2. understand the software process d. The Systematic Process of
and its related elements Software Engineering
3. relate to the different software e. Software Engineering
engineering paradigms Paradigms
Lecture-discussion & Quiz & 5 hours lecture-discussion Pressman
III. Software Project Management Visual presentation Long Test Sommerville
1. discuss the various aspects of a. What is a Project?
project management b. What is Management?
2. understand the tasks in software
c. What is Project Management?
project management
d. Primary Objectives of Project
3. describe the project titles in the
Management
course
4. describe the requirements of a e. Project Management Activities
project plan f. Project Management Problems
g. Project Planning
Lecture-discussion & Quiz & 5 hours lecture-discussion Pressman
Visual presentation Long Test Sommerville
1. discuss the tasks in planning a IV. Project Plan
project a. What is planning?
2. describe the tools that can be b. Basic Reason for Planning
used for developing a project plan c. Planning Steps
3. illustrate the use of graphical d. PERT / CPM
representations of project activities e. GANTT Chart
4. understand the importance of
the critical path in scheduling
Lecture-discussion & Quiz & 4 hours lecture-discussion Pressman
Visual presentation Long Test Sommerville
1. understand the importance of V. Software Metrics
measurement in software a. What is measure, measurement,
engineering and metric?
2. describe and compare the b. Size-Oriented Metrics
different metrics that can be used c. Function-Oriented Metrics
for measuring software
3. understand the important
factors that affect the measurement
of software Lecture-discussion & Quiz & 4 hours lecture-discussion Pressman
Visual presentation Long Test Sommerville
1. examine the elements of a VI. System Engineering and Analysis
computer-based system a. What is a system?
2. understand the development b. Phases of system life cycle.
process of a system c. System Engineering Heirarchy
3. illustrate the representations of d. System Modelling
a business information system Written Examination 1 hour scheduled examination
e. Software Requirements
Specifications
Lecture-discussion & Quiz & 3 hours lecture-discussion Pressman
MIDTERM EXAMINATION Visual presentation Long Test Sommerville
1. understand the importance of
specifying requirements correctly VII. Software Requirements Analysis
2. discuss the different a. Software Requirements
representations of requirements in Analysis
the analysis model b. Analysis Principles
3. illustrate the modelling of data c. Analysis Model
elements in the problem domain d. Entity-Relationship Diagram Lecture-discussion & Quiz & 3 hours lecture-discussion Pressman
Visual presentation Long Test Sommerville
1. illustrate the modeling of
functional and behavioral
characteristics of the problem VIII. Functional and Behavioural Modeling
domain a. What is Functional Modeling?
2. describe the elements of data
flow diagrams and the associated b. Data Flow Diagram
rules for drawing them correctly c. What is Behavioural Modeling?
3. describe the elements and usage d. State Transition Diagram
of state transition diagrams
Lecture-discussion & Quiz & 4 hours lecture-discussion Pressman
Visual presentation Long Test Sommerville
1. describe different methods of
specifying the software
requirements IX. Software Requirements Specification
2. illustrate the use of technical a. What is Software Requirements
methods for specifying certain Specification?
types of requirements b. Natural Language
3. describe the properties of good c. Decision Tables
software requirement
d. Decision Trees
specifications e. Mathematical Methods
f. Qualities of a Good Lecture-discussion & Quiz & 3 hours lecture-discussion Pressman
Specifications Visual presentation Long Test Sommerville
1. understand the importance of g. Traceability Methods
design in developing quality
software
X. Software Design Principles
2. describe the translation from
a. What is a Design?
the requirements analysis model to
the design model b. Designing Software
3. understand the principles that c. Translation Model
guide proper design of software d. Design Principles Lecture-discussion & Quiz & 3 hours lecture-discussion Pressman
e. Design Concepts Visual presentation Long Test Sommerville

1. describe the tasks in producing


and document the software design
2. understand the systematic XI. Software Design Notations
approach in producing the different a. What is Software Design?
levels of the software design b. Data Design
3. illustrate the different notations
that can be used to draw the design c. Architectural Design Lecture-discussion & Quiz & 3 hours lecture-discussion Pressman
d. Interface Design Visual presentation Long Test Sommerville
1. describe the process of e. Procedural Design
translating the DFDs to structure
charts
2. understand the systematic XII. Data-Flow Oriented Design
approach in producing the design a. Expanding the Data Flow
from the analysis model Diagram
3. understand the different types b. Types of Information Flow
of conversion that can be done in c. Transform Mapping
producing the structure chart Lecture-discussion & Quiz & 3 hours lecture-discussion Pressman
d. Refinement
Visual presentation Long Test Sommerville
e. Transaction Mapping
1. understand the significance of f. Design Postprocessing
assessing the quality of design
2. describe the major factors and
criteria in assessing the quality of XIII. Improving the Design
software design a. Design as a Creative Process
3. describe the concepts of b. Analysing the Software Design
coupling and cohesion in c. Coupling
measuring software design
d. Cohesion
e. Other Design Factors

Lecture-discussion & Quiz & 4 hours lecture-discussion Pressman


Visual presentation Long Test Sommerville

1. understand the important


aspects of user interface design XIV. User-Interface Design & Real-time Systems
2. discuss the guidelines for Design
producing better user interface a. What is User Interface?
3. understand the major issues in b. Human Factors
designing real-time systems
c. General Interaction Guidelines
4. illustrate the design
considerations for real-time d. Information Display Guidelines
systems e. Data Input Guidelines
f. What is Real-Time Systems?
g. Demands of Real-Time
Systems
h. Dynamic Attributes
i. Interrupt Handling and Context Written Examination 1 hour scheduled examination
Switching
j. Response Time
k. Data Transfer Rate and
Throughput
l. Resource Allocation and
Priority Handling
m. Task Synchronization and
Communication

FINAL EXAMINATION

6.0 References:

Pressman, R., Software Engineering (A Practitioner’s Approach) 5th Edition, Mc-Graw Hill, 2002

Sommerville, I., Software Engineering 6th Edition, Addison-Wesley, 2002