Sie sind auf Seite 1von 17

School of Engineering

Department of Electrical, Electronic and Computer Engineering

Software Engineering
EPE 321

Lecturer: Mrs M Ballot


Last revision: 06 July 2017

Copyright reserved
CONTENTS

ORGANISATIONAL COMPONENT

1. GENERAL PREMISE AND EDUCATIONAL APPROACH .............................................................. 3


2. LECTURERS, VENUES AND CONSULTING HOURS ................................................................... 3
3. STUDY MATERIALS AND PURCHASES ..................................................................................... 4
4. LEARNING ACTIVITIES ............................................................................................................. 4
5. RULES OF ASSESSMENT .......................................................................................................... 5

STUDY COMPONENT

1. MODULE OBJECTIVES, ARTICULATION AND LEARNING OUTCOMES ..................................... 8


2. MODULE STRUCTURE ............................................................................................................. 10
3. GUIDELINES FOR USING THE STUDY THEME DESCRIPTIONS ................................................. 11
4. STUDY THEME DESCRIPTIONS ................................................................................................ 13

2
ORGANISATIONAL COMPONENT

This guide is Part 2 of the study guide for this module and contains information that is specific to the
learning content of the module. Part 1 of the study guide is available on the EECE undergraduate clickUP
page and contains the general rules and policy applicable to all undergraduate modules offered by the
Department of Electrical, Electronic and Computer Engineering. Where this part of the study guide
contradicts information and general rules given in Part 1, the information and rules as given in this part of
the study guide enjoy preference.

1. GENERAL PREMISE AND EDUCATIONAL APPROACH

Over the last three decades software engineering has grown into a huge international enterprise
with an enormous impact on the community and our daily lives. It is deserving of formal academic
study and analysis.

You are expected to participate in discussions during lectures and tutorial classes. We focus on
insight and understanding, not mere memorisation of facts. As your fellow students depend on the
inputs you make, your participation is crucial. After all, you are also dependent on their
contributions.

The lecturers may make changes to the content of this study guide to better promote
understanding. Any such changes will be announced on during lectures and on the modules
clickUP page.

2. LECTURERS, VENUES AND CONSULTING HOURS

Name Building and Telephone number


room number and e-mail address
Lecturer Mrs M. Ballot Eng 1, 13-19 012 420 4268
Magdaleen.Ballot@up.ac.za
Assistant lecturer Mr J.G.F Langenhoven Eng 1, 13- j.g.f.langen3@gmail.com

Secretary Ms R. Herman Eng 1, 13-20 012 420 3735


Rene.Herman@up.ac.za

Location of the laboratory: Networking Lab A, Engineering 3.

Location of the notice board: All notices about this module will be made available on its clickUP
page.

3
Consulting hours
Consulting hours for lecturers, tutors and teaching assistants will be announced at the beginning
of the semester, and will also be displayed on their office doors. Students may consult lecturers,
tutors and teaching assistants only during the consulting hours and by appointment. This policy
also holds before tests and exams. In other words, lecturers, tutors and assistant lecturer are only
available during their normal consulting hours on the day before a test or examination. This policy
aims to encourage students to plan their work and to work continuously.

3. STUDY MATERIALS AND PURCHASES

Prescribed textbook
Pressman, Roger S., 2015, Software engineering, a practitioners approach. Eighth Edition,
McGraw-Hill. ISBN: 978-1-259-25315-7

A set of the slides that will be presented during lectures, as well as other relevant study materials,
will be loaded on to the modules clickUP page during the course of the semester. Additional study
resources will also be used. Details of the additional resources will be made available during the
semester.

4. LEARNING ACTIVITIES

4.1 Contact time and learning hours


This module carries a weighting of 16 credits, indicating that on average a student should spend
about 160 hours to master the required skills (which includes time for preparation for tests and
examinations). This means that on average you should devote about 11 hours of study time per
week to this module.

4.2 Lectures
Lectures are presented in co-operative and student-centred learning style. Students are expected
to prepare for lectures.

4.3 Tutorial classes


Tutorial classes will be self-study. The assistant lecturer will be available in the Networking Lab
during tutorial sessions.

4.4 Assignments
Several homework assignments will be given during the semester, and will contain problems and
exercises related to the subject matter. The dates for submission of these assignments will be

4
announced later. No late submissions will be accepted. The marks obtained in assignments are
incorporated in the semester mark (see below).

4.5 Project work


Each student has to attend and complete all the required practical sessions during the semester.
The practical sessions are compulsory. Failure to attend a practical session, or to hand in a
report at the specified time, will result in your being denied permission to write the final
examination. Practicals will take the form of a multi-stage development of a specified software
product.

4.6 Practical assignment and teams


Students will work in teams to study, implement, and document a project, which will require them
to apply the knowledge obtained during the course. Details of assignments and the project will be
provided at a later stage in a separate document.

The contribution section of the prescribed cover page for group assignments does not have to be
completed for assignments in EPE 321 as they will all form part of the semester project. The
contributions of the various group members to the group project will be determined at the end of
the semester. The mark an individual student receives for group work is the product of the mark
allocated to the group and the portion of work done by that individual student as a ratio of the
portion that is expected of each student. For example, if there are five people in the team and
student A contributed 20% of the work, the actual mark awarded to the group will be awarded to
student A; if student A only contributed 10% of the total work, he/she will be awarded half the
mark awarded to the group.

5. RULES OF ASSESSMENT

Please refer to the examination regulations in the yearbooks of the Faculty of Engineering, Built
Environment and Information Technology (Part 1: Engineering

Requirements for admission to the exam


A semester mark of at least 40% and
an average of more than 40% for the semester tests or a minimum of 50% for the first
semester test

Pass requirements
In order to pass the module a student must:
obtain a final mark of at least 50%, and
obtain a sub-minimum of 50% for the project.

5
Calculation of the final mark
The final mark is calculated as follows:
Semester mark: 50%
Examination mark: 50% (The final examination takes three hours.)

Semester mark
The semester mark is calculated as follows:
Semester test 1: 17%
Semester test 2: 17%
Homework: 6%
Software project: 60%

Comprising of

Mark for the Individual: 30%


Which will comprise of
21% Demonstration and code of individual component as tested against predefined unit tests.
4% for the individual requirement analysis
3% for the individual design
3% for peer evaluation mark.

Mark for the Group's work: 30%


which will comprise of
20% mark for the final demo
6% groups design, including test definitions and Doxygen documentation
2% Coding Guidelines
2% User Manual.
The group mark will be multiplied by the contribution mark awarded by the group.

A 50% sub-minimum is required for the individual part of the project mark.

Semester tests
Two tests of 90 minutes each will be written during the scheduled test weeks of the School of
Engineering:
First test week: 19 to 26 August 2017
Second test week: 9 to 14 October 2017
Dates, times and venues will be announced as soon as they are made known.

Practical material may form part of the semester tests.

6
Any absence from semester tests must be supported by an official and valid statement (eg a
medical certificate) and must be submitted to Mrs Cornel Freislich (Eng 1, 15-8) within three days
of the date of the test. All legitimate absentees will be allowed to write a special semester test at
the end of the first semester, after the second test week. This test will be based on all the work
done in the module at that stage.

The lecturer reserves the right to make various changes to the content of this study guide during
the course of the semester. Any changes will be announced in class and will be posted on the
modules clickUP page.

7
STUDY COMPONENT

1. MODULE OBJECTIVES, ARTICULATION AND LEARNING OUTCOMES

1.1 General objectives

Software Engineering deals with the application of proper, well-defined engineering principles to
the development and maintenance of high-quality software, with the following goals in mind:
production of fully functional software,
within the given time constraints, and
within budget.
Software Engineering also deals with the production by a team of large software systems where
no one person has complete knowledge of all the details. Clear written and verbal communication
among team members, clients and users is vital. The following disciplines are incorporated in any
software engineering project:
computer science,
engineering design,
project management, and
human interaction.
The general objective of this module is to place emphasis on understanding rather than
memorisation of software engineering principles. Students will be expected to implement these
principles in their semester project.

1. Learning is best facilitated when there is a genuine need to know! The purpose of lectures is
to facilitate and aid your learning by creating an awareness of a knowledge vacuum. However,
the process of meaningful learning is only possible when it is driven by your genuine
enthusiasm and desire to learn, and sparked by the challenge to acquire and master new
concepts. It is not the lecturer's responsibility to make you learn, but rather to work with you
to help you make the best use of an opportunity.

2. The lectures provide an important overview of the work, and as far as time allows, an
opportunity to understand the details of various techniques. However, due to the limited
contact time, self-study is an essential component of the course without which it will be
impossible to master the work.

3. This study guide provides only a rough outline of the work covered. Your most important
source of information is your textbook and lectures.

8
4. We assume that you attend class and therefore important announcements will be made in
class, such as arrangements for practical sessions, homework assignments and tutorials, and
discussions about the content of tests. Where possible, these will also appear on clickUP.

1.2 Articulation with ECSA outcomes

Programmes presented by the Department of Electrical, Electronic and Computer Engineering


have been designed to meet the eleven ECSA outcomes that qualify the competencies required of
professional engineers. While most modules contain at least a small component of a number of
ECSA outcomes, only the main outcomes that are addressed in the module are indicated for that
module.

This module is presented at the developmental level for achieving outcomes 3 and 8.

Refer to the general study guide (Part 1) for a complete overview of the association of ECSA
outcomes with the modules in each degree programme.

Exit-level outcome 3: Engineering design


Perform creative, procedural and non-procedural design and synthesis of components, systems,
engineering works, products or processes.

Exit-level outcome 8: Individual, team and multidisciplinary working


Demonstrate competence to work effectively as an individual, in teams and in multidisciplinary
environments.

9
2. MODULE STRUCTURE

The following topics will be covered in the course (the allocated time is an estimation):

Study theme Chapter Contact Self-


hours study
hours
Administration and Chapter 1 The nature of software 1 2
introduction Chapter 2 Software engineering
The software Chapter 3 Software process structure 4 8
process Chapter 4 Process models
Chapter 5 Agile development
Class notes and additional material on clickUP
Teamwork Chapter 6 Human aspects of software engineering 1 9
Principles Chapter 7 Principles that guide practice self-study 0 3
Requirement Chapter 8 Understanding requirements 7 24
analysis Chapter 9 Scenario-based methods
Chapter 10 Class-based methods
Chapter 11 Behaviour, patterns and web/mobile apps
Design Chapter 12 Design concepts 8 36
Chapter 13 Architectural design
Chapter 14 Component-level design
Chapter 15 User interface design
Chapter 16 Pattern-based design
Chapters 17 & 18 Web and mobile app design
Quality Chapter 19 Quality concepts 9 30
management Chapter 20 Review techniques
Chapter 21 Software quality assurance
Chapters 22 to 26 Testing
Chapter 27 Security engineering
Chapter 28 Formal modelling and verification
Chapter 29 Software configuration management
Chapter 30 Product metrics
Additional sources on formal methods
Managing software Chapter 31 Project management concepts 6 12
projects Chapter 32 Process and project metrics
Chapter 33 Estimation of software projects
Chapter 34 Project scheduling
Chapter 35 Risk management
Chapter 36 Maintenance and re-engineering

10
3. GUIDELINES FOR USING THE STUDY THEME DESCRIPTIONS

The information given in the following section of this study guide under the various study themes
is intended to assist students in their learning so that they can acquire the required skills and
achieve the learning outcomes effectively. The following items are included in the section on each
study theme:

3.1 Learning outcomes of the study theme

The learning outcomes given for each study theme are essential to achieve the critical learning
outcomes as set out in point 1.2.

3.2 Study units

The title of the study unit and references to appropriate study material are given here. The study
of the referenced study material is regarded as the minimum required to achieve the learning
outcomes satisfactorily.

3.3 Self-study activities

Information is given about exercises and problems related to the study material. These exercises
and problems should be attempted and are in accordance with the assessment criteria of the
study theme.

3.4 Assignments for assessment

Information is given about assignments to be submitted for marking and assessment.

3.5 Assessment criteria

The assessment criteria are a list of specific skills the student has to master in order to achieve the
learning outcomes of the syllabus theme. During assessment (tests and the examination), students
will be evaluated in terms of these criteria.

The statements used to define the assessment criteria are classified in terms of a series of lower-
to higher-order thinking skills (cognitive domains), in accordance with Bloom's taxonomy of
educational objectives (Bloom, BS and Krathwohl, DR. 1984. Taxonomy of educational objectives.
Handbook 1. Cognitive domain. Addison-Wesley):

11
6. EVALUATION
5. SYNTHESIS

4. ANALYSIS
Level of
3. APPLICATION Complexity

2. COMPREHENSION
1. KNOWLEDGE

The characterisation of the cognitive domains is given in the table below.


Cognitive domain Definition Typical action verbs

1. Knowledge Remembering previously Arrange, define, describe, identify,


learned information. label, list, match, name, outline

2. Comprehension Understanding the Classify, discuss, estimate, explain,


meaning of information. give example(s), identify, predict,
report, review, select, summarise,
interpret, in your own words

3. Application Using the information Apply, calculate, demonstrate,


appropriately in different illustrate, interpret, modify, predict,
situations. prepare, produce, solve, use,
manipulate, put into practice

4. Analysis Breaking down the Analyse, appraise, calculate, compare,


information into the criticise, derive, differentiate, choose,
components parts and distinguish, examine, subdivide,
seeing the relationships. organise, deduce

5. Synthesis Putting the component Assemble, compose, construct,


parts together to form create, design, determine, develop,
new products and ideas. devise, formulate, propose,
synthesise, plan, discuss, support

6. Evaluation Making judgments of an Appraise, assess, compare, conclude,


idea, theory, opinion, etc, defend, determine, evaluate, judge,
based on criteria. justify, optimise, predict, criticise

12
The list of assessment criteria for a study theme and the learning outcomes envisaged should
contain statements applicable to all six levels of thinking. Accordingly, students will be evaluated
in terms of a mix of all six levels of thinking skills. At first-year level, a larger proportion of
questions will be based on the lower levels (levels 1 to 3), whereas final-year examinations will
contain a larger proportion of questions based on the higher-levels of thinking skills (levels 4 to 6).

4. STUDY THEME DESCRIPTIONS

4.1 STUDY THEME 1: Introduction and software development processes

4.1.1 Learning outcomes

After completion of this study theme the student will:


Know and understand what software and software engineering are and know the definitions of
the concepts.
Understand the challenges in software development.
Know the application domains of software.
Understand how the quality focus and requirements are substantiated in the use of process
models, methods, techniques and tools.
Know and understand the generic framework process model.
Understand the role of different umbrella activities in the development process.
Understand how and why process models can be adjusted.
Know and understand Polya's description of the essence of software engineering practice.
Know and understand David Hooker's principles for the development of software.
Recognise and expose different myths that exist in software engineering.

4.1.2 Study units

Pressman & Maxim, chapters 1 and 2


Class notes

4.1.3 Self-study activities

Exercises on clickUP.

4.2 STUDY THEME 2: Software development processes

4.2.1 Learning outcomes

After completion of this study theme the student will:


Understand the importance and role of software development processes.

13
Be able to distinguish among different kinds of process model and be able to provide and
recognise examples of each.
Know the different prescriptive software process models, the strengths and weaknesses of
each and know for which application each one would be suitable.
Understand the need for agile development and the role thereof.
Know and understand the agile manifesto and be able to conduct a debate on it.
Explain the potential advantages of agile development in the correct application.
Know and be able to use different agile development models and know their properties.

4.2.2 Study units

Pressman & Maxim, chapters 35


Class notes

4.2.3 Self-study activities

Exercises on clickUP and application in the group project.

4.3 STUDY THEME 3: Teamwork

4.3.1 Learning outcomes

After completion of this study theme the student will:


Know the properties of a good software engineer and display the properties while working on
the group project.
Understand the psychology of software engineering and be able to use the knowledge pro-
actively in the project development team.
Know the qualities of a successful team and be able to encourage these qualities in the team of
which he/she forms part.
Know and understand the different team/organisational structures and know when each one
will be more appropriate.
Be able to identify team toxicity and know how to address and prevent it.
Know the properties of agile teams and, where applicable, be able to promote that in a team.
Be able to use social media effectively in team cooperation, understand the potential dangers
of social media on team cohesiveness and know how to prevent these.
Have knowledge of collaborative development environments (CDEs).
Understand and be able to explain the realities of global teams.

4.3.2 Study units

Pressman & Maxim, chapter 6


Class notes

4.3.3 Self-study activities

14
Exercises on clickUP and application in the group project.

4.4 STUDY THEME 4: Software engineering principles

4.4.1 Learning outcomes

After completion of this study theme the student will:


Know and understand the different principles that must be applied during the software
development process and apply them effectively during the different phases of the project.

4.4.2 Study units

Pressman & Maxim, chapter 7

4.4.3 Self-study activities

This chapter is self-study. The principles must be reviewed as each phase of the development
process is discussed and must be applied in the group project.

4.5 STUDY THEME 5: Requirement analysis

4.5.1 Learning outcomes

After completion of this study theme the student will:


Know and understand the different phases of requirement analysis and be able to carry them
out.
Be able to compile a multi-faceted analysis model as an individual and in a group.
Be able to compile a complete software requirement specification.
Know, understand and be able to apply all study material contained in the study units below.

4.5.2 Study units

Pressman & Maxim, chapters 811


Class notes

4.5.3 Self-study activities

Exercises on clickUP, development of a software requirement specification for software project.

4.6 STUDY THEME 6: Design

4.6.1 Learning outcomes

After completion of this study theme the student will:

15
Know and understand the different design concepts.
Understand which properties are desirable in software design and understand which
advantages these properties have.
Be able to draw relations between the desirable properties.
Know the different design elements and models, understand the role of each one, and be able
to apply the different models to problems.
With reference to the group project, be able to compile a relevant design specification that will
result in effective and high-quality implementation of the product.
Know the properties of a good user interface, be able to evaluate a user interface, and be able
to design a good user interface.

4.6.2 Study units

Pressman & Maxim, chapters 1218


class notes

4.6.3 Self-study activities

Exercises on clickUP, and development design specification for software project.

4.7 STUDY THEME 7: Quality management

4.7.1 Learning outcomes

After completion of this study theme the student will:


Understand the importance of software quality.
Know and understand the cost of ensuring quality and the potential costs of a lack of quality.
Know and understand the different definitions and factors related to software quality and
know how to apply these in the software development process.
Know, understand and be able to apply reviewing methods, and know and be able to explain
the advantages of these methods.
Know and be able to apply software quality assurance principles and approaches, and know
the relevant quality standards.
Know the different test strategies and techniques, know the advantages and disadvantages of
each, and apply an appropriate approach to the group project.
Understand the importance of security and privacy in modern software, and make provision
for these in the group project.
Have knowledge of formal methods, and understand the motivation for applying these
methods.
Understand the importance and role of configuration management in software development.
Know which items must be submitted to configuration management.
Understand the configuration management process.
Apply configuration management to the group project.
Understand the role of measurements and metrics in quality management, and know
examples of metrics, their applications, advantages and disadvantages.

16
4.7.2 Study units

Pressman & Maxim, chapters 1930


Class notes

4.7.3 Self-study activities

Exercises on clickUP, and application in the group project.

4.8 STUDY THEME 8: Managing software projects

4.8.1 Learning outcomes

After completion of this study theme the student will:


Know the spectrum of management and understand the priorities.
Know the W5HH principle and be able to apply it to any project
Know the role of process and project metrics, as well as examples.
Know the advantages and disadvantages of different metrics.
Know the different approaches to project estimation and understand the advantages and
disadvantages of each approach.
Understand the principles of project scheduling.
Understand the relation between total effort, number of people and time allowed for the
development of various software projects.
Understand what is meant by the mythical man month.
Know and apply risk management in the context of software engineering.
Understand the challenges of software maintenance.
Understand the different approaches to software maintenance and re-engineering.
Understand the advantages, disadvantages and scenarios in which each approach will be most
appropriate.
Know how to design the process and the project to meet the requirement for maintainability
and ensure maintainability of the product delivered for the group project.

4.8.2 Study units

Pressman & Maxim, chapters 3136


Class notes

4.8.3 Self-study activities

Exercises on clickUP, and application in the project.

17

Das könnte Ihnen auch gefallen