csci2407 software systems development eric tatham gh6.72 [email protected] etatham

16
CSCI2407 Software Systems Development Eric Tatham GH6.72 [email protected] www.cse.dmu.ac.uk/ ~etatham

Post on 18-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

CSCI2407Software Systems Development

Eric Tatham

GH6.72

[email protected]

www.cse.dmu.ac.uk/~etatham

Page 2: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

What the module entails

• Develop a software system according to a client’s specification, including all design documentation.

• Design constraint: Must be based on Object-oriented principles

• Implementation constraint: Develop using the .NET environment. Language used can be C++, Java or C#

• Documentation constraint: Must conform to UML standards

Page 3: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

How it will work

• You are part of Software Development Team of 3 or 4 people.

• Your client is: Tom Bedlam of The Bartholomew Publishing Company.

• You need to negotiate the requirements with the client, then design, develop and test the required system.

• You are required to be patient when the client changes his mind about the spec.

Page 4: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Other resources

• Also available is a Software Design Consultant called Eric who, coincidently, looks a lot like Tom

• However, they don’t know each other and will get puzzled (and possibly shirty!) if you confuse them with one another.

Page 5: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Assessment

• As a group, you need to maintain a project logbook, detailing every stage of the project, including all documentation. (You will eventually need a duplicate copy for each group member.)

• Assessment is 100% based on an Open Book exam in which you will be allowed to refer to your logbook.

Page 6: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Module structure

• Introduction in Week 1• Meet the client in Week 2• No more lecture sessions!• First term: Two lab sessions per week • The rest: One lab session per week.• At lab sessions, either Tom or Eric will be

available.• No lab sessions in first week.

Page 7: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Steps to be taken

• Requirements analysis

• Developing a structural model

• Developing a dynamic model

• Designing the interface

• Detailed design and implementation

• Testing

Page 8: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Requirements analysis

• This is the process of analysing the initial statement of requirements in consultation with the client.

• The aim is to reach an agreed and unambiguous specification called the Negotiated Statement of Requirements (NSR).

• The NSR tells us what the system has to do.

Page 9: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Initial Structural Model

• Identify and categorise the real-world entities that may need to be modelled in the system. ie What classes and associations?

• Develop a class diagram

• Also the associated text comprising the class descriptions.

• Also identify any invariants.

Page 10: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Constructing Dynamic Models

• Identify Uses Cases

• Use walk-throughs to determine navigation of associations and additional class responsibilities

• Use Sequence Diagrams to show how the responsibilities for carrying out the steps of each walk-through should be allocated

Page 11: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Designing the Interface

• In consultation with the client, design the User Interface

• Produce a number of prototypes for iterative development, evaluating each stage with the client

Page 12: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Detailed Design and Implementation

• Consider class hierarchy in relation to inheritance and possible Abstract classes.

• Fully specify each class, deciding exactly how each class is to fulfil its responsibilities.

• Implement the classes; their variables and methods.

• Implement the ‘main’ or ‘orchestrating’ code.

Page 13: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Testing

• This is an iterative process to be carried out throughout the development.

• You need to ensure that your system is acceptable to your client in terms of agreed data, functionality and usability criteria.

Page 14: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Documentation

• You need to ensure that all your design process is fully documented.

• This forms the basis of your ongoing logbook which can be taken into the exam.

Page 15: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Change management

• At some point in the course of system development, your client may introduce a slight modification to the specification.

• If this happens, you should be able to cope and should document changes appropriately.

• It also means you are entitled to charge extra!

Page 16: CSCI2407 Software Systems Development Eric Tatham GH6.72 etatham@dmu.ac.uk etatham

Next weekBedlam!