An Introduction to Java and Program Design - PowerPoint PPT Presentation

1 / 51
About This Presentation
Title:

An Introduction to Java and Program Design

Description:

Java is a programming language that provides the structure for efficient and ... The Java Runtime Environment (JRE) provides the tools to deploy Java applications ... – PowerPoint PPT presentation

Number of Views:266
Avg rating:3.0/5.0
Slides: 52
Provided by: steve1752
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
Chapter Objectives
  • Describe characteristics of Java
  • Explain the uses of Java and identify types of
    Java programs
  • Identify the phases in the program development
    life cycle
  • Define programs, programming, and applications
  • Read, explain, and create a class diagram

3
Chapter Objectives
  • Read, explain, and create an event diagram
  • Explain object-oriented programming (OOP) and
    object-oriented design (OOD)
  • Define the terms objects, attributes, methods,
    and events
  • Define and explain encapsulation, inheritance,
    and polymorphism

4
Chapter Objectives
  • Describe rapid application development (RAD)
  • Identify key components of the Java Software
    Development Kit (SDK)

5
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

6
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

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

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

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

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

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

12
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)

13
Servlets

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

15
JavaBeans
  • Reusable software components

16
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

17

18
Program Development Cycle

19
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

20
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

21

22
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

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

24
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

25
Phase 2 Design the Solution
26
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

27

28

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

30
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

31
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

32
Phase 4 Implement the Design

33
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

34
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

35
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

36
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

37
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

38
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

39

40
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

41
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

42
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

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

45
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

46
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

47
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

48
Chapter Summary
  • Describe characteristics of Java
  • Explain the uses of Java and identify types of
    Java programs
  • Identify the phases in the program development
    life cycle
  • Define programs, programming, and applications
  • Read, explain, and create a class diagram

49
Chapter Summary
  • Read, explain, and create an event diagram
  • Explain object-oriented programming (OOP) and
    object-oriented design (OOD)
  • Define the terms objects, attributes, methods,
    and events
  • Define and explain encapsulation, inheritance,
    and polymorphism

50
Chapter Summary
  • Describe rapid application development (RAD)
  • Identify key components of the Java Software
    Development Kit (SDK)

51
Chapter 1 Complete
Write a Comment
User Comments (0)
About PowerShow.com