Docstoc

CSYM026_Software_Engineering__UMF_

Document Sample
CSYM026_Software_Engineering__UMF_ Powered By Docstoc
					UNIVERSITY MODULAR FRAMEWORK -MODULE SPECIFICATION

All items with a star (*) cannot be changed without approval.



SCHOOL *                 School Of Applied Sciences

DIVISION *               ASC Computing Division

FIELD*                   COMPUTER SYSTEMS

MODULE TITLE*            Software Engineering


MODULE CODE *        LEVEL*       CREDIT VALUE*       CO-ORDINATOR

CSYM026              7            20                  Peter Antony
                                                      Leadbetter


DELIVERY MODE(S)*        Standard
DELIVERY                 UON
LOCATION(S)*

PRE-REQUISITES*:

None

CO-REQUISITES*:

None

RESTRICTIONS*:

None

SUPPLEMENTARY REGULATIONS*:

This module has no supplementary regulations.

DESCRIPTION*:

This module will provide consolidation and an extension of the skills,
understanding and knowledge derived from an earlier module.     More
advanced topics will be studied in pursuit of robust re-usable and
sophisticated design mechanisms.
OVERALL AIM(S) FOR THE MODULE* (Max 2 bullet points)

The main aim of the module will be to study in depth some of the major
aspects of the various Design issues which impact on the building of the
software systems. Areas targeted include Software specification, GUI design
and software systems design.


LEARNING OUTCOMES*: (Max of 10)

On successful completion of the module, students will be able to:

Knowledge and Understanding
a)  understand and practice the principles of systematic robust object-
    oriented design principles;
b)  recognize the importance of sound underlying models for the design of
    user-interfaces and be able to exploit them fully;

Subject Specific
c)   be capable of taking a complex problem solution design and
     implementing a robust solution involving Design by Contract;
d)   create a sophisticated and functional GUI;
e)   display an knowledge of advanced generalisation/specialisation design
     issues;
f)   identify some of the standard design patterns;

Key Skills
g)   learning to learn: recognize and correct all but a few flaws in their
     proposed models;
h)   self management: monitor and control their own learning process;
i)   problem solving: develop an extensive range of skills for the
     construction of software systems.


INDICATIVE CONTENT:

Interface Design
Event-driven programming. Characteristics, design requirements. Building
GUIs; EiffelBuild, MVC, events listeners and actions, Agents, Patterns,
graphical components, layout and appearance.        I/O elements; labels,
buttons, panels, boxes, windows, menus and dialogs, Debugger.

Software Specification
Design by Contract, Guiding principles for creating pre-conditions, post-
conditions and class invariants. Client-supplier and inheritance relations,
Handling exceptions.
Software Design.
Business Object Notation, Encapsulation, data hiding, exported features,
Scope,    generalisation/specialisation,    Meyer's    Open-Closed    principle,
Single/Multiple Inheritance, Polymorphism, Typing and binding, Deferred
classes, Genericity, Persistent objects, files, Validation & Black Box testing,
Patterns, Frameworks, Components.
Agile practices.
The Agile Alliance, principles, Extreme Programming practices, whole team,
user stories, short cycles, acceptance tests, pair programming, TDD,
collective ownership, continuous integration, sustainable pace, open
workspace, planning game, simple design, refactoring, metaphor, Clean
code.


JUSTIFICATION OF TEACHING, LEARNING AND ASSESSMENT
STRATEGY*:

Ideas introduced and developed in lectures will be reinforced via
implementation in a single case study, to help students develop their skills,
knowledge and understanding.
Students are expected to be motivated learners who will to structure and
direct their own educational experiences. Their activities will include mainly
software development work and the background study that supports this.
They will be supported by the tutor who will provide the relevant guidance
and ensure that students are supported and progress successfully.

Teaching, Learning + Assessment Activities                 Study Hours
12 x 1 hr lectures                                         12
12 x 2 hr practical session/seminar                        24
In-course Assignment                                       50
Student-centred skills development                         114
TOTAL                                                      200

This module will be assessed through one practical time constrained
laboratory assessment (tcl), which will complement and reinforce the in-
course practical work which in turn is based on the underlying theory as
delivered in lectures.


CONTEXT*

This is a standard taught module.


ASSESSMENT STRUCTURE*

Assessment Items                         Units Weighting Learning Outcomes
AS1- Time Constrained Laboratory
      Assessment                             5     100       a-i
ASSESSMENT CRITERIA

The assessment will involve improving a software system which will include
Design by Contract, Multiple Inheritance, genericity and aspects of Agile
development and design.


APPROVAL/ REVIEW DATES:

Version: 2

Date of approval: 12 May 2009

				
DOCUMENT INFO