Fall 2003




Course Description:

P: EET 264, CS 161, and junior standing, or CPET 494

An introduction to problems involved in analyzing and designing Web applications from small-scale, short-lived services, to large-scale enterprise applications distributed across the Internet and corporate intranets and extranets. Major topics include Web standard protocols and interfaces, Web security, Web engineering methodology, Web architectures and Web components (Web server, application servers or environments, the client, and persistent server), E-commerce infrastructures, database and Web integration, Web services standards and technologies and Web-based application development.


Instructor Information:

Paul I-Hai Lin, P.E., Professor of Electrical and Computer Engineering Technology

Office: ET 221C            Phone: 260-481-6339              Email: lin@ipfw.edu

Course Web site: http://www.etcs.ipfw.edu/~lin

Office Hours: Monday, Tuesday, Wednesday, and Thursday 2:30pm-4:30pm


Text Book:

1.      Webmaster in a Nutshell, 3rd, Stephen Spainhour and Robert Eckstein, O’reilly, December 2002; book web site:www.oreilly.com/catalog/webmaster3/

2.      Building Web Applications with UML, 2nd, Jim Conallen, Addison Wesley, Spring 2002; book Web site: www.wae-uml.org


Course Outcomes- CPET 499 Web Engineering and Design

Web engineering applies a systematic, disciplined, quantifiable approach to development, operation, and maintenance of the Web-based applications or the application of engineering to Web-based software. This course offers junior and senior level students an opportunity to study formal methods for constructing a superstructure on the Web for distributed-computing applications and centralized information technology services.


This course provides students with a "hands-on" experience in the Web and Internet programming applications, Web servers and Web site design, and Web system & software design using various programming languages including HTML/XHTML, XML, UML, Frontpage, Javascript, Perl, ASP, Java Applet, etc. We emphasize fundamental techniques and strategies for developing contemporary Web applications. A student who successfully fulfills the course requirements will have demonstrated the following knowledge, skills, ability:

1.      An ability to use modern Web application development tools and good knowledge of HTML Web page, Web site structures, and Web-enabled applications (Criterion 1, item a)

2.      An ability to apply knowledge of mathematics, science, engineering and technology in problem solving using Web programming languages (Criterion 1, item b)

3.      Knowledge and skills of applying hierarchical, structure, object-based, and object-oriented programming methods and techniques and using various library functions for developing and integrating industrial-strength Web programs and applications (Criterion 1, item c)

4.      Knowledge of problem solving and Web-based software development process including analysis, design, implementation, and maintenance  (Criterion 1, item d)

5.      An ability to apply the principles of software engineering to design and implement a Web application (Criterion 1, items a, b, c, f, g)

6.      Work and collaborate with others in project teams (Criterion 1, items e and g)

7.      Ability to prepare written memos, documentation, reports, etc; and communicate orally with team members (Criterion 1, item g)

8.      To understand professional and ethical responsibility (Criterion 1, item I)

9.      Understand the contemporary software application issues (Criterion 1, item j)



ABET Technology Accreditation Commission (TC2K)  for 2003/2004 accreditation cycle

(relevant excerpts)


Criterion 1. Students and Graduates

An engineering technology program must demonstrate that graduates have:

a.      an appropriate mastery of the knowledge, techniques, skills and modern tools of their disciplines

b.      an ability to apply current knowledge and adapt to emerging applications of mathematics, science, engineering and technology,

c.       an ability to conduct, analyze and interpret experiments and apply experimental results to improve processes,

d.      an ability to apply creativity in the design of systems, components or processes appropriate to program objectives,

e.      an ability to function effectively on teams,

f.        an ability to identify, analyze and solve technical problems,

g.      an ability to communicate effectively,

h.      a recognition of the need for, and an ability to engage in lifelong learning,

i.         an ability to understand professional, ethical and social responsibilities,

j.        a respect for diversity and a knowledge of contemporary professional, societal and global issues, and

k.       a commitment to quality, timeliness, and continuous improvement.


Computer Usage:

1.      World Wide Web and Internet information search, and Web browser.

2.      Microsoft Windows- and LINUX-based Servers

3.      Microsoft C# Integrated Development Environment and LINUX Environments

4.      Rational Rose UML Modeling Tools

5.      Internet/Web-based programming tools: JavaScript, Perl, Java Application Development Tools

6.      MS Word processing required for lab and project reports


Lecture and Lab:

Lecture: 6:00-7:15 PM, Monday and Wednesday, room ET 215
Lab: TBA (7:30-9:30 pm) in room ET 215 or ET 226


Grading Policy:

3 One-hour Tests - 30%            Homework and a project - 40%               Final Project - 30%

A: 100-90            B: 89-80        C: 79-70        D: 69-60        F: 59 and below


Important Dates:

September 1 - Labor Day Holiday; October 13, and 14 – Fall break, Nov 26 - 30 – Thanksgiving recess

Test 1 (1 hour) – 9/22/2003            Test 2(1 hour) – 10/20/2003            Test 3 (1 hour) – 11/24/2003     

Final Project Presentation – Wednesday, Dec.  17, 6:15-8:15 pm



Topics of Discussion


·          Introduction to Web technology and Network protocols

·          Programming tools for client-side and server-side applications

·          HTML Programming with JavaScripting

·          Web site document and link management

·          User interface and back-end processing including process logic and data management

·          Web server programming

·          Web engineering versus software engineering.

·          Life cycle of Web-based software systems

·          Reusing conceptual design, navigational modeling, Interface design, design reuse

·          Designing Web applications for information dissemination, manufacturing, industrial applications, online transactions, enterprise-wide planning and scheduling systems

·          Web services standards and technologies include

o        XML (Extensible Markup Language)

o        XML-RPC (Extensible Markup language and Remote Procedure Call)

o        SOAP (Simple Object Access Protocol)

o        WSDL (Web Service Definition Language)

o        WSFL (Web Service Flow Language)

o        UDDI (Universal Description Discovery and Integration)

o        ebXML (Electronics Business XML)

o        J2EE (Java 2 Enterprise Edition)

o        .NET (Microsoft .NET)