SOFTWARE DEVELOPMENT AND DATABASE SYSTEMS

SHE Level 5
SCQF Credit Points 30.00
ECTS Credit Points 15.00
Module Code MMI322918
Module Leader Jim Devon
School School of Computing, Engineering and Built Environment
Subject Computing
Trimester
  • B (January start)

Summary of Content

This module seeks to develop Object Oriented programming skills along with Database Development Skills in an integrated way to develop the principles required to produce a N tier System Architecture.

Syllabus

Object Oriented programming concepts - Classes and objects - Class hierarchies and inheritance - Methods - Abstract Data Types - Interfaces Programming Implementation - Creating and using classes, objects - Creating and using methods - Implementing object interaction - Collections - Exception Handling - Output and Input - Working with persistent storage - User interface implementation Program Development Techniques - Program design - Problem solving with object-oriented programs - Program testing, debugging and documentation Database Design - The Entity Relationship Model - Entities and Attributes - Relationships, Degree of a Relationship, Cardinalities in Relationships Modelling - Multi-valued Attributes - Modelling Time-Dependent Data - Business Rules and Business Intelligence Logical Design and the Relational Model - Logical Database Design - The Relational Data Model - Tables, Candidate Keys, Primary Keys, Foreign Keys - Concepts of Normalisation - The Basic Normal Forms - Transforming ER Diagrams to Relations - Merging Relations Physical Design - Data types and constraints - Sequences and identity columns - Views - Indexing - Triggers Structured Query Language - Relational Data Definition in SQL - Data Retrieval and Manipulation in SQL - Multiple Table Operations in SQL - Data Maintenance in SQL Big Data and Big Data Analytics - Unstructured Data versus structured Data versus multi-structured Data - Capturing, storing, analysing information that Big Data holds - Querying Big Data Database Connectivity - Connecting OO Client to Relational Database - Processing SQL statements - Iterating over results - Storing results in a collection - Data Access Object Pattern Database Administration and Security - Data Base Structure and Backups - Data Dictionary - Access Control - Row Level Security - Application Access Management - Vulnerabilities and Counter Measures Database Transaction Processing - Database transactions: nature, operations (commit, rollback) - Transaction management - Concurrency Control - Need for Concurrency Control - Serializability and Recovery - Locking - Timestamping

Learning Outcomes

At the end of this module students should be able to:Critically appraise Object Oriented OO programming techniques such as inheritance, function overloading and reusable software in the construction of software applications. Critically appraise the use of relational database techniques in the construction of an information system and the role of querying the data stored in relational tables.Develop secure integrated software applications which utilise Relational Database Technologies as persistent data stores and implements suitable business processing logic in a suitable object oriented programme language.

Teaching / Learning Strategy

The course material will be introduced through lectures, while practical exercises, based on the lecture material, will be given to students for their laboratory sessions. Some teaching will also take place in the lab sessions to address practical implementation specific concepts. Tutorials will be used to help explain and elaborate on both the lecture material and the laboratory exercises. It is anticipated that the Software Development and Database streams within the module will be taught individually for the first several weeks to allow students to develop specific skills within each stream. Once a basic skill set is covered there is scope for integrating programming techniques with database development techniques to provide useful integrated solutions to a range of information systems problems that require some form of persistent storage and show how the potential of big data can be used to derive business value by tapping into large, complex data-sets.

Indicative Reading

Deitel H M & Deitel P J, (2009), Java How to Program 9 th ed., Pearson Deitel H M & Deitel P J, (2009), Visual C # How to Program 4 th ed., Pearson Elmasri R & Navathe S B, (2011), Database Systems Models , Languages, Design and Application Programming, 6 th ed., Pearson Minelli M., Chambers M. & Dhiraj A. (2013), Big Data, Big Analytics: Emerging Business Intelligence and Analytic Trends for Today's Businesses, Wiley & Sons, ISBN: 978-1-118-14760-3

Transferrable Skills

D1 Critical thinking and problem solving D2 Cognitive/intellectual skills D3 Knowledge and understanding in the context of the subject D4 Learning style and orientation to learning D5 Time management: organising and planning work D6 Independent working D7 Planning, monitoring, reviewing and evaluating own learning and development D8 Presentation skills D9 Information Retrieval Skills D10 Communication skills, written, oral and listening

Module Structure

Activity Total Hours
Practicals (FT) 72.00
Tutorials (FT) 12.00
Lectures (FT) 24.00
Independent Learning (FT) 162.00
Assessment (FT) 30.00

Assessment Methods

Component Duration Weighting Threshold Description
Coursework 1 n/a 50.00 45% Lab based assignment or 4000 word essay
Exam (Exams Office) 3.00 50.00 45% 3 hour unseen written exam