ADVANCED SOFTWARE ENGINEERING & BIG DATA MODELLING (MSc)

COURSE OUTLINE

Responsible: Nikolaos Vidakis

1. GENERAL

SCHOOL School of Engineering
ACADEMIC UNIT Department of Electrical and Computer Engineering
LEVEL OF STUDIES Postgraduate
COURSE CODE ΜΠ100Η SEMESTER 1st
COURSE TITLE Advanced Software Engineering & Big Data Modelling
INDEPENDENT TEACHING ACTIVITIES
if credits are awarded for separate components of the course
WEEKLY
TEACHING HOURS
CREDITS
 
Total 7.5
COURSE TYPE
general background, special background, specialised general knowledge, skills development
Specialized knowledge/Core
PREREQUISITE COURSES None.
LANGUAGE OF INSTRUCTION and EXAMINATIONS English
OFFERED TO ERASMUS STUDENTS Yes (in English) — Winter Semester
COURSE WEBSITE (URL) https://eclass.hmu.gr/courses/ECE106/

2. LEARNING OUTCOMES

Learning outcomes

The course aims to present the principles, techniques, and methods for professional and systematic software development. The Unified Modeling Language (UML), CASE tools like Visual Paradigm and programming languages like Python and JAVA, will be used in the context of this course. Furthermore, the course shows how to handle the volume, speed and variety of big data of SQL and noSQL databases. It also looks at issues related to data management and data quality. In order for students to deepen in Software engineering and big data modelling, several software examples will be examined during the course lectures.

After completing the course the student will have the necessary knowledge to:

  • Be able to design software,
  • Use CASE tools for analyzing and designing software,
  • Be able to administer the software development,
  • Be able to use language modeling systems,
  • Be able to implement professional software,
  • Identify different data items,
  • Select a data model that matches its data characteristics,
  • Apply techniques for managing flow data,
  • Know differences between a traditional database management system and a large data management system,

Recognize why there are so many data management systems.

General Competences
  • Searching, analyzing, and synthesizing data and information using the necessary technologies.
  • Adaptation to new situations.
  • Autonomous work.
  • Teamwork.
  • Generating new research ideas.

3. SYLLABUS

System description languages – Unified Modelling Language (UML)

  • Designing software
  • Requirements analysis
  • Software design engineering
  • Software design trade-offs
  • Software implementation planning
  • Software design techniques

Software development process management

  • Software development methods
  • Rapid application development
  • Agile software development
  • Capability Maturity Model
  • Waterfall model
  • Spiral model
  • V-model
  • Design patterns
  • Risk management

Software development techniques

  • Software prototyping
  • Object oriented development
  • Flowcharts
  • Reusability
  • Software product lines
  • Error handling and recovery

Big Data Modeling

  • Introduction to Big Data Modelling
  • Introduction to Data Models (Structures, Operations & Constraints)
  • Introduction to Relational Data Models and Semi-structured Data Models
  • XML versus JSON on the Internet
  • Exploring the Relational Data Model of Comma Separated Values (CSV)
  • Exploring the Semi-structured Data Model of JSON data
  • Vector Space Model, Graph Data Model, Other Data Models
  • Working With Data Models
  • Data Model vs. Data Format
  • Data Streams
  • Data Lakes
  • Streaming data applications
  • Exploring Streaming Sensor Data
  • Big Data Management: The “M” in DBMS
  • DBMS-based and non-DBMS-based Approaches to Big Data
  • From DBMS to BDMS
  • Laboratory Exercises

Exercises using the C programming language and Dev C++ software and Linux (gcc).

4. TEACHING and LEARNING METHODS - EVALUATION

DELIVERY
Face-to-face, Distance learning, etc.
In-Class Face-to-Face
USE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY
Use of ICT in teaching, laboratory education, communication with students
  • Use of ICT in teaching
  • Use of ICT in laboratory training
  • Use of ICT in communication with students via the e-class electronic platform
TEACHING METHODS
The manner and methods of teaching are described in detail.
Activity Semester workload
Lectures 52
Laboratory 13
Non-guided personal study 40
Group workshop activities 8
Weekly homework exercises 7
Course total 120
STUDENT PERFORMANCE EVALUATION
Description of the evaluation procedure

Language of Assessment: English

Assessment methods:

  • Oral final exam with problem solving (60%)
  • Group semester project (30%)

Weekly homework exercises (10%) Assessment criteria are announced to students at the beginning of the semester and are posted on the course website on eClass.

5. ATTACHED BIBLIOGRAPHY

  • Ian Sommerville, “Software Engineering” (8th edition), Addison-Wesley, May 25, 2006
  • Pfleeger Shari Lawrence, “Τεχνολογία λογισμικού Θεωρία και Πράξη”, Α’ & Β’ ΤΟΜΟΣ, Κλειδάριθμος, 2003
  • Grady Booch, James Rumbaugh, “The Unified Modeling Language User Guide”, (2nd Edition), Pearson Education Limited, 2005
  • Grady Booch, Robert A. Maksimchuk, J. Newkirk et.al., “Object Oriented Analysis and Design with Applications”, Pearson Education Limited, 2007
  • Martin Fowler, “UML Distilled: A Brief Guide to the Standard Object Modeling Language” (3rd Edition) (The Addison-Wesley Object Technology Series) (Paperback), Pearson Education Limited, 2003
  • Alan Dennis, “Systems Analysis & Design with UML”, 2nd Edition with Visio 2007 Set, John Wiley and Sons Ltd, 2008
  • Ivar Jacobson, Grady Booch, James Rumbaugh: “The Unified Software Development Process”, Addison-Wesley, 1999
  • Ivar Jacobson, Magnus Christerson, Patrik Jonsson, Gunnar Oevergaard: “Object-Oriented Software Engineering (A use case Driven Approach)”, Addison-Wesley, 1995
  • Rational Rose Home Page: http://www.rational.com/products/rose/ index.jtmpl
  • Object Management Group – UML: http://www.uml.org
  • The Carnegie Mellon Software Engineering Home: http:// www.sei.cmu.edu /sei-home.html
  • RabbitMQ in Action: Distributed Messaging for Everyone, Manning Pubs Co Series, Alvaro Videla, Jason J. W. Williams, Manning Publications Company, 2012, ISBN 1935182978, 9781935182979
  • Evan Stubbs, Big data, big innovation: enabling competitive differentiation through business analytics, 2018 ISBN 978-1-118-72464-4
  • Pete Warden, Big Data Glossary, 2011, O’Reilly, ISBN: 978-1-449-31459-0