E-commerce Project Erik Zeitler. 2015-06-02Erik Zeitler2 Lab 2  Will be anounced and scheduled later  We will deploy Java Server Pages on a Tomcat server.

Slides:



Advertisements
Similar presentations
© eComScience Pvt. Ltd OffshoreSoftwareDevelopment eComScience Consulting perspective.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
1 The Database Application Development Process The Database Application Development Process.
Requirements and Design
Fundamentals, Design, and Implementation, 9/e Chapter 11 Managing Databases with SQL Server 2000.
CS 280 Data Structures Professor John Peterson. Goals Understand “Programming in the small” Java programming Know what’s under the hood in complex libraries.
CS 280 Data Structures Professor John Peterson. Goals Understand “Programming in the small” Java programming Know what’s under the hood in complex libraries.
Online Magazine Bryan Ng. Goal of the Project Product Dynamic Content Easy Administration Development Layered Architecture Object Oriented Adaptive to.
Pragmatic Application Building: Step by Step Jay Sissom Principal Systems Analyst Indiana University
PERTEMUAN 7 Copyright © 2002 Pearson Education, Inc.
Copyright © 2002 Pearson Education, Inc.
Testing HCI Usability Testing. Chronological order of testing Individual program units are built and tested (white-box testing / unit testing) Units are.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Object-Oriented Enterprise Application Development Course Introduction.
U-Mail System Design Specification Joseph Woo, Chris Hacking, Alex Benson, Elliott Conant, Alex Meng, Michael Ratanapintha April 28,
By John Boal  Continuous Integration [CI] ◦ Automating the build process ◦ Build the entire system each time any new.
Tracking Services for ANY websites and web applications Zhu Xiong CSE 403 LCO.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
Computers & Employment By Andrew Attard and Stephen Calleja.
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
@benday #vslive Automated Build, Test & Deploy with TFS, ASP.NET, and SQL Server Benjamin
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
CSCI 6962: Server-side Design and Programming Validation Tools in Java Server Faces.
Design IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, October 15, 2013 Carolyn Seaman University of Maryland, Baltimore County.
Four Phases of Report Authoring Targeted for Executives and Upper Management By: Ben Aminnia President, L.A. SQL Server Professionals Group
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
ISYS 562 Microcomputer Business Applications David Chao.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
COMU114: Introduction to Database Development 1. Databases and Database Design.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Software Construction Lecture 18 Software Testing.
Whistle Stop Tour of The Module. This is a new module!
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Chapter 17 – Object- Oriented Design. Chapter Goals To learn about the software life cycle To learn about the software life cycle To learn how to discover.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Database Projects in Visual Studio Improving Reliability & Productivity.
(1) Test Driven Development Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Clean Code “Keep it Clean, Your Mother Doesn’t Work Here”“Keep it Clean, Your Mother Doesn’t Work Here” William PenberthyWilliam Penberthy Application.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Overview of the Spring Framework Introducing.
Refactoring and Integration Testing or Strategy, introduced reliably by TDD The power of automated tests.
CS 440 Database Management Systems Stored procedures & OR mapping 1.
Northwest Arkansas.Net User Group Jay Smith Tyson Foods, Inc. Unit Testing nUnit, nUnitAsp, nUnitForms.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Software Development.
“When quality is critical"
Chapter 8 – Software Testing
Welcome to GC311 Database Concepts
Application Development Theory
Welcome to GC311 Database Concepts
(Test Driven) Software Development
REAL-TIME, INTERACTIVE DOCUMENT AUTOMATION
CSE 303 Concepts and Tools for Software Development
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
AppointmentmentPeach Appointment Manager
2/18/2019 E-commerce Project Minpeng Zhu.
2/25/2019 E-commerce Project Minpeng Zhu.
Chapter 11 Managing Databases with SQL Server 2000
Presentation transcript:

E-commerce Project Erik Zeitler

Erik Zeitler2 Lab 2  Will be anounced and scheduled later  We will deploy Java Server Pages on a Tomcat server.

Erik Zeitler3 Form groups  I want the following information from each group: Names, ”personal numbers”, addresses Contact person (”project leader”)  Deadline for group formation: Friday Feb 1 st

Erik Zeitler4 Project plan  Project plan deadline: Feb 8 th  Project plan: Description of the business case  ”How will you make money?” A system architecture  ”How will it work?”  Must include ER diagram Use cases Description of user interface An implementation plan

Erik Zeitler5 Office hours  I will be available for questions during the following times, 

Erik Zeitler6 Mid term report  Request a time slot from me me During week 10 (Mar 3 rd – Mar 7 th ) Any time between and  We will talk about the progress of your project

Erik Zeitler7 Final presentation  Presentations Mon, Mar 31 st (all day) Presentation of your project Demonstration of a working solution

Erik Zeitler8 Final report  A written report, including The business case A description of the system  Deadline To be announced. Probably Tue, Apr 1 st  We will ask questions

Erik Zeitler9 Dream up a business case  Think of a service you want to see  Figure out how to do it in a way that doesn’t suck  Do it

Erik Zeitler10 How to do it?  Think about the use cases How will the service be used  Cut the work into pieces User Interface, application code, database  Assign pieces within the project group  Use Test Driven Development Test each piece (unit tests) Test all pieces together (integration/regression tests)

Erik Zeitler11 Rapid prototyping  Make a simple prototype ASAP See what new ideas it gives you ”Often, users don’t know what they want until they see it”– Steve Jobs  Show the prototype to other project groups Give feedback to each other

Erik Zeitler12 E-commerce and security?  How can you make sure that The customers won’t fool you The customers won’t fool each other Your site won’t be compromised

(Test Driven) Software Development Erik Zeitler

Erik Zeitler14 Three-tier architecture  User Interface What should the user see? Make drawings  Database What information will you keep? Do data modelling, using ER diagrams  Business logic How will you present the data to the users? For any non-trivial function, do test driven development

Erik Zeitler15 Data modelling  Keep persistent data in a database Customer information Banking information Inventory  What do you carry, and how much do you have right now? Past activity  What has the customer bought?  What has the customer looked at?  What information do you want to store? Why?  Make an Entity Relationship diagram Translate the ER diagram into SQL tables

Erik Zeitler16 Example of an ER diagram

Erik Zeitler17 Why ER diagrams?  ”Keep talking about the algorithms, and everyone will stay totally mystified”  ”Show the ER diagram, and everything else will be obvious”

Erik Zeitler18 Software development is all about Getting Things Done Priorities in software development: Make it work Make it beautiful Make it fast

Erik Zeitler19 How? 1.How to make it work? First write tests, then write code. This is called Test Driven Development. 2.How to make it beautiful? Re-factor 3.How to make it fast? Don’t worry about performance until performance is a problem.

Erik Zeitler20 Why?  Because Debugging sucks Testing rocks  Because does it  A test is a specification The capabilities of a program is defined by its tests If the tests pass we know that the program works – for the test cases.  A test is a piece of documentation

Erik Zeitler21 The rules of TDD are simple 1.You can't write production code unless there is a broken test. First write a test, then write the code 2.When there is a broken test, you change your code to make it pass. 3.When your code is working, you refactor to eliminate any code smells…

Erik Zeitler22 What is code smell?  ”Something is fishy about the code”   Examples: Large method  A function that is > 1 page Duplicated method  A method, function, or procedure that is very similar to another. Contrived Complexity  Forced usage of overly complicated design patterns where simpler design would suffice

Erik Zeitler23 A good set of tests 1.covers all code 2.performs tests of different scales 3.tests for all cases, including edge cases and errors

Erik Zeitler24 Different sized tests isolation, speed confidence in whole system Large (regression) Medium (integration) Small (unit)

Erik Zeitler25 Where is the bug? vs. ”Test failed”

Erik Zeitler26 Does the entire system work? vs

Erik Zeitler27 Tests for edge cases and errors  No data, null pointers, garbage data  Very important! Make sure that no component crashes Then, the entire system is more likely to stay alive.  Write tests for invalid input data, like empty strings null pointers broken input data Generate exceptions in the production code, catch these exceptions in the test code

Erik Zeitler28 Automated tests  Netbeans has some infrastructure for testing You did it in Lab 1, ”Java SE Intro”: Right-click the LibClass.java node in the Projects window and choose Tools >Create JUnit Tests (Ctrl-Shift-U).