IMAT 2204 Project Management and Development Matthew Dean

  • Slides: 29
Download presentation
IMAT 2204 Project Management and Development Matthew Dean mjdean@dmu. ac. uk

IMAT 2204 Project Management and Development Matthew Dean mjdean@dmu. ac. uk

 Stop and think!

Stop and think!

Thought for the day. . .

Thought for the day. . .

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 them to act as a computing professional Demonstrate an appreciation of the personal and global ethical consequences of technology Demonstrate problem solving skills allowing them 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

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 Agile/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

Social Impact Study Can writing code kill people? Can code change a government?

Social Impact Study Can writing code kill people? Can code change a government?

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 Cambridge Analytica Trump

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 Project

Dealing with Uncertainty Getting inside the head of the client (so that they get

Dealing with Uncertainty 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

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)

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 class Start by identifying a single significant table each 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