IMAT2204 Project Management and Development Whistle Stop Tour of The Module
Stop and think!
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 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 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 After 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 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?
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
Dr. Abraham Erskine Documentation is important
The Class Diagram
Better than Reading the Code
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 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 Question – How do you eat an elephant?
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 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 IMAT1604 Made more complicated by strict adherence to the three layered architecture
Use Case Diagram
True or False? Applications must follow the three layered architecture
Differing Architectures Presentation (Interface) Data Layer Database Middle Layer Business Logic (Classes) Presentation (Interface) Data Layer Database Presentation (Interface)
Consider the Following
C# Code
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 (Interface) Data Layer Database Middle Layer Business Logic (Classes)
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 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 Assignment 1a Advanced Prototype (First deadline this week!) Assignment 1b Final Report Assignment 2 TDD Phase Test
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 suitable project component including a 1:M relationship Order form