Is3139 Cis

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

Course information 2019–20

IS3139 Software engineering: theory and


application
This course covers the methods, values, attitudes and techniques in software systems. It provides
an understanding of the need for rigour, and enables students to select and apply a relevant
methodological approach to the development of well designed and documented systems.

Prerequisite Learning outcomes


If taken as part of a BSc degree, courses which At the end of this course and having completed
must be passed before this course may be the essential reading and activities students
attempted: should be able to:

IS2062 Information systems development and  describe the expectations, pressures and
management and problems faced in developing software and
IS2138 Information and communication the need for processes, tools, techniques
technologies: principles and perspectives. and approaches
 outline the underlying processes of
software engineering and critically assess
Aims and objectives relevant approaches
The main aims of this course are to:
 introduce students to the overarching
 analyse, design, test and maintain software
systems and document these actions
concerns of software engineering practice correctly.
 provide an understanding of the various
processes software engineers may employ in
developing software
 develop an understanding of the tools and
techniques employed in contemporary Essential reading
software engineering For full details, please refer to the reading list
 provide students with an experience of the
way techniques are applied in practice (this Pressman, R.S. Software Engineering: A
is achieved through the individual project Practitioner’s Approach. Adapted by D. Ince.
work) (London: McGraw Hill)
 develop the capacity to identify relevant Sommerville, I. Software Engineering.
approaches to software engineering. (Wokingham: Addison Wesley)

Assessment
This course is assessed by a three-hour unseen
written examination and coursework. See
‘Coursework and assessment’ overleaf.

Students should consult the appropriate EMFSS Programme Regulations, which are reviewed on an annual basis. The Regulations
provide information on the availability of a course, where it can be placed on your programme’s structure, and details of co-requisites
and prerequisites.

IS3139 Software engineering: theory and application Page 1 of 2


Syllabus
This is a description of the material to be examined. On registration, students will receive a detailed subject
guide which provides a framework for covering the topics in the syllabus and directions to the essential
reading

This syllabus covers the methods, attitudes and Reuse


values which underlie professional  Reasons for reuse.
contemporary software systems development.  Concept reuse – patterns, configurable
The emphasis is on how to undertake formal systems products and program generators.
software development through requirements  Component-based software engineering.
specification, design and implementation, but Computer Aided Software Engineering (CASE)
within a broader understanding of software Tools.
engineering practices. Documentation and Help Systems.
Project management in software engineering.
Section 1: Software Engineering Process Documentation and help systems.
 The changing pressures on software Managing Software Engineering Projects.
engineering practices: History of the field,
definition of software, the software crisis. Coursework and assessment
 The Process for Developing Software and its The examination will be three hours and consist
importance of seven questions of which students must
 The Capability Maturity Model answer four. This will contribute 60% to the
 The traditional software engineering overall mark.
process: The lifecycle model, evolutionary
software development, incremental software Students will undertake a project for the
development, spiral model. Prototyping remaining 40% of marks. This will require them
 Rapid software development to review a software engineering approach or
 Internet speed web based application technique, apply this to a real problem and
development finally reflect on the experience. The project will
 End-user development. require them to write a short essay describing
 Agile methods the approach they are intending to apply and its
 Extreme programming relevance to the problem chosen. They will then
 Refactoring present an account of how the approach was
applied in practice. This should include the
Section 2: The Practices of software relevant documentary material required for the
engineering: chosen approach (e.g. if the Rational Unified
Introduction to Structured vs. object oriented Process is chosen UML diagrams and various
paradigms. documents should be included).
Acquiring requirements Finally they will need to complete a two page
Specifying requirements and design (both pro forma in which they will reflect on the
structured and object oriented) practice of developing the system from the
 Structured approaches: ER diagram, Data approach chosen. This should include lessons
flow diagrams, Data dictionary learnt and critical reflections on the process. A
 OO approach (Using UML): Use-case bibliography must also be provided
diagrams, Class diagrams, Object sequence demonstrating reading beyond the core
diagrams, State-chart diagrams textbooks.
Features of good design
Coding and configuration management Students are not required to produce
Implementation and testing (both structured programming code, but rather are assessed on
and object oriented) their attempt to apply software engineering
 Choice of programming languages and techniques and principles in practice. The focus
techniques is not on the produced system but on the quality
 Test planning of the process undertaken, the coherence of the
 White-box and black-box testing documents presented and how successful the
 Testing automation documents would be in developing a software
 Implementation system. Clearly however, for some students
Maintenance and software evolution programming will be an integral part of this
 Systems re-engineering for Legacy systems exercise.

IS3139 Software engineering: theory and application Page 2 of 2

You might also like