Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
COMP9321 Web Application Engineering
Semester 1, 2015
Dr. Moshe Chai Barukh
Service Oriented Computing Group, CSE, UNSW
Week 1
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 1 / 25
E-Com Stream Overview
COMP9321 is the first course in the three-part series of e-Commerce
stream (COMP9321 → COMP9322 → COMP9323)
COMP9321 - the basic infrastructure for building *not so trivial*
web applications
main objective is to be comfortable with the idea of building a single,
fully functional web application yourself, from scratch
COMP9322 - more advanced infrastructure for supporting business
applications integration
main objective is to learn how to make separate applications to work
together as one (without building the integrated system from scratch)
COMP9323 - project
main objective is to practice what you learned in COMP9321 and
COMP9322 by implementing sizeable projects
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 2 / 25
What Are You Going to Learn in COMP9321?
the course title: Web Application Engineering
Let us start with: Web and Application
http://www.w3.org/2004/Talks/w3c10-HowItAllStarted
Sir. Tim Berners-Lee, Inventor of the Web (still very
active in semantic-web@w3.org)
1989, B-L proposes a global hypertext project called
“World-Wide-Web”
Universal “Readership” - anywhere, any machine,
same document
1991, started with around 50 Web sites
1993, GUI-browser (Mosaic)
Today, www.internetworldstats.com
http://www.computerhistory.org/internet_history/full_size_images/berners-lee.jpg
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 3 / 25
Basic Web Architecture: Universal Readership ...
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 4 / 25
”It’s software Jim, but not as we know it”
Why are web apps different ?
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 5 / 25
What are we aiming for..
the course title: Web Application Engineering
Now Engineering1 ...
Building a Web site is easy enough: HTML and a Web server ...
Building a Web application requires a greater degree of modeling,
more sophisticated tools, and a well defined, repeatable process.
Web Application Architecture:
1http://www.ibm.com/developerworks/ibm/library/it-booch web/
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 6 / 25
The importance of Web Application Architecture2
Architecture as encompassing the set of significant decisions about the
organization of a software system, including:
Selection of the structural elements and their interfaces by which a
system is composed
Behavior as specified in collaborations among those elements
Composition of these structural and behavioral elements into larger
subsystems
An architectural style that guides this organization
A stable architecture is essential to every successful system:
the creation of a stable architecture helps drive the highest risks out
of the project,
the presence of a stable architecture provides the basis upon which the
system may be continuously evolved with minimal scrap and rework
2http://www.ibm.com/developerworks/ibm/library/it-booch web/
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 7 / 25
Web Application Architecture: Layers
Data Access Layer
Business Logic Layer
Presentation Logic Layer
Presentation/GUI
Data Storage
End-User's System
HTML/Forms, etc.
Physically on the client's system (browser)
Server-side programming
producing HTML/XML and other content
Server-side programming
Business objects and rules, 
data manipulation/transformation
Server-side programming
Interface with DB, handles data IO
Database/Storage
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 8 / 25
Web Application Architecture: Client/Server Difference
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 9 / 25
Web Application Architecture: Client/Server Difference
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 10 / 25
Learning Outcomes
At the end of this course, you should be able to:
Design and implement a complete Web application from scratch
Identify and apply design patterns wherever appropriate
Identify performance bottlenecks in your application
Apply techniques to increase the performance and scalability of your
application
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 11 / 25
What we WILL teach you
Constructing a web applications using Java Servlets, JDBC and Java
Server Pages (JSPs)
Using XML in Web Applications
Managing users
JDBC and accessing DB from your web applications
Design Patterns (MVC for Web,etc..)
How to measure and analyse the performance of your web application
How to secure your web application
Privacy issues
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 12 / 25
What we WILL NOT teach you
PHP / Perl/ Python
HTML (4 or 5)
Javascript
Java / Object-oriented programming (You need to know)
SQL (You need to know)
Web Application Frameworks
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 13 / 25
Rough Schedule
Date Topic
Week 1 Web Fundamentals
Weeks 2-3 Server-Side Programming (Servlets, JSP)
Week 4 Data Access in Web Applications (XML, SQL)
Week 5,6 Architecture & Design Patterns
Weeks 7,8 Performance and Scalability
Week 9,10 Web Application Security & Privacy
Week 11 Cloud Computing (Pt. 1)
Week 12 Cloud Computing (Pt. 2), Wrapup, Exam
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 14 / 25
Teaching Philosophy
“Explain and you’ll forget; Demonstrate and you may remember; Practice
and you’ll internalize”
- Ripped from an anonymous proverb :)
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 15 / 25
Course Outline
This course consists of:
12 weeks of lectures
1 individual assignment - 10 marks - due Week 5
1 group assignment - 25 marks (group of 2 max) - due Week 9
1 group assignment - 15 marks (group of 2 max) - due Week 11
1 final exam (50%) - individual
Assignments are graded on Specs, Quality of Demo and Innovation.
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 16 / 25
Assessment Formula
assignments = 50
final_exam = 50
overall_mark = assign_tot + final_exam, if final_exam is >= 22.5
= min(46, (assign_total+final_exam)), otherwise
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 17 / 25
Exam Format (draft)
2 hours
total marks 50
6 main questions (Answer only 5)
No multiple choice questions
I will take the first 5 answers
2, 3, and 5 mark subquestions
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 18 / 25
Exam Format (draft)
Factual Question - 2 marks
Counter-factual/ Short answer Question - 3 marks
Essay - 5 marks
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 19 / 25
Support Staff
Lecturer-in-Charge
Dr. Moshe Chai Barukh
mosheb@cse.unsw.edu.au
Consultation: in lecture or by appointment
Tutors / Lab-Demonstrators
and MessageBoard - all questions re: labs and assignments.
Do not email me personally about lab/assignment questions. All questions
should be openly asked and answered via the Messageboard.
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 20 / 25
COMP9321 Supp Exam Policy
Supplementary examination will only be granted when a student was not
able to attend the final exam for reasons beyond the student’s control
(eg., sickness), and submitted a special consideration at the Student
Centre within three working days after the examination day.
Note, however, if you attended the final exam, I will interpret that illness,
misadventure or other circumstance beyond your control:
has not affected your preparation for the final exam;
has not affected you on the day of the exam
and you will not be considered for supplementary assessment. In other
words, if your preparational ability to sit the exam has been affected by
your sickness, then do not attend the exam.
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 21 / 25
Other notes
Programming - Java is the base language for this course. Assignments
must be carried out in Java. We cannot help you with Java syntax.
Laptop Usage - Laptop use is encouraged during lecture. But, please
do not play games. It distracts your neighbours as well.
Group assignments - You will get same mark for the group assignment
irrespective of how the load was shared. If you have problems with
the performance of your team mate, see me early.
Lecture participation - Please try to attend all lectures and participate
by asking questions and initiating discussions.
Please check the messageboard regularly to keep up with the material
explained in class and clarifications for assignment specs.
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 22 / 25
Course evaluation and feedback
This course is evaluated through UNSW’s CATEI (Course And
Teaching Evaluation and Improvement) system.
CATEI is an electronic survey system and is carried out at the end of
the session
CATEI is anonymous. I will not know the authors of the comments.
However, feel free to suggest improvements during the session
informally (I really appreciate these)
I’ll try to address these to the best of my ability
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 23 / 25
Feedback from CATEI 14s2
Automarking of Assignment 1 will be improved.
New and Improved Catch-up Lab Schedule.
Assignment specs will be made more tighter.
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 24 / 25
Course Assessment Statistics
Sem HD DN CR PS FL Tot
11s2 6 25 34 10 10 87
12s1 6 18 21 43 13 105
12s2 8 20 26 20 17 92
13s1 4 5 16 23 10 58
13s2 2 11 17 34 15 83
14s1 7 10 20 24 11 78
14s2 2 13 24 18 18 75
15s1 :D :)) :) :/ :( 101
M. C. Barukh, S. Venugopal (CSE, UNSW) COMP9321, 15s1 Week 1 25 / 25