EE4001 Software Engineering - OBTL

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Teaching, Learning and Pedagogy Division

Reg. No. 200604393R

Academic Year 2016-2017 Semester 2


Course Coordinator Dr Tan Hee Beng Kuan
Course Code EE4001/IM2001
Course Title Software Engineering
Pre-requisites NIL
No of AUs 3
Contact Hours 38 hours (26 hours lecture and 12 hours tutorial)
Proposal Date 16-05-2016

Course Aims
The objective of this course is to provide students with an understanding of the essential software
engineering body of knowledge.

Intended Learning Outcomes (ILO)


By the end of this course, you (as a student) would be able to:

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.

Teaching, Learning and Pedagogy Division


LT19A-B4-01, 50 Nanyang Avenue, Singapore 639798
65923739
TLPD-OBTL@ntu.edu.sg http://www.ntu.edu.sg/tlpd
17. Describe element of risk in software projects. Specify techniques for risk and quality
management.

Course Content
1. Introduction to software engineering.
2. Software project management.
3. Software requirements and specifications.
4. Software design.
5. Software testing and maintenance.

Assessment (includes both continuous and summative assessment)

Component Course LO Related Weighti Team/ Assessment


Tested Programme LO ng Individual rubrics
or Graduate
Attributes
1. Final All EAB SLO* a, b, c, 60% Individual
Examination d, e, f, g, i
2. Continuous 1, 2, 3, 4, 5 EAB SLO* a, b, c, 10% Individual
Assessment 1 d, g, i
(CA1):
Homework
Assignment
3. Continuous 1, 2, 3, 4, 5, EAB SLO* a, b, c, 10% Individual
Assessment 2 6, 7, 8 d, e, g, i
(CA2): Quiz
4. Continuous 9, 10, 11, EAB SLO* a, b, c, 10% Individual
Assessment 3 12, 13 d, e, g, i
(CA3):
Homework
Assignment
5. Continuous 9, 10, 11, EAB SLO* a, b, c, 10% Individual
Assessment 4 12, 13, 14 d, e, f, g, i
(CA4): Quiz
Total 100%

Formative feedback
Four CAs are scheduled throughout the course duration to provide feedback on student’s
performance progressively.

Learning and Teaching approach


Lectures are conducted to introduce the concepts, techniques and methodologies covered in the
course. In addition, tutorials are conducted to complement the lectures to elaborate on further
details and to apply the key techniques. These tutorials are conducted interactively through asking
students on preplanned questions and additional related questions. Students can also ask questions
on the related contents.

Reading and References


References
1. Sommerville Ian, Software Engineering, 9th Edition, Addison-Wesley, 2011. (QA76.758.S697
2011)

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)

Course Policies and Student Responsibilities


(1) General

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

Absentees from CAs are governed by the following policies:


1. Absentees should contact tutors within one week of the CA.
2. Absentees with valid reasons can request to take a separate or make-up CA within 2 weeks of the
original CA. If make-up CA is not feasible, marks will be recorded as MC.
3. If absentees do not contact the tutor, zero marks will be awarded.

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

Instructor Office Location Phone Email


Dr Tan Hee Beng S2-B2c-109 67805631 ibktan@ntu.edu.sg
Kuan
A/P Chen Lihui S1-B1c-96 67904484 ELHCHEN@ntu.edu.sg

page 3
Planned Weekly Schedule

Week Topic Course LO Readings/ Activities


1 Process Models and Structural 1, 2
Methods for Requirements
Analysis I
2 Structural Methods for 3, 6 Tutorial 1
Requirements Analysis II
3 Structural Modeling using Unified 4 Tutorial 2
Modeling Language
4 5 Tutorial 3, CA1
Behavioral Modeling using
(Homework
Unified Modeling Language
Assignment)
5 Unified Software Development 6, 7 Tutorial 4
Process; Introduction to Software
Testing
6 Functional Testing Techniques 8 Tutorial 5
7 Structural Testing Techniques; 9, 10 Tutorial 6, CA2(Quiz)
Test Coverage Analysis
Recess
8 WebApp introduction: Attributes; 11 Tutorial 7
Process; Analysis Modeling
9 12 Tutorial 8, CA3
Design Modeling; WebApp
(Homework
Testing
Assignment)
10 Software Project Management: 13 Tutorial 9
Concepts; Metrics
11 Project Estimations & Techniques 14 Tutorial 10
12 Scheduling & Tracking Concepts 15, 16 Tutorial 11, CA4
& Techniques: PAN; Earned Value (Quiz)
Analysis
13 Risk Management; Quality 17 Tutorial 12
Management

page 4
Appendix 1: Programme Outcomes

Outcome Description

Ability to apply knowledge of mathematics, science and engineering to the solution


a
of complex engineering problems

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.

f Ability to communicate effectively.

g Ability to recognise the need for, and have the ability to engage in life-long learning.

Ability to understand the impact of engineering solutions in a societal context and to


h
be able to respond effectively to the needs for sustainable development.

Ability to function effectively within multi-disciplinary teams and understand the


i
fundamental precepts of effective project management.

j Ability to understand professional, ethical and moral responsibility.

page 5

You might also like