Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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