Professional Documents
Culture Documents
EE4001 Software Engineering - OBTL
EE4001 Software Engineering - OBTL
EE4001 Software Engineering - OBTL
Course Aims
The objective of this course is to provide students with an understanding of the essential software
engineering body of knowledge.
1. Describe basic software process models, identify their key characteristics and differences,
and select the appropriate software process model for a given case.
2. Specify information using entity-relationship model.
3. Specify conceptual realization of requirements using data flow diagram technique.
4. Specify conceptual realization of requirements and its design using class diagram technique.
5. Specify requirements using use-case technique.
6. Describe the major tasks carried out in structured analysis and unified software
development methodologies, and identify their differences.
7. Describe the types of software testing techniques and identify their differences.
8. Design test cases using the three black-box testing techniques: equivalent class testing,
boundary-value testing and cause-effect testing techniques.
9. Design test cases using the three white-box software testing techniques: statement
coverage testing, branch coverage testing, branch coverage testing and basis path testing
techniques.
10. Compute the three types of coverage analysis, statement coverage, branch coverage and
basis path coverage, to measure the quality of a test suite.
11. Describe the importance of Web Engineering and specify the unique 11 attributes of
WebApps.
12. Describe the concepts in WebApp modelling. Specify each element of analysis modelling
and design modelling.
13. Describe the importance of software project management (SPM). Specify four key
elements in SPM, and importance of using Metrics.
14. Describe the importance/limitation of project estimation, and specify three estimation
techniques: conventional, empirical models, and automatic tools. Estimate the effort of a
software project using the three estimation techniques.
15. Describe Precedence Activity Network (PAN) and construct a PAN for given activities, and
apply it for project scheduling.
16. Describe Earned Value Analysis (EVA) technique. Track the progress and current status of
a software project using EVA.
Course Content
1. Introduction to software engineering.
2. Software project management.
3. Software requirements and specifications.
4. Software design.
5. Software testing and maintenance.
Formative feedback
Four CAs are scheduled throughout the course duration to provide feedback on student’s
performance progressively.
page 2
2. Pressman Roger S, Software Engineering: A Practitioner's Approach, 8th Edition, McGraw-Hill,
2014. (QA76.758.P935S 2015)
3. Pezze Mauro, and Young Michal, Software Testing and Analysis: Process, Principles and
Techniques, Wiley, 2008. (QA76.76.T48P522)
4. Bob Hughes and Mike Cotterell, Software Project Management, 5th Edition, McGraw-Hill, 2009.
(QA76.76.D47H893)
5. Pressman Roger S and Lowe David, Web Engineering: A Practitioner's Approach, McGraw-Hill,
2009. (TK5105.88813.P935)
Students are expected to complete all lecture materials according to lecture schedule and complete
all the preplanned tutorial questions before each tutorial session. They are expected to attend all
the tutorial sessions and participate actively. Students are expected to take responsibility to follow
up with course notes, tutorial assignments and course related announcements for seminar sessions
they have missed.
(2) Absenteeism
Academic Integrity
Good academic work depends on honesty and ethical behaviour. The quality of your work as a
student relies on adhering to the principles of academic integrity and to the NTU Honour Code, a
set of values shared by the whole university community. Truth, Trust and Justice are at the core of
NTU’s shared values.
As a student, it is important that you recognize your responsibilities in understanding and applying
the principles of academic integrity in all the work you do at NTU. Not knowing what is involved in
maintaining academic integrity does not excuse academic dishonesty. You need to actively equip
yourself with strategies to avoid all forms of academic dishonesty, including plagiarism, academic
fraud, collusion and cheating. If you are uncertain of the definitions of any of these terms, you
should go to the academic integrity website for more information. Consult your instructor(s) if you
need any clarification about the requirements of academic integrity in the course.
Course Instructors
page 3
Planned Weekly Schedule
page 4
Appendix 1: Programme Outcomes
Outcome Description
Ability to design and conduct experiments, analyse, interpret data and synthesise
b
valid conclusions.
Ability to design a system, component, or process, and synthesise solutions to
c
achieve desired needs.
Ability to identify, formulate, research through relevant literature review, and solve
d
engineering problems reaching substantiated conclusions.
Ability to use the techniques, skills, and modern engineering tools necessary for
e engineering practice with appropriate considerations for public health and safety,
cultural, societal, and environmental constraints.
g Ability to recognise the need for, and have the ability to engage in life-long learning.
page 5