MSc in Web and Smart Systems / Ступінь Магістра в Галузі Веб і Мобільних Систем

Course Details

Course Information Package

Course Unit TitleWEB ENGINEERING I
Course Unit CodeACSC502
Course Unit Details
Number of ECTS credits allocated7
Learning Outcomes of the course unitBy the end of the course, the students should be able to:
  1. Be able to understand the concepts, principles and methods of Web engineering
  2. Have sufficient theoretical knowledge and analytical skills to develop Web applications.
  3. Be able to apply the described concepts, principles and methods to development of complex Web applications.
  4. Be familiar with current Web technologies in general and working with Ruby programming language in particular.
  5. Be able to model, visualise and document the analysis and design of Web applications.
Mode of DeliveryFace-to-face
PrerequisitesNONECo-requisitesNONE
Recommended optional program componentsNONE
Course Contents 1.  Introduction
-  Networks, internet, Internet and Web.
-  Web Applications and Web-based Systems.
-  Web Evolution.
-  Web Engineering and Software Engineering.
-  Agile Software Development.
-  Web Engineering Process: Activities and Actions.

2.  Basic Models and Architectures
-  Distributed Systems.
-  Client-Server Model and Client-Server Computing. 
-  Model-View-Controller (MVC) Architecture.
-  Web Architecture.
-  Service-Oriented Architecture (SOA).
-  Rich Internet Architecture (RIA).
-  Model-Driven Development.

3.  Requirement Analysis and Specification
-  Activities, Methods and Techniques.
-  Use Cases and Use Case Modeling.

4.  Web Application Analysis
-  The Object-Oriented Nature of Web Applications.
-  Tasks and Activities of Information (Content) Modeling
-  Functional Modeling
-  Human-System Interaction (Representation) Modeling and Configuration 
  Modeling
-   UML-based Modeling.

5.  Model-Driven Development of Web Applications
  -   Introduction to and tutorial for using ArgoUWE for developing Web
  applications using UML.

6.  Web Application Design
  -   Architectural Design and Web Application Components
  -  Design Principles and  Activities: Information Design, Navigation Design,
   Interface Design  
  -  Data-related Design: Files and Database Approaches to manage large
   amount of data. Database-driven Web Applications. Introduction to XML  
  Databases. Structured Databases on the Web.  Web Databases
  Integration. Introduction to Mobile Databases.

7.  Introduction to Ruby on Rail
  -  Understanding the MVC Architecture
  -  Structure of the Software and how Ruby on Rail works
  -  Understanding and Working with Ruby Programming Language.

8.  Web Application Testing
  -  Quality and Testing
  -  The Testing Process: Strategy and Activities
  -  Testing Guidelines.

9.  Project Management in Agile Web Applications Development
  -  Specifics of the Web Project
  -  Team construction
  -  Management Activities.
Recommended and/or required reading:
Textbooks
  • Lecture Notes in PowerPoint Slides by the Instructor.
  • Pressman R.S. and D. Lowe, (2009), Web Engineering, Mc. Graw-Hill
References
  • Eve Andersson, Philip Greenspun, and Andrew Grumet, Software Engineering for Internet Applications, MIT Press, 2006. Available online: http://philip.greenspun.com/seia/
  • Kappel, G., Proll, B. Reich, S. and Retschitzegger, W., Web Engineering, Hoboken, NJ: Wiley & Sons, 2006
  • Jim Conallen, Building Web Applications with UML, Addison-Wesley, 2nd edition, 2003
  • Sam Ruby, Dave Thomas, David. H. Hansson, Agile Web Development with Rails (4th ed), Rails, 2011
  • Links to many Web Engineering resources can be found at: http://www.rspa.com/spi
  • An extensive reading list of relevant academic papers.
Planned learning activities and teaching methodsThe taught part of course is delivered to the students by means of lectures, conducted with the help of computer presentations. Lecture notes and presentations are available through the web for students to use in combination with the textbooks. Furthermore theoretical principles are explained by means of specific examples and solution of specific problems. Students are encouraged to read related scientific papers and share their understanding in seminars.
Part of the material is supplemented with supervised and unsupervised computer laboratory. Laboratories will include demonstrations of taught concepts and experimentation with related technologies. Additionally, during laboratory sessions, students apply their gained knowledge and identify the principles taught in the lecture sessions by means of working on different modelling tasks and specific programming languages.
Assessment methods and criteria
Assignments, readings30%
Test20%
Final Exam50%
Language of instructionEnglish
Work placement(s)NO

 Друк  E-mail