CSCI2407 Software Systems Development Eric Tatham GH6.72

Slides:



Advertisements
Similar presentations
1 Software Processes Name:Wassim Jamal Salem ID: Name:m3taz El Dweak ID:
Advertisements

Ch 3: Unified Process CSCI 4320: Software Engineering.
What is Software Design?. Systems Development Life- Cycle Planning Analysis Design Implementation Design.
Classes and Object- Oriented... tMyn1 Classes and Object-Oriented Programming The essence of object-oriented programming is that you write programs in.
Human Computer Interaction G52HCI
Software Engineering COMP 201
IS6112 Application Modelling and Design Introduction.
Chapter 14 Requirements and Specifications. Copyright © 2005 Pearson Addison-Wesley. All rights reserved Software Engineering The implementation.
Detailed Design Kenneth M. Anderson Lecture 21
CS 425/625 Software Engineering Software Requirements
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
Feb. 27, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #13 Tuesday, Feb. 27, 2001.
UFCEPM-15-M Object-oriented Design and Programming Jin Sa.
CS 235: User Interface Design August 27 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
CS 235: User Interface Design August 27 Class Meeting Department of Computer Science San Jose State University Fall 2014 Instructor: Ron Mak
Introduction To System Analysis and design
The Software Development Life Cycle: An Overview
Software Engineering CS B Prof. George Heineman.
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
Chapter 4 – Requirements Engineering
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
BTEC Unit 06 – Lesson 08 Principals of Software Design Mr C Johnston ICT Teacher
Introduction To System Analysis and Design
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Object-Oriented Analysis and Design Fall 2009.
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
L To identify the services that the customer requires from a system and the constraints under which it operates and is developed.
Project Deliverables CEN Engineering of Software 2.
OBJECT-ORIENTED SOFTWARE DEVELOPMENT PROCESS BTS430 Systems Analysis and Design using UML.
OHTO -01 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
Lecture 1: Introduction – Graduation Projects Topics to Discuss in Lectures 1. Project Deliverables 2. Course grading 3. Project Concept Writing.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
CDT-412 Software Engineering Project Introduction Lecture Raluca Marinescu.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
By : Dr. Abdulrahman H. Altalhi & Modified by: Dr. Shehab Gamalel-Din By : Dr. Abdulrahman H. Altalhi & Modified by: Dr. Shehab Gamalel-Din.
Requirement Specification SRS document is a contract between the development team and the customer How do we communicate the Requirements to others? Firm.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Unit 1 - Introducing Abstract Data Type (ADT) Part 1.
1 M206 Chapter 31: An Overview of Software Development 1.Defining the problem 2.Analyzing the requirement – constructing initial structural model 3.Analyzing.
DOMAIN CLASSES – PART 1 BTS430 Systems Analysis and Design using UML.
Software Engineering Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
COMP9024: Data Structures and Algorithms Course Outline Hui Wu Session 1, 2016
CSC 480 Software Engineering
Software Quality Control and Quality Assurance: Introduction
COMP9024: Data Structures and Algorithms
Systems Analysis and Design
Object-Orientated Programming
By Dr. Abdulrahman H. Altalhi
Systems Analysis Overview.
EECE 310 Software Engineering
lecture 08, OO Design Principle
Requirements Analysis
Software life cycle models
Software Design Lecture : 14.
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
Project Closure And Termination
From Use Cases to Implementation
UML Design for an Automated Registration System
Presentation transcript:

CSCI2407 Software Systems Development Eric Tatham GH6.72

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

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.

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.

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.

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.

Steps to be taken Requirements analysis Developing a structural model Developing a dynamic model Designing the interface Detailed design and implementation Testing

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.

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.

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

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

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.

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.

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.

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!

Next week Bedlam!