Swansea University Gwyddor Cyfrifiadur

Module: CS_254, Software Engineering

Announcement:

[20 Jan '11] Grid Tools Ltd agrees to sponser the 1st, 2nd and, 3rd place group prizes! grid-tools.com

[2 Oct '10] Please visit the new CS_254P Software Engineering Tutorial web page.

[1 Oct '10] Software Engineering meets (1+2) Mondays at 14:00 and 15:00 in the Taliesin Annexe Arts Hall and (3) Thursdays at 16:00 in Faraday Building room J.

We post some useful links to supplementary material here in order to help second year students with their study of software engineering.

Helpful Reading and Documentation:

  1. Free Tech Books: No more using the money excuse for not having your textbooks. Here you'll find free online computer science and programming books, textbooks, and lecture notes.
  2. Software Engineering 8 by I. Sommerville, the web site to accompany the book
  3. Software Engineering: Principles and Practice, by H. van Vliet, accompanying web site
  4. Interaction Design, Beyond Human-Computer Interaction by J. Preece et al., the web site to accompany the book (Recommended by Max Wilson)
  5. Human-Computer Interaction, 3rd Edition by A. Dix et al., the web site to accompany the book
  6. Practical Software Engineering: A Case Study Approach by L.A. Maciaszek and B.L. Liong, the web site to accompany the book
  7. Designing Object-Oriented Software by Wirfs-Brock et al., the web site to accompany the book
  8. Module Evaluation Questionnaire: please help improve future editions of the module using this feedback.
Links Related to Human-Centered Software Development:
  1. Usability.gov: offers guidelines on how to develop usable and useful web sites. The heuristics are also applicable to software applications.
  2. Externalisation – how writing changes thinking: by Alan Dix (on the benefits of personas)
  3. Apple's 1987 Knowledge Navigator Video
Documentation and Links directly related to Assessed Coursework:
  1. Team A
    swaps with
    Team B
    Group 3 Group 5
    Group 6
    Great A4 Demo
    Group 9
    Group 10 Group 12
    Group 7 Group 11
    Group 1 Group 2
    Group 4
    Good A3 Design
    Group 8
  2. Assignment 4 Assessment Report (LaTeX file)
  3. Assignments 3 and 4: The requirements for the third and fourth assignments.
  4. Assignment 2: The requirements for the second assignment.
  5. Assignment 1: A description of the first group assignment. -->
  6. Bob's Minutes of Meeting Protocol: Your group meetings use this protocol.
  7. Directions on how to set up a web page on the CS server.
  8. Bob's Concise Coding Conventions (C3) in Advances in Computer Science and Engineering (ACSE), Vol. 4, No. 1, February 2010, pages 23-36
  9. Bob's Concise Introduction to Doxygen

Schedule of Lectures, 2010-2011

Legend Meaning
  Meta Classes tell us about processes and their motivation
Reason Group work opportunity (no formal lecture)
  Coursework Deadline
COLORED Indicates phase of the software cycle we are studying

Semester 1 2010(-2011)

Phase Week Monday Lecture 1 Monday Lecture 2 Thursday Lecture Deadline
Introduction

1

4 Oct
Software Engineering (SE) Intro,
The Software Crisis
(RSL + MLW)
Motivation and Software Life-Cycle Phases
(RSL)
Software Life-Cycle Models
(RSL)
 
Requirements

2

11 Oct
Assignment 1 + Tutorial groups
(RSL + MLW)
Intro to Human-Centred SE
(MLW)
HCI: Perception, Attention, and Memory
(MLW)
 

3

18 Oct
Groupwork + Team Roles
(RSL)
HCI: Interface Features and Design
(MLW)
HCI: User-Focused Requirements
(MLW)
 

4

25 Oct
Group meeting opportunity
(No lecture, MLW at Conference)
Group meeting opportunity
(No lecture, MLW at Conference)
HCI: Personas and Task Analysis
(Lecture cancelled, MLW had flight complications)

A1

29 Oct @ 5pm
Design

5

1 Nov
Assignment 2
(MLW)
HCI: Modelling Scenarios
(MLW)
Software Design: Information Hiding
(RSL)
 

6

8 Nov
Introduction to Netbeans
(MLW)
HCI: Prototyping
(MLW)
Software Design: Objects and Information Hiding
(RSL)
 

7

15 Nov
Gregynog Gregynog Software Design: Responsibilities
(RSL)
 

8

22 Nov
Software Design: Collaborations
Assignments 3+4
(RSL)
Software Design: Hierarchies
(RSL)
(Level 1 Away Day)
(RSL)

A2

26 Nov @ 5pm

9

29 Nov
Software Design: SubSystems
(RSL)
Software Design: Protocols
(RSL)
Software Design: UML
(RSL)
 
Implementation

10

6 Dec
Teamwork
(RSL)
Software Implementation
(RSL)
Implementation: Introduction to Java Swing I
(RSL)
 

11

13 Dec
Implementation: Bob's Concise Coding Conventions
(RSL)
Implementation: Introduction to Java Swing II
(RSL)
Group Meeting Opportunity
(no lecture)
Last Day of Classes

17 Dec
Christmas
Exams: 17-28 January 2011

Semester 2 (2010-)2011

Implementation

12

31 Jan
Implementation: Graphics and Java I,II
(RSL)
Implementation: Graphics and Java III
(RSL)
Group Meeting Opportunity
(RSL)
 

13

7 Feb
Implementation: Debugging your Software
(RSL)
Implementation: Exception Handling in Java
(RSL)
Implementation: Screen Capture Software
(RSL)
 

14

14 Feb
Implementation: Version Control
(RSL)
Group Meeting Opportunity
(no lecture)
Group Meeting Opportunity
(no lecture)

A3 Design Report

18 Feb
Testing

15

21st Feb 2011
Testing: Unit Testing
(MLW)
Testing: Integration Testing
(MLW)
Group Meeting Opportunity
(no lecture)

A3 Partial
Implementation

25 Feb

16

28 Feb
Testing: User Studies
(MLW)
Testing: User Study Methods
(MLW)
Group Meeting Opportunity
(no lecture)

Assessment Report

4 Mar

17

7 Mar
Group Meeting Opportunity
(no lecture)
Group Meeting Opportunity
(no lecture)
Group Meeting Opportunity
(no lecture)
 

18

14 Mar
Group Meeting Opportunity
(no lecture)
Group Meeting Opportunity
(no lecture)
Assignment 5
(RSL + MLW)

A4 Complete Implementation

18th Mar
Demos

19

21 Mar
A4 Groups 1+2 Demo
(RSL + MLW)
A4 Groups 3+4 Demo
(RSL + MLW)
A4 Groups 5+6 Demo
(RSL + MLW)
 

20

28 Mar
A4 Groups 7+8 Demo
(RSL + MLW)
A4 Groups 9+10 Demo
(RSL + MLW)
A4 Groups 11+12 Demo
(RSL + MLW)
 

Easter Break: 2 April - 1 May

Demos

21

2 May
Bank Holiday Bank Holiday No Lecture
A5 Work Opportunity
 

22

9 May
No Lecture
A5 Work Opportunity
No Lecture
A5 Work Opportunity
Group Prize Ceremony
in Conjunction with the Year 3
Project Demonstration Fair
Sponsored by Grid Tools Ltd

A5

13th May

Schedule of Lectures from 2009-2010

Helpful Links to free Software Engineering Tools:

  1. XP Dev: offers free and commercial Subversion Hosting integrated with Project Tracking for Open Source and Proprietary projects.
  2. Git: is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
  3. Unfuddle: is a secure, hosted project management solution for software development teams. Don't have time to get a server up and running and then configure and secure code repositories, ticketing systems and valuable project management tools?....
  4. Apache Ant is a Java-based build tool. In theory, it is kind of like make, without make's wrinkles.
  5. Software Pointers: is directory for Software Development including the most useful links to processes, methods, tools, and services

Valid HTML 4.01 Transitional