IMAT 2204 Project Management and Development Whistle Stop

  • Slides: 33
Download presentation
IMAT 2204 Project Management and Development Whistle Stop Tour of The Module

IMAT 2204 Project Management and Development Whistle Stop Tour of The Module

 Stop and think!

Stop and think!

The Final Year Project (Next year) System of significant scope Internal / external client

The Final Year Project (Next year) System of significant scope Internal / external client or self proposed Developed by you under your own steam Supervisor allocated to keep an eye on you Doing this well is really tough!

What is the Module About? Prepare you for the final year with some hand

What is the Module About? Prepare you for the final year with some hand holding Learning outcomes Create an advanced prototype with suitable database functionality Create the beginnings of a professional portfolio of work Demonstrate skills allowing you to act as a computing professional Demonstrate problem solving skills allowing you to adapt to the challenges of changing technology Application of skills from other modules on the course

Other Outcomes An understanding of important documentation artefacts Some idea of how to approach

Other Outcomes An understanding of important documentation artefacts Some idea of how to approach systems development problems A better sense of your skills reflected in your CV A class library that you may use in other projects, especially your final year project A business card to get you started as a computing professional

Module Structure Before Xmas 1 Lecture 2 hr Lab Plenty of structure and examples

Module Structure Before Xmas 1 Lecture 2 hr Lab Plenty of structure and examples After Xmas SCRUM Development Individual sprints are assessed Pair programming Tutor support

The Need for Courage For every person and every project there is some element

The Need for Courage For every person and every project there is some element of fear Fear makes you tentative Fear makes you less communicative Fear makes you shy away from feedback Fear makes you shy away from mistakes We need to address the culture of fear that comes with exploring the unknown

Question Can writing code kill people?

Question Can writing code kill people?

Social Impact Study Personal, National & Global Thousands of deaths Arab spring Syria ISIS

Social Impact Study Personal, National & Global Thousands of deaths Arab spring Syria ISIS Refugee crisis

Keep it Simple Write for clarity of understanding Don’t write to try and impress

Keep it Simple Write for clarity of understanding Don’t write to try and impress

Dr. Abraham Erskine Documentation is important

Dr. Abraham Erskine Documentation is important

The Class Diagram

The Class Diagram

Better than Reading the Code

Better than Reading the Code

Initial Artefacts System specification Event tables Use case diagrams Use case descriptions Test plans

Initial Artefacts System specification Event tables Use case diagrams Use case descriptions Test plans Smoke and mirrors prototype Class diagrams Sequence diagrams Entity Relationship Diagrams Test Framework

Remember Systems Development is Difficult Getting inside the head of the client (so that

Remember Systems Development is Difficult Getting inside the head of the client (so that they get the product they want) Coming to terms with the various tools you need to use (e. g. Visual Studio, Enterprise Architect etc. ) Working with team members (They will drive you mad!) Creating the documentation and understanding the notation Writing the code!

Question – How do you eat an elephant?

Question – How do you eat an elephant?

Programming Pathways Pathway 1 – Creating a Simple Class Pathway 2 – Creating a

Programming Pathways Pathway 1 – Creating a Simple Class Pathway 2 – Creating a “Simple” Data Bound Collection Pathway 4 – Creating the Complex Item Class Pathway 5 – Creating the Complex Collection Class Use the examples provided as a starting point to copy and adapt

The Project Bank is intended to be a Customer Relationship Management (CRM) system Customer

The Project Bank is intended to be a Customer Relationship Management (CRM) system Customer relationship management is a system for managing a company’s interactions with current and future customers. It often involves using technology to organize, automate and synchronize sales, marketing, customer service, and technical support. (Wikipedea)

Building on IMAT 1604 Made more complicated by strict adherence to the three layered

Building on IMAT 1604 Made more complicated by strict adherence to the three layered architecture

Use Case Diagram

Use Case Diagram

True or False? Applications must follow the three layered architecture

True or False? Applications must follow the three layered architecture

Differing Architectures Presentation (Interface) Middle Layer Business Logic (Classes) Data Layer Database Presentation (Interface)

Differing Architectures Presentation (Interface) Middle Layer Business Logic (Classes) Data Layer Database Presentation (Interface)

Consider the Following

Consider the Following

C# Code

C# Code

Thick Middle Layer – Thin Presentation Layer All code for the system goes in

Thick Middle Layer – Thin Presentation Layer All code for the system goes in the middle layer Keep presentation code to an absolute minimum!

Thick Presentation – Thin Middle Presentation (Interface) Middle Layer Business Logic (Classes) Data Layer

Thick Presentation – Thin Middle Presentation (Interface) Middle Layer Business Logic (Classes) Data Layer Database

Which is Best? Three layered Two layered One layered Thick or thin layers

Which is Best? Three layered Two layered One layered Thick or thin layers

Issues to Consider Design for Code Re-use Design for ease of maintenance Automated testing

Issues to Consider Design for Code Re-use Design for ease of maintenance Automated testing Consider collaboration issues Consider Version Control File Sharing Creating a class library

The Assignments For this module there are three assessments you need to concentrate on

The Assignments For this module there are three assessments you need to concentrate on Assignment 1 a Advanced Prototype (First deadline this week!) Assignment 1 b Final Report Assignment 2 TDD Phase Test

Things to think about now! Getting Started Take time to discuss think and plan

Things to think about now! Getting Started Take time to discuss think and plan Each member of the team to select an individual component of the system Each component must contain a 1: M relationship Check that the selected component is suitable early on otherwise you will have to go back to the drawing board You are responsible for the development of your component Significant overlap of components could result in zero marks

First Deadline Wk 1 Team Business Pack Cover page SWOT analysis CVs Identification of

First Deadline Wk 1 Team Business Pack Cover page SWOT analysis CVs Identification of suitable project component including a 1: M relationship Order form