1 / 51

Java Programming: Introduction, Concepts, and Design Phases

This chapter introduces Java characteristics, program types, and development life cycle phases. Exploring Java's uses, OOP, RAD, and SDK components, it covers class and event diagrams, object-oriented design, and application development concepts. Learn to code Java applications, understand program design processes, and test and implement solutions effectively. Enhance your Java programming knowledge and skills through hands-on lessons and practical examples.

meadel
Download Presentation

Java Programming: Introduction, Concepts, and Design Phases

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. 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 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 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. Program Development Cycle

  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

  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

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

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

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

  23. Phase 2 – Design the Solution

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

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

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

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

  28. Phase 4 – Implement the Design

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

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

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

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

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

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

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

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

More Related