Agile Development and Software Security A - CO552

Location Term Level Credits (ECTS) Current Convenor 2019-20
Medway Autumn
View Timetable
5 15 (7.5) DR S Jameel

Pre-requisites

COMP3200 (CO320) Introduction to Object Oriented Programming
COMP3230 (CO323) Databases and the Web

Restrictions

None

2019-20

Overview

The module studies in detail the activities and artefacts associated with the software development process as performed by a development team, particularly one that adopts an Agile methodology. Topics include
• Concepts, principles, practice and philosophy of an Agile approach to software development
• Collaboration: environment, programmer collaboration, team values, customer involvement, standards, reporting and professional responsibility
• Planning: release and iteration/sprint planning, risk assessment, stories and estimating
• Development: incremental requirements, customer tests, test-driven development, refactoring, simple design, incremental design and architecture, spike solutions,
performance optimisation
• Agile project management: roles, values and team philosophy; management of scope, time, cost, quality and risk.
• Broad concepts of software security for users as well as system developers, including secure online behaviour and computer security both in work and home
environments. Think about the risk of software security breaches for users.
• Systems Analysis.
• Object-Oriented methods and the use of UML for modelling of requirements (Class, Use Case, Activity, Sequence and State diagrams).

Details

Contact hours

33 contact hours
117 private study hours
Total hours 150

Method of assessment

Main assessment methods
Case Study 40% (25 hours)
Version control exercise 10% (5 hours)
2 hour Examination 50%

Indicative reading

Beck, K; Extreme Programming Explained: Embrace Change, 2e Addison-Wesley, 2005
Beck, K; Fowler, M; Planning Extreme Programming (XP),1e, Addison Wesley, 2001
Schwaber, K; Agile Project Management with Scrum, Microsoft Press, 2004
Layton, MC; Agile Project Management For Dummies, John Wiley & Sons, 2012
Pham, A; Pham, P-V Scrum in Action, 1e Delmar Cengage Learning, 2012
Cohn, M; Succeeding with Agile: Software Development Using Scrum, 1e, Addison Wesley, 2010
Fowler, M; UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3rd edition, Addison-Wesley, 2004
Rumbaugh, J; Jacobson, I; Booch, G; The Unified Modeling Language Reference Manual, 2nd edition, Addison-Wesley, 2004

Learning outcomes

Understand and discuss the principles and practices employed in the production of a software system using an Agile incremental methodology.
Identify the differences in adopting an Agile approach to software development when compared to alternatives software development paradigms
Understand the role and expected behaviour of key members of the development team and overall inherent values of the team
Determine the product scope and requirements, and devise a corresponding product roadmap of backlogs, sprints and releases
Describe the management of time and cost, quality and risk in Agile
Understand the headline issues of software security for users as well as system developers, consider how to ensure online and computer security in the work and home environments. Appreciate the risks inherent in software security breaches for users
To understand the role of abstraction in systems analysis
To be able to specify information systems. This involves:
• Understanding project management
• Carrying out a systems investigation
• UML modelling of requirements (Class, Use Case, Activity, Sequence and State diagrams)

University of Kent makes every effort to ensure that module information is accurate for the relevant academic session and to provide educational services as described. However, courses, services and other matters may be subject to change. Please read our full disclaimer.