e commerce project
Download
Skip this Video
Download Presentation
E-commerce Project

Loading in 2 Seconds...

play fullscreen
1 / 28

E-commerce Project - PowerPoint PPT Presentation


  • 152 Views
  • Uploaded on

E-commerce Project. Erik Zeitler . Lab 2. Will be anounced and scheduled later We will deploy Java Server Pages on a Tomcat server. Form groups. I want the following information from each group: Names, ”personal numbers”, e-mail addresses Contact person (”project leader”)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'E-commerce Project' - caden


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
e commerce project

E-commerce Project

Erik Zeitler

lab 2
Lab 2
  • Will be anounced and scheduled later
  • We will deploy Java Server Pages on a Tomcat server.

Erik Zeitler

form groups
Form groups
  • I want the following information from each group:
    • Names, ”personal numbers”, e-mail addresses
    • Contact person (”project leader”)
  • Deadline for group formation:

Friday Feb 1st

Erik Zeitler

project plan
Project plan
  • Project plan deadline: Feb 8th
  • 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 Zeitler

office hours
Office hours
  • I will be available for questions during the following times,
  • <see posting on web page>

Erik Zeitler

mid term report
Mid term report
  • Request a time slot from me
    • E-mail me
    • During week 10 (Mar 3rd – Mar 7th)
    • Any time between 10.15 and 17.15
  • We will talk about the progress of your project

Erik Zeitler

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

Erik Zeitler

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

Erik Zeitler

dream up a business case
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 Zeitler

how to do it
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 Zeitler

rapid prototyping
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 Zeitler

e commerce and security
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

Erik Zeitler

three tier architecture
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 Zeitler

data modelling
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 Zeitler

why er diagrams
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 Zeitler

software development is all about getting things done
Software development is all about Getting Things Done

Priorities in software development:

  • Make it work
  • Make it beautiful
  • Make it fast

Erik Zeitler

slide19
How?
  • How to make it work?
    • First write tests,

then write code.

This is called Test Driven Development.

  • How to make it beautiful?
    • Re-factor
  • How to make it fast?
    • Don’t worry about performance until performance is a problem.

Erik Zeitler

slide20
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 knowthat the program works – for the test cases.

  • A test is a piece of documentation

Erik Zeitler

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

Erik Zeitler

what is code smell
What is code smell?
  • ”Something is fishy about the code”
  • http://en.wikipedia.org/wiki/Code_smell
  • 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 Zeitler

a good set of tests
A good set of tests
  • covers all code
  • performs tests of different scales
  • tests for all cases, including edge cases and errors

Erik Zeitler

different sized tests
Different sized tests

isolation,speed

confidence in whole system

Erik Zeitler

where is the bug
Where is the bug?

vs.

”Test failed”

”Test failed”

Erik Zeitler

does the entire system work
Does the entire system work?

+

vs.

+

+

+

Erik Zeitler

tests for edge cases and errors
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 Zeitler

automated tests
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).

Erik Zeitler

ad