1 / 50

Chapter 1

Chapter 1. An Introduction to Java and Program Design. 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

Download Presentation

Chapter 1

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 1 An Introduction to Java and Program Design

  2. 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 an object structure diagram

  3. 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. 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 • 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 1990’s

  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 within a Web browser

  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 and upgrades • New applications will be needed due to emerging technologies

  17. Program Development Cycle

  18. Phase 1 – Analyze 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

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

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

  21. Phase 2 – Design Solution • Storyboards are sketches of the user interface

  22. Phase 2 – Design Solution • Object Structure Diagrams illustrate the attributes and methods of an object • Attributes define the characteristics of an object • Methods are instructions an object uses to manipulate values, generate outputs, or perform actions

  23. Phase 2 – Design Solution

  24. Phase 2 – Design 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

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

  26. Phase 3 – Validate 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

  27. Phase 4 – Implement 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 • Test the code as it is written • Test related code

  28. Phase 4 – Implement Design

  29. Phase 5 – Test 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

  30. Phase 6 – Document 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

  31. 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

  32. Objects • Class • Implementation of an object or set of objects with a common structure and behavior • Class diagram • A tool displaying a hierarchy of classes, including superclasses and subclasses • Instance • A specific occurrence of an object • Attributes • The properties of an individual object

  33. Operations • Method • The code of an operation on the data of an object • Message • The activation of an operation through naming the object and the operation to be performed on the object • Trigger • Impetus for a sent message • Event • The process of a trigger sending a message that results in an operation

  34. Event Diagrams and UML • 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

  35. 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

  36. 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

  37. 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

  38. Rapid Application Development • Pre-built objects speed up program development

  39. 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

  40. 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

  41. 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

  42. Summary • Overview of computer programming • Overview of the Java programming language • Characteristics of Java • Program development life cycle • Java program types

  43. Summary • Object-oriented programming and design • Objects, methods, attributes, events • Encapsulation, inheritance, polymorphism • The Java SDK • Other Java development tools

  44. Chapter 1 Complete

More Related