An Introduction to Java and Program Design - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

An Introduction to Java and Program Design

Description:

A program is a step-by-step series of instructions for a computer ... Designed by a team from Sun Microsystems led by James Gosling in the early 1990's ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 46
Provided by: steve1722
Category:

less

Transcript and Presenter's Notes

Title: An Introduction to Java and Program Design


1
Chapter 1
  • An Introduction to Java and Program Design

2
Introduction
  • A program is a step-by-step series of
    instructions for a computer
  • Computer programming is the process of writing
    these instructions
  • Programmers, or developers, design and write
    programs using a programming language or
    development tool
  • Java is a programming language that provides the
    structure for efficient and economical programs

3
What Is Java?
  • High-level language
  • Object-oriented
  • Data and operations are packaged into a single
    unit called an object
  • Basic syntax derived from C, C, and Smalltalk
  • Designed by a team from Sun Microsystems led by
    James Gosling in the early 1990s

4
What Is Java?
  • Parsimonious
  • Compatible with older versions
  • Robust
  • Strongly typed and incorruptible data
  • Secure
  • Protection against misuse of code
  • Portable
  • Platform-independent

5
Java Program Types
  • Console and Windowed applications
  • Applets
  • Servlets
  • Web Services
  • JavaBeans

6
Console Applications
  • Stand-alone programs using a command-line
    interface

7
Windowed Applications
  • Stand-alone programs using a graphical user
    interface (GUI)

8
Applets
  • Client-side programs executed as part of a
    displayed Web page

9
Servlets
  • Server-side programs hosted and run on a Web
    server
  • Used in conjunction with Java Server Pages (JSP)
    to provide sophisticated server-side logic
  • Enable connections to server databases through
    Java Database Connectivity (JDBC)

10
Servlets

11
Web Services
  • Services receive information requests over the
    Web and return the requested data

12
JavaBeans
  • Reusable software components

13
Programming a Computer
  • Companies need developers to build general
    application software packages
  • Custom applications are built for specific needs
  • Existing programs need maintenance, monitoring,
    and upgrades
  • New applications will be needed due to emerging
    technologies

14

15
Program Development Cycle

16
Phase 1 Analyze the Requirements
  • Verify that the requirements are clear and
    complete
  • Evaluate the problem to determine that it is
    solvable using a program
  • List the required input and output data
  • Determine whether the input data is available for
    testing

17
Phase 1 Analyze the Requirements
  • Ensure that a solution, or algorithm, can be
    developed with the information provided in the
    requirements
  • Verify the user interface specifications

18

19
Phase 2 Design the Solution
  • Develop a logical model that illustrates the
    sequence of steps you will take to solve the
    problem
  • Use design tools such as storyboards, class
    diagrams, flowcharts, and pseudocode to outline
    the logic of the program

20
Phase 2 Design the Solution
  • Storyboards are sketches of the user interface

21
Phase 2 Design the Solution
  • Class Diagrams illustrate the attributes and
    methods of a class of objects
  • Attributes define the characteristics of a class
  • Methods are instructions a class uses to
    manipulate values, generate outputs, or perform
    actions

22
Phase 2 Design the Solution
23
Phase 2 Design the Solution
  • Flowcharts graphically represent the logic used
    to develop an algorithm
  • Control structures allow the programmer to
    specify the code that will execute only if a
    condition is met
  • Flowcharts use pseudocode, English, or
    mathematical notation inside symbols to represent
    the steps of a solution

24

25

26
Phase 2 Design the Solution
  • Pseudocode is an English representation of how
    the program code should be written

27
Phase 3 Validate the Design
  • The programmer steps through the solution with
    test data
  • The user agrees that the program design solves
    the problem put forth in the requirements
  • The user verifies that the initial requirements
    document contains all necessary requirements

28
Phase 4 Implement the Design
  • Write the code that translates the design into a
    program
  • Create the user interface
  • Create comments within the code that explains the
    purpose of the code
  • Unit testing
  • Test the code as it is written
  • Test related code

29
Phase 4 Implement the Design

30
Phase 5 Test the Solution
  • Create a test plan with test cases of sample
    input data and expected output
  • Perform integration testing to ensure that
    components interact correctly
  • Test boundary values
  • Document any problems
  • If results are unsatisfactory, a new iteration of
    the development cycle begins

31
Phase 6 Document the Solution
  • Requirements documents, program design documents,
    user interface documents, and documentation of
    the code
  • Test cases and proof of successful completion of
    testing
  • Program code should be archived electronically

32
Object-Oriented Programming and Design
  • Object-oriented programming
  • Data and the code that operates on the data are
    packaged into a single unit called an object
  • Object-oriented design
  • Identifies how objects interact with each other
    to solve a problem

33
Object-Speak
  • Aggregation
  • The concept of an object composed of another
    object
  • Generalization hierarchy
  • A tool displaying a hierarchy of classes,
    including superclasses and subclasses
  • Instance
  • A specific use of a class

34
Object-Speak
  • Operation
  • Activity that reads or manipulates the data of an
    object
  • Message
  • Activates the code to perform one of the
    operations
  • Trigger
  • Causes the message to be sent
  • Event
  • The process of a trigger sending a message that
    results in an operation

35
Object-Speak
  • An event diagram graphically represents
    relationships among event and operations
  • Useful for designing event-driven programs
  • Part of the Unified Modeling Language (UML)
  • The UML provides a standardized model to describe
    object-oriented designs graphically
  • The UML is a system of symbols to represent
    object behavior and program behavior

36

37
Encapsulation
  • The process of hiding the implementation details
    of an object from its user
  • The user is shielded from the systems complexity
  • Information hiding provides access to an object
    only through its messages
  • Objects can be modified without requiring
    application modification

38
Inheritance
  • An efficient way to reuse code by defining a
    subclass as an extension of another class
  • The subclass inherits all the data and functions
    of the superclass
  • The subclass has at least one attribute or method
    that differs from its superclass

39
Polymorphism
  • Allows an instruction to be given to an object
    using a generalized command
  • The same command will obtain different results
    depending on the object receiving the command
  • The specific actions internal to the object are
    encapsulated from the user

40
(No Transcript)
41
Rapid Application Development
  • Pre-built objects speed up program development

42
What Is the Java SDK?
  • The Java Software Development Kit (SDK) is a
    programming package to develop Java applications
  • The Java Runtime Environment (JRE) provides the
    tools to deploy Java applications

43
Features of the J2SE
  • The Java Compiler
  • Converts code into bytecode
  • The Java Virtual Machine
  • Contains an interpreter to execute the bytecode
  • The Java API
  • The standard set of packages available in Java
  • The Java Applet Viewer
  • Mini browser to display Java applets

44
Other Java Development Tools
  • VATE (value-added text editor)
  • Color codes elements and numbers lines
  • Examples TextPad, JCreator, JGrasp
  • IDE (integrated development environment)
  • Builder tool to aid coding and debugging
  • Examples Sun ONE Studio, JBuilder, Visual Age,
    Simplicity
  • Web server
  • Deploys servlets
  • Example Tomcat

45
Chapter 1 Homework
  • Short Answer, pages 35 36
  • 1, 2, 5 10
  • Only type the answers, not the questions
  • Programming Assignments
  • Pages 38 43
  • 1, 2, 4, 10
  • All answers must be typed and printed out.
  • Due 9/13/07
Write a Comment
User Comments (0)
About PowerShow.com