300 likes | 311 Views
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
E N D
IMAT2204 Project Management and Development Whistle Stop Tour of The Module
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 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 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 • 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
Social Impact Study • Can writing code kill people?
Social Impact StudyPersonal, National & Global • Thousands of deaths • Arab spring • Syria • ISIS • Refugee crisis
Dr. Abraham Erskine • Documentation is important
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
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 • 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
True or False? • Applications must follow the three layered architecture
Presentation (Interface) Data Layer Database Presentation (Interface) Presentation (Interface) Middle Layer Business Logic (Classes) Data Layer Database Differing Architectures
Thick Middle Layer – Thin Presentation Layer • All code for the system goes in the middle layer • Keep presentation code to an absolute minimum!
Presentation (Interface) Middle Layer Business Logic (Classes) Data Layer Database Thick Presentation – Thin Middle
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 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 suitable project component including a 1:M relationship • Order form