57
Synopsis of Course Content
This course is designed to provide with in-depth
knowledge on software testing and its test process.
The course covers the basic principles of software
testing and test activities that include the test plan,
test design, monitoring, implementation and test
closure. The students will also learn various
categories of test design techniques and methods
used in both black box and white box testing. At the
end of this course, students should be able to
recognize various types and levels of testing as well
as categorizing and applying software testing
process and techniques.
Assessment Methods
Continuous Assessment: 50%
Final Examination: 50%
WIF3002
SOFTWARE PROCESS AND QUALITY
Credit:
3
Course Pre-requisite(s):
None
Medium of Instruction:
English
Learning Outcomes
1. Define the fundamental concepts of software
quality, software process and software process
improvement.
2. Describe the components and activities involved
in Software Quality Assurance (SQA).
3. Apply various existing software development
methodologies.
4. Analyze various software process improvement
models and quality management standard.
Synopsis of Course Content
This course covers software quality, software
process and software process improvement. It
introduces the software quality assurance and the
importance of process quality. Various existing
software development methodologies are also be
studied. The later part discusses software process
improvement. Various models that support software
process improvement are presented, and these
include the CMMI, ISO 9000, SPICE, PSP and TSP.
Assessment Methods
Continuous Assessment: 50%
Final Examination: 50%
WIF3003
CONCURRENT PROGRAMMING
Credit:
3
Course Pre-requisite(s):
WIX1002 Fundamentals of Programming
WIA2004 Operating Systems
Medium of Instruction:
English
Learning Outcomes
1. Define the concept of concurrent processing.
2. Identify methods to implement concurrent
processing.
3. Classify systems requiring simultaneous
process execution.
4. Solve problems related to concurrent systems.
Synopsis of Course Content
Concurrent programming plays a vital role in systems
where many events appear to occur simultaneously.
This course aims to provide an introduction to the
problems common to concurrent systems such as
operating systems, distributed systems and real-time
systems, and practical knowledge of the
programming constructs and techniques offered by
modern concurrent programming languages.
Assessment Methods
Continuous Assessment: 50%
Final Examination: 50%
WIF3004
SOFTWARE ARCHITECTURE AND DESIGN
PARADIGMS
Credit:
3
Course Pre-requisite(s):
WIA2002 Software Modelling
Medium of Instruction:
English
Learning Outcomes
1. Differentiate between function-oriented, object-
oriented and data-structure centered design
methods.
2. Apply the design principles in producing
software design.
3. Analyze software architecture.
Synopsis of Course Contents
This course covers detailed design and architecture
design of software system. These include design
issues and design principles; the different types of
design methods such as function-oriented design,
object-oriented design (emphasising on deployment
diagram),
data-structure
centered
design;
architecture design; architectural structures and
views; quality attributes; tactics to achieve quality
attributes; architectural styles/patterns (such as
client-server, peer-to-peer, layered, and so on);
introduction to design patterns (such as Singleton,
Template Method, and so on); domain specific
architectures; and tools.
Assessment Methods
Continuous Assesssment: 50%
Final Examination: 50%
WIF3005