The University of Sheffield
Department of Computer Science

COM6105 Software Engineering for Internet Technology

Summary This module is concerned with software engineering techniques, with a particular emphasis on web-based systems (including user interface design and databases). It covers the appropriate choice of software lifecycle model, the interactions between developer and customer, and the conceptual management of information from requirements through to detailed design in the context of database-backed web systems.
Session Autumn 2021/22
Credits 15
Assessment

Students will develop a reflective portfolio based upon the practical exercises which are completed in class. This portfolio will include examples from the practical exercises and a written reflection.

Lecturer(s) Dr Kevin Li Sun
Resources
Aims

This unit aims to:

  • A1 - Promote the psychological basis for successful developer-customer interaction, design abstraction, and usability;
  • A2 - Develop skills in applying software analysis and design methods to create software systems for target customers;
  • A3 - Develop analytical skills for measuring the usability and ergonomics of software systems.
Objectives

By the end of the unit, a candidate will be able to:

  • LO1 - Design an uncluttered, intuitive user interface that supports the business process of the customer;
  • LO2 - Recognise the different mind-sets of the developer and customer and mitigate the effect of bias in requirements analysis and design;
  • LO3 - Choose an appropriate software lifecycle and project management strategy for different kinds of software project;
  • LO4 - Use appropriate software analysis and design models to capture the essentials of a design succinctly and accurately;
  • LO5 - Evaluate software systems quantitatively and qualitatively for their ease of use by target customer groups.
Content
  • Software Processes
  • Agile Software Development
  • Requirements Engineering
  • System Modelling
  • Database Design
  • Query Processing
  • Architectural Design
  • Design Patterns
  • Detailed Design
  • Verification and Testing
  • Usability and Experimental Design
Teaching Method
    Theoretical concepts will be introduced in lecture sessions, reinforced by practical case-based examples in problem solving sessions and as weekly homework.
Feedback During practical sessions; individual feedback on marked exercises; general class feedback on main issues.
Recommended Reading

Human Computer Interaction

  • J. Preece, Y. Rogers, H. Sharp, D. Benyon, S. Holland, T. Carey, Human Computer Interaction, Addison-Wesley.
  • D. Benyon, P. Turner, S. Turner, Designing Interactive Systems, People, Activities, Context, Technology, Addison-Wesley.
  • C. D. Wickens, J. G. Hollands, S. Banbury, R. Parasuraman, Engineering Psychology and Human Performance, 4th edition, Pearson.
  • J. Lazar, J.H. Feng, and H. Hochheiser (2010) Research Methods in Human Computer Interaction, John Wiley and Son Ltd

UML

  • M Fowler, UML Distilled: A Brief Guide to the Standard Object Modelling Language, 3rd Edition, Addison-Wesley, 2003.
  • S Bennett, S McRobb R Farmer, Object-Oriented Systems Analysis and Design using UML, 3rd Edition, McGraw-Hill, 2006.

Software Eng

  • R S Pressman, Software Engineering: A Practioner's Approach, 5th Edition, McGraw-Hill, 2009
  • I Sommerville, Software Engineering, 8th Edition, Addison-Wesley, 2006.
  • K Beck, Extreme Programming Explained, 2nd Edition, Addison-Wesley, 2005.

Databases

  • T Connolly and C Begg, 'Database Systems; A Practical Approach to Design, Implementation and Management'; 5th Ed. Addison Wesley, 2009.
  • C J Date, 'An Introduction to Database Systems'; 8th Ed. Addison Wesley, 2004.