Download Chapter 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Java Programming, 3e
Concepts and Techniques
Chapter 1
An Introduction to
Java and
Program Design
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
Chapter 1: An Introduction to Java and Program Design
2
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
Chapter 1: An Introduction to Java and Program Design
3
Chapter Objectives
• Describe rapid application development
(RAD)
• Identify key components of the Java
Software Development Kit (SDK)
Chapter 1: An Introduction to Java and Program Design
4
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
Chapter 1: An Introduction to Java and Program Design
5
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 1990’s
Chapter 1: An Introduction to Java and Program Design
6
What Is Java?
• Parsimonious
– Compatible with older versions
• Robust
– Strongly typed and incorruptible data
• Secure
– Protection against misuse of code
• Portable
– Platform-independent
Chapter 1: An Introduction to Java and Program Design
7
Java Program Types
•
•
•
•
•
Console and Windowed applications
Applets
Servlets
Web Services
JavaBeans
Chapter 1: An Introduction to Java and Program Design
8
Console Applications
• Stand-alone programs using a commandline interface
Chapter 1: An Introduction to Java and Program Design
9
Windowed Applications
• Stand-alone programs using a graphical
user interface (GUI)
Chapter 1: An Introduction to Java and Program Design
10
Applets
• Client-side programs executed as part of a
displayed Web page
Chapter 1: An Introduction to Java and Program Design
11
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)
Chapter 1: An Introduction to Java and Program Design
12
Servlets
Chapter 1: An Introduction to Java and Program Design
13
Web Services
• Services receive information requests over
the Web and return the requested data
Chapter 1: An Introduction to Java and Program Design
14
JavaBeans
• Reusable software components
Chapter 1: An Introduction to Java and Program Design
15
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
Chapter 1: An Introduction to Java and Program Design
16
Chapter 1: An Introduction to Java and Program Design
17
Program Development Cycle
Chapter 1: An Introduction to Java and Program Design
18
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
Chapter 1: An Introduction to Java and Program Design
19
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
Chapter 1: An Introduction to Java and Program Design
20
Chapter 1: An Introduction to Java and Program Design
21
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
Chapter 1: An Introduction to Java and Program Design
22
Phase 2 – Design the Solution
• Storyboards are sketches of the user
interface
Chapter 1: An Introduction to Java and Program Design
23
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
Chapter 1: An Introduction to Java and Program Design
24
Phase 2 – Design the Solution
Chapter 1: An Introduction to Java and Program Design
25
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
Chapter 1: An Introduction to Java and Program Design
26
Chapter 1: An Introduction to Java and Program Design
27
Chapter 1: An Introduction to Java and Program Design
28
Phase 2 – Design the Solution
• Pseudocode is an English representation
of how the program code should be written
Chapter 1: An Introduction to Java and Program Design
29
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
Chapter 1: An Introduction to Java and Program Design
30
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
Chapter 1: An Introduction to Java and Program Design
31
Phase 4 – Implement the Design
Chapter 1: An Introduction to Java and Program Design
32
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
Chapter 1: An Introduction to Java and Program Design
33
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
Chapter 1: An Introduction to Java and Program Design
34
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
Chapter 1: An Introduction to Java and Program Design
35
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
Chapter 1: An Introduction to Java and Program Design
36
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
Chapter 1: An Introduction to Java and Program Design
37
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
Chapter 1: An Introduction to Java and Program Design
38
Chapter 1: An Introduction to Java and Program Design
39
Encapsulation
• The process of hiding the implementation
details of an object from its user
• The user is shielded from the system’s
complexity
• Information hiding provides access to an
object only through its messages
• Objects can be modified without requiring
application modification
Chapter 1: An Introduction to Java and Program Design
40
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
Chapter 1: An Introduction to Java and Program Design
41
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
Chapter 1: An Introduction to Java and Program Design
42
Chapter 1: An Introduction to Java and Program Design
43
Rapid Application Development
• Pre-built objects speed up program development
Chapter 1: An Introduction to Java and Program Design
44
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
Chapter 1: An Introduction to Java and Program Design
45
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
Chapter 1: An Introduction to Java and Program Design
46
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
Chapter 1: An Introduction to Java and Program Design
47
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
Chapter 1: An Introduction to Java and Program Design
48
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
Chapter 1: An Introduction to Java and Program Design
49
Chapter Summary
• Describe rapid application development
(RAD)
• Identify key components of the Java
Software Development Kit (SDK)
Chapter 1: An Introduction to Java and Program Design
50
Java Programming, 3e
Concepts and Techniques
Chapter 1 Complete