Web Technologies II + Project Management for Web Applications

Similar documents
jquery CS 380: Web Programming

CS7026. Introduction to jquery

a Very Short Introduction to AngularJS

WELCOME TO JQUERY PROGRAMMING LANGUAGE ONLINE TUTORIAL

Web Design. Lecture 7. Instructor : Cristina Mîndruță Site : Cristina Mindruta - Web Design

UI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML

Comprehensive AngularJS Programming (5 Days)

CSC 337. jquery Rick Mercer

footer, header, nav, section. search. ! Better Accessibility.! Cleaner Code. ! Smarter Storage.! Better Interactions.

SEEM4570 System Design and Implementation Lecture 04 jquery

JQuery WHY DIDN T WE LEARN THIS EARLIER??!

AngularJS Fundamentals

Single Page Applications using AngularJS

JQUERY. jquery is a very popular JavaScript Library. jquery greatly simplifies JavaScript programming. jquery is easy to learn.

Getting Started with

User Interaction: jquery

JavaScript Specialist v2.0 Exam 1D0-735

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX

Webomania Solutions Pvt. Ltd. 2017

Qiufeng Zhu Advanced User Interface Spring 2017

Web applications design

Prototype jquery. To and from JavaScript libraries. Remy Sharp (remysharp.com)

Introduction. Part I: jquery API 1. Chapter 1: Introduction to jquery 3

jquery Tutorial for Beginners: Nothing But the Goods

TIME SCHEDULE MODULE TOPICS PERIODS. HTML Document Object Model (DOM) and javascript Object Notation (JSON)

Introduction to. Maurizio Tesconi May 13, 2015

COURSE 20480B: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Programming in HTML5 with JavaScript and CSS3

Part 1: jquery & History of DOM Scripting

Full Stack Web Developer

JQuery. UNIVERSITY OF MASSACHUSETTS AMHERST CMPSCI 120 Fall 2010

Etanova Enterprise Solutions

Course 20480: Programming in HTML5 with JavaScript and CSS3

CodeValue. C ollege. Prerequisites: Basic knowledge of web development and especially JavaScript.

PHP / MYSQL DURATION: 2 MONTHS

AngularJS AN INTRODUCTION. Introduction to the AngularJS framework


This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

Course Details. Skills Gained. Who Can Benefit. Prerequisites. View Online URL:

Programming in HTML5 with JavaScript and CSS3

ANGULARJS - MOCK TEST ANGULARJS MOCK TEST II

The DOM and jquery functions and selectors. Lesson 3

,

SEEM4570 System Design and Implementation. Lecture 3 Cordova and jquery

Web Development 20480: Programming in HTML5 with JavaScript and CSS3. Upcoming Dates. Course Description. Course Outline

for Lukas Renggli ESUG 2009, Brest

HTML5 and CSS3 The jquery Library Page 1

55191: Advanced SharePoint Development

Modern and Responsive Mobile-enabled Web Applications

20480B: Programming in HTML5 with JavaScript and CSS3

Web Engineering. Introduction. Husni

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

Creating Effective Websites using AngularJS

Programming in HTML5 with JavaScript and CSS3

JavaScript Lecture 3c (jquery)

web engineering introduction

,

jquery Cookbook jquery Community Experts O'REILLY8 Tokyo Taipei Sebastopol Beijing Cambridge Farnham Koln

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

Professional Course in Web Designing & Development 5-6 Months

729G26 Interaction Programming. Lecture 4

STRANDS AND STANDARDS

Basics of Web Technologies

HTML5. HTML5 Introduction. Form Input Types. Semantic Elements. Form Attributes. Form Elements. Month Number Range Search Tel Url Time Week

3 Days Training Program

Microsoft Programming in HTML5 with JavaScript and CSS3

Financial. AngularJS. AngularJS. Download Full Version :

Standard 1 The student will author web pages using the HyperText Markup Language (HTML)

INTERFACE FOUNDATIONS OF WEB DEVELOPMENT

,

Responsible for the design of software, and for implementation and operation of effective software and tools.

Full Stack Web Developer

Web Site Development with HTML/JavaScrip

Web Architecture Review Sheet

Part 1: Data-Binding Frameworks (e.g. AngularJS)

COMS W3101: SCRIPTING LANGUAGES: JAVASCRIPT (FALL 2018)

Sections and Articles

Financial. AngularJS. AngularJS.

P a g e 1. Danish Technological Institute. Scripting and Web Languages Online Course k Scripting and Web Languages

Working with Javascript Building Responsive Library apps

"Charting the Course... Comprehensive Angular. Course Summary

Learn Web Development CodersTrust Polska course outline. Hello CodersTrust! Unit 1. HTML Structuring the Web Prerequisites Learning pathway.

Lesson 12: JavaScript and AJAX

SEEM4570 System Design and Implementation. Lecture 3 Events

Nagaraju Bende

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Web Designing Course

Chapter 9 Introducing JQuery

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains an Individual and Group component

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)

Getting started with jquery MIS Konstantin Bauman. Department of MIS Fox School of Business Temple University

CSC 443: Web Programming

Module 5 JavaScript, AJAX, and jquery. Module 5. Module 5 Contains 2 components

Web Premium- Advanced UI Development Course. Duration: 08 Months. [Classroom and Online] ISO 9001:2015 CERTIFIED

Frontend UI Training. Whats App :

UX400. OpenUI5 Development Foundations COURSE OUTLINE. Course Version: 02 Course Duration: 5 Day(s)

AngularJS Introduction

Building Web Applications

Full Stack Developer with Java

Master Project Software Engineering: Team-based Development WS 2010/11

Transcription:

Web Engineering Web Technologies II + Project Management for Web Applications Copyright 2015 Ioan Toma & Nelia Lassiera 1

Where are we? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering for Web Applications 3 19 th March Web Application Modeling 4 26 th March Web Application Architectures 5 16 th April Developing Applications with WebML 6 23 rd April Testing and Usability 7 30 th April Web Technologies I 8 7 th May Web Application Security 9 21 th May Web Application Development Process 10 28 th May Web Technologies II 11 11 th June Project Management for Web Applications 12 18 th June Mobile Application Development 13 25 th June Final Exam 2

Overview Web Technologies JQuery AngularJS Project Management for Web Applications Introduction Project Management For Web Applications Challenges Managing the Development Team Managing the Development Process Project Risks & Risk Management Wrap-up 3

JQUERY Acknowledgements http://www.w3schools.com/jquery/ www.webstepbook.com/supplements-2ed/slides/ppt/22-jquery1.pptx 4

What is jquery? jquery is a lightweight, "write less, do more", JavaScript library. The purpose of jquery is to make it much easier to use JavaScript on your website. jquery takes a lot of common tasks that require many lines of JavaScript code to accomplish, and wraps them into methods that you can call with a single line of code. jquery also simplifies a lot of the complicated things from JavaScript, like AJAX calls and DOM manipulation. 5

Why learn jquery? Write less, do more: $("p.neat").addclass("ohmy").show("slow"); Performance Plugins It s standard and fun! Many of the biggest companies on the Web use jquery, such as: Google Microsoft IBM Netflix 6

Example Hide elements $(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); }); <p>if you click on me, I will disappear.</p> <p>click me away!</p> <p>click me too!</p> 7

What jquery includes The jquery library contains the following features: HTML/DOM manipulation CSS manipulation HTML event methods Effects and animations AJAX Utilities 8

Aspects of jquery Identification: how do I obtain a reference to the node that I want. Traversal: how do I move around the DOM tree. Node Manipulation: how do I get or set aspects of a DOM node. Tree Manipulation: how do I change the structure of the page. 9

Adding jquery to Your Web Pages Two ways to start using jquery on your web site: Download the jquery library from jquery.com <head> <script src="jquery-1.11.3.min.js"></script> </head> Include jquery from a content delivery network, like Google <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> </head> 10

jquery Syntax The jquery syntax is tailor made for selecting HTML elements and performing some action on the element(s). Basic syntax is: $(selector).action() A $ sign to define/access jquery A (selector) to "query (or find)" HTML elements A jquery action() to be performed on the element(s) 11

jquery Selectors jquery selectors allow you to select and manipulate HTML element(s). jquery selectors are used to "find" (or select) HTML elements based on their id, classes, types, attributes, values of attributes and much more. It's based on the existing CSS Selectors, and in addition, it has some own custom selectors. All selectors in jquery start with the dollar sign and parentheses: $(). $("p") select all <p> elements on a page 12

jquery Events An event represents the precise moment when something happens (moving a mouse over an element, selecting a radio button, etc.) E.g.: On click to a paragraph do something $("p").click(function(){ // action goes here!! }); 13

jquery Effects jquery Hide/Show jquery Fade jquery Slide jquery Animate jquery stop() jquery Callback jquery Chaining 14

jquery DOM Manipulation One very important part of jquery is the possibility to manipulate the DOM. jquery comes with a bunch of DOM related methods that make it easy to access and manipulate elements and attributes. jquery Get jquery Set jquery Add jquery Remove jquery CSS Classes jquery css() jquery Dimensions 15

Selecting groups of DOM objects name getelementbyid getelementsbytagname getelementsbyname queryselector * queryselectorall * description returns array of descendents with the given tag, such as "div" returns array of descendents with the given tag, such as "div" returns array of descendents with the given name attribute (mostly useful for accessing form controls) returns the first element that would be matched by the given CSS selector string returns an array of all elements that would be matched by the given CSS selector string 16

jquery / DOM comparison DOM method getelementbyid("id") getelementsbytagname("tag") getelementsbyname("somename") queryselector("selector") queryselectorall("selector") jquery equivalent $("#id") $("tag") $("[name='somename']") $("selector") $("selector") 17

jquery Traversing jquery traversing are used to "find" (or select) HTML elements based on their relation to other elements. Start with one selection and move through that selection until you reach the elements you desire. 18

jquery Traversing jquery methods for traversing the DOM tree are: parent() parents() parentsuntil() children() find() siblings() next() nextall() nextuntil() prev() prevall() prevuntil() first(), last() and eq() 19

jquery and AJAX jquery provides several methods for AJAX functionality. With the jquery AJAX methods, you can request text, HTML, XML, or JSON from a remote server using both HTTP Get and HTTP Post - And you can load the external data directly into the selected HTML elements of your web page! jquery load() loads data from a server and puts the returned data into the selected element. Syntax: $(selector).load(url,data,callback); jquery $.get() The $.get() method requests data from the server with an HTTP GET request. Syntax: $.get(url,callback); jquery $.post() The $.post() method requests data from the server using an HTTP POST request. Syntax: $.post(url,data,callback); 20

ANGULARJS Acknowledgements http://www.w3schools.com/angular/ 21

What is AngularJS? A JavaScript framework for creating dynamic web applications Open Source GitHub: https://github.com/angular/angular.js AngularJS extends HTML with new attributes. AngularJS is perfect for Single Page Applications (SPAs). 22

AngularJS History AngularJS version 1.0 was released in 2012. Miško Hevery, a Google employee, started to work with AngularJS in 2009. AngularJS project is officially supported by Google. 23

Adding AngularJS to your web application AngularJS can be added to an HTML page with a <script> tag. <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.mi n.js"></script> 24

AngularJS directives AngularJS extends HTML with ng-directives. The ng-app directive defines an AngularJS application. The ng-model directive binds the value of HTML controls (input, select, textarea) to application data. The ng-bind directive binds application data to the HTML view. The ng-controller directive defines the application controller. 25

AngularJS example <!DOCTYPE html> <html> <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js "></script> <body> <div ng-app=""> <p>name: <input type="text" ng-model="name"></p> <p ng-bind="name"></p> </div> </body> </html> 26

AngularJS filters AngularJS filters can be used to transform data: Filter currency filter lowercase orderby uppercase Description Format a number to a currency format. Select a subset of items from an array. Format a string to lower case. Orders an array by an expression. Format a string to upper case. 27

More AngularJS directives $http is an AngularJS service for reading data from remote servers. ng-repeat directive is used for displaying tables. ng-disabled directive binds AngularJS application data to the disabled attribute of HTML elements. ng-click directive defines an AngularJS click event. 28

AngularJS Global API The AngularJS Global API is a set of global JavaScript functions for performing common tasks like: Comparing objects Iterating objects Converting data The Global API functions are accessed using the angular object. E.g. angular.lowercase() - Converts a string to lowercase 29

PROJECT MANAGEMENT 30

Purpose Project management A systematic approach to planning and guiding project processes from beginning to end. Project management is the discipline of planning, organizing, securing and managing resources to bring about the successful completion of specific project goals and objectives 1. It is usually a human-centered activity. Like in requirements analysis, conflict resolution is critical Many development teams are still new to the Web Short history, inexperienced in management Experienced in traditional software only 1 http://en.wikipedia.org/wiki/project_management 31

Objectives & Tasks Planning Software Project Testing Implementation Monitoring 32

Balancing Conflicting Goals A change in one goal incurs trade-offs with the others. Budget Be sure all stakeholders are aware of this relationship! Agile methods are introducing additional variable scope Scope reductions can reduce budget, shorten the development time and rise the quality level. Software Project Time Quality 33

Project Management - Traditional vs. Web In Traditional Projects: Quality product at lowest cost 10-100 team members 12-18 month horizon Requirements-based; structured phases; document-driven OO methods Rigid processes Complex; poor reusability Experienced, professional developers In Web Projects: Usable product in shortest time 3-10 team members 3-6 month horizon Agile methods; prototypes Component-based methods; multimedia; visual programming Ad-hoc processes Standardized; high reusability Multimedia designers; Web programmers; marketers 34

General Challenges Leadership Poor/incomplete planning Unique/legacy software systems Highly technical leadership Development Individuality Many alternative solutions Rapid change Monitoring Scope of monitoring concerns Correctness of monitored values 35

Development Challenges Novelty Unknown & uninformed audiences Usability No manuals, time to learn extremely short (the app must be intuitive) Dynamics Time pressures Parallelism Subteams and inter-communication Continuity Development to transition Juvenility Youth; less experience Immaturity Inadequate tools 36

Product-Related Challenges Web apps are simple Aesthetics Spontaneity Ubiquity Compatibility Stability & Security Scalability 37

Managing the Development Team Success is largely determined by group dynamics & how well they are managed Communication among team members Motivation & coordination by the Project Manager Identification & resolution of conflicts ASAP Concurrent engineering Primary & backup strategies Documentation is everyone s responsibility 38

The Web Project Team Web Project Team Management Functionality Data Project Manager Software Engineer Multimedia Designer Domain Expert Business Expert 39

The Roles of the Project Manager Mediator Motivator Communicator Translator Trainer Customer liaison Requirements during development Post-deployment? 40

10 Golden Rules 1. Promote the professional self-conception of each team member and ethical behavior. 2. Stress the importance of different app knowledge 3. Solve conflicts quickly 4. Keep roles well-defined 5. Look for parallel developments & synergies 6. Spread the documentation task fairly 7. Promote & coordinate continuous use of tools 8. Translate costs & values 9. Keep the customer involved 10. Monitor project progress and objectives 41

Managing the Development Process Tool-driven vs. document-driven Requirements & test suites Communication (Slack, Wikis, etc.) Configuration management Versioning Short iteration cycles No project is too small for it! Measuring progress System specification The application itself 42

Project Risks Risk: the probability of an activity to result in a loss Most critical risks: Personnel deficits Unrealistic time and cost specs Incompatible third-party components Misunderstood properties Poor user interface 43

Nielsen s Top Risks Unclear definition of objectives Wrong target audience Development-oriented page structure Inconsistent design Insufficient budget for maintenance Content recycling & poor linking Mixing Internet & intranet Marketing research is seen as usability research 44

Risk Management How likely is a problem to occur, what will be the impact, and what are the solutions? Assessment: Identify, analyze, & prioritize Control: Provision, monitor, mitigate Groups are better at assessing and managing risk than individuals Perform a cost-benefit analysis to justify risk management activities 45

WRAP-UP 46

Things to keep in mind (or summary) jquery a lightweight, "write less, do more", JavaScript library AngularJS a JavaScript framework for creating dynamic web applications Project Management is part of the meta-development process (process about the process) Minimize risks Enable development process monitoring Require integration with the development process ( probe points) 47

Bibliography Mandatory reading Kappel, G., Proll, B. Reich, S. & Retschitzegger, W. (2006). Web Engineering, Wiley & Sons. 9 th Chapter 48

Next lecture # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements Engineering for Web Applications 3 19 th March Web Application Modeling 4 26 th March Web Application Architectures 5 16 th April Developing Applications with WebML 6 23 rd April Testing and Usability 7 30 th April Web Technologies I 8 7 th May Web Application Security 9 21 th May Web Application Development Process 10 28 th May Web Technologies II 11 11 th June Project Management for Web Applications 12 18 th June Mobile Application Development 13 25 th June Final Exam 49

Questions? 50