Temario
PRESENTACIÓN
En la actualidad los diversos cambios a nivel de comercialización y desarrollo de software han tenido una gran tendencia a manipular técnicas y tecnologías libres. Una de las principales tecnologías para desarrollo que ha tenido gran acogida ha sido el uso del lenguaje JAVA®, marca de la que es propietaria actualmente ORACLE®,, quien adquirió a Sun Microsystems en Abril de 2009.
JAVA®, es un lenguaje de programación con el que podemos realizar cualquier tipo de programa. En la actualidad es uno de los lenguajes más usados en la actualidad y cada vez cobra más importancia tanto en el ámbito de Internet como en la informática en general. Una de las principales características por las que JAVA®, se ha hecho muy famoso, es el ser un lenguaje independiente de la plataforma, esto es posible creando una Máquina Virtual de Java (JVM) para cada sistema que hace de puente entre el sistema operativo y el programa de Java, lo cual posibilita que este último se entienda perfectamente.
OBJETIVOS
Describir el proceso de desarrollo de software orientado a objetos, incluidas las metodologías orientadas a objetos y flujos de trabajo, reuniendo los requisitos del sistema a través de entrevistas con las partes interesadas, casos de uso y el modelo de dominio del dominio del problema.
Aprender a crear una arquitectura de sistema y un diseño de sistema.
Presentar el poder de la tecnología JAVA®,, el lenguaje de programación Java y el ciclo de vida de un desarrollo, aplicado diversos tipos de construcciones para crear varias aplicaciones con la tecnología Java como lenguaje de desarrollo.
Adquirir practica en el uso de construcciones de decisión y los métodos para determinar el flujo de programa y aplicando los conceptos de la programación Orientada a Objetos (OO) como encapsulación, herencia y polimorfismo.
Desarrollar agilidad en el uso de tipos de datos y expresiones, uso de constructores, matrices y técnicas de control de errores utilizando el manejo de excepciones.
Aprender a crear una interfaz gráfica de usuario orientada a eventos de usuario (GUI), utilizando componentes como Swing, paneles, botones, etiquetas, campos de texto y áreas de texto, funcionalidades para leer y escribir datos y archivos de texto, al igual que comprender métodos avanzados de E / S.
Desarrollar una transmisión de datos simple (TCP / IP) Cliente / Servidor mediante el uso de sockets.
DIRIGIDO A:
Ingenieros de sistemas, electrónicos, Diseñadores Gráficos, WebMaster y todos aquellos quienes desean aprender y manipular con facilidad el lenguaje JAVA®,. Profesionales interesados en comenzar a desarrollar aplicaciones en un lenguaje orientado a objetos.
CONTENIDO:
Modulo 1
Object-Oriented Analysis and Design Using UML
Examining Object-Oriented Concepts and Terminology
-Describe the important object oriented (OO) concepts
-Describe the fundamental OO terminology
Introducing Modeling and the Software Development Process
-Describe the Object-Oriented Software Development (OOSD) process
-Describe how modeling supports the OOSD process
-Describe the benefits of modeling software
-Explain the purpose, activities, and artifacts of the following OOSD workflows
(disciplines): Requirements Gathering, Requirements Analysis, Architecture, Design,
Implementation, Testing &Deployment
Creating Use Case Diagrams
-Justify the need for a Use Case diagram
-Identify and describe the essential elements in a UML Use Case diagram
-Develop a Use Case diagram for a software system based on the goals of the business
owner
-Develop elaborated Use Case diagrams based on the goals of all the stakeholders
-Recognize and document use case dependencies using UML notation for extends,
includes, and generalization
-Describe how to manage the complexity of Use Case diagrams by creating UML
packaged views
Creating Use Case Scenarios and Forms
-Identify and document scenarios for a use case
-Create a Use Case form describing a summary of the scenarios in the main and alternate
flows
-Describe how to reference included and extending use cases.
-Identify and document non-functional requirements (NFRs), business rules, risks, and
priorities for a use case
-Identify the purpose of a Supplementary Specification Document
Creating Activity Diagrams
-Identify the essential elements in an Activity diagram
-Model a Use Case flow of events using an Activity diagram
Determining the Key Abstractions
-Identify a set of candidate key abstractions
-Identify the key abstractions using CRC analysis
Constructing the Problem Domain Model
-Identify the essential elements in a UML Class diagram
-Construct a Domain model using a Class diagram
-Identify the essential elements in a UML Object diagram
-Validate the Domain model with one or more Object diagrams
Transitioning from Analysis to Design using Interaction Diagrams
-Explain the purpose and elements of the Design model
-Identify the essential elements of a UML -diagram
-Create a Communication diagram view of the Design model
-Identify the essential elements of a UML Sequence diagram
-Create a Sequence diagram view of the Design model
-Model object state
-Describe the essential elements of a
-UML State Machine diagram
Applying Design Patterns to the Design Model
-Define the essential elements of a software pattern
-Describe the Composite pattern
-Describe the Strategy pattern
-Describe the Observer pattern
-Describe the Abstract Factory pattern
Introducing Architectural Concepts and Diagrams
-Distinguish between architecture and design
-Describe tiers, layers, and systemic qualities
-Describe the Architecture workflow
-Describe the diagrams of the key architecture views
-Select the Architecture type
-Create the Architecture workflow artifacts
Introducing the Architectural Tiers
-Describe the concepts of the Client and Presentation tiers
-Describe the concepts of the Business tier
-Describe the concepts of the Resource and Integration tiers
-Describe the concepts of the Solution model
Refining the Class Design Model
-Refine the attributes of the Domain model
-Refine the relationships of the Domain model
-Refine the methods of the Domain model
-Declare the constructors of the Domain model
-Annotate method behavior
-Create components with interfaces
Overview of Software Development Processes
-Explain the best practices for OOSD methodologies
-Describe the features of several common methodologies
-Choose a methodology that best suits your project
-Develop an iteration plan
Overview of Frameworks
-Define a framework
-Describe the advantages and disadvantages of using frameworks
-Identify several common frameworks
-Understand the concept of creating your own business domain frameworks
Course Review
-Review the key features of object orientation
-Review the key UML diagrams
-Review the Requirements Analysis (Analysis) and Design workflows
-Relating Java with other languages
-Showing how to download, install, and configure the Java environment on a Windows system.
-Describing the various Java technologies such as Java EE, JavaME, Embedded Java SE
-Describing key features of the technology and the advantages of using Java
-Using an Integrated Development Environment (IDE)
Thinking in Objects
-Defining the problem domain
-Identifying objects and recognizing the criteria for defining objects
Introducing the Java Language
-Defining classes
-Identifying the components of a class
-Creating and using a test class
-Compiling and executing a test program
Working with Primitive Variables
-Declaring and initializing field variables
-Describing primitive data types such as integral, floating point, textual, and logical
-Declaring variables and assigning values
-Using constants
-Using arithmetic operators to modify values
Working with Objects
-Declaring and initializing objects
-Storing objects in memory
-Using object references to manipulate data
-Using JSE javadocs to look up the methods of a class
-Working with String and StringBuilder objects
Using operators and decision constructs
-Using relational and conditional operators
-Testing equality between strings
-Evaluating different conditions in a program and determining the algorithm
-Creating if and if/else constructs
-Nesting and chaining conditional statements
-Using a switch statement
Creating and Using Arrays
-Declaring, instantiating, and initializing a one-dimensional Array
-Declaring, instantiating, and initializing a two-dimensional Array
-Using a for loop to process an Array
-Creating and initializing an ArrayList
-Using the import statement to work with existing Java APIs
-Accessing a value in an Array or and ArrayList
-Using the args Array
Using Loop Constructs
-Creating while loops and nested while loops
-Developing a for loop
-Using ArrayLists with for loops
-Developing a do while loop
-Understanding variable scope
Modulo 2
Fundamentals of the Java Programming Language, Java SE
-Creating and Invoking a Method
-Passing arguments and returning values
-Creating static methods and variables
-Using modifiers
-Overloading a method
Using Encapsulation and Constructors
-Creating constructors
-Implementing encapsulation
Introducing Advanced Object Oriented Concepts
-Using inheritance
-Using types of polymorphism such as overloading, overriding, and dynamic binding
-Working with superclasses and subclasses
-Adding abstraction to your analysis and design
-Understanding the purpose of Java interfaces
-Creating and implementing a Java interface
Handling Errors
-Understanding the different kinds of errors that can occur and how they are handled in Java
-Understanding the different kinds of Exceptions in Java
-Using Javadocs to research the Exceptions thrown by the methods of foundation classes
-Writing code to handle Exceptions
The Big Picture
-Creating packages and JAR files for deployment using java
-Two and three tier architectures
-Looking at some Java applications examples
Java Platform Overview
-Introductions
-Course Schedule
-Java Overview
-Java Platforms
-OpenJDK
-Licensing
-Java in Server Environments
-The Java Community Process
Java Syntax and Class Review
-Simple Java classes
-Java fields, constructors and methods
-Model objects using Java classes
-Package and import statements
Encapsulation and Polymorphism
-Encapsulation in Java class design
-Model business problems with Java classes
-Immutability
-Subclassing
-Overloading methods
Using Encapsulation and Constructors
-Creating constructors
-Implementing encapsulation
Introducing Advanced Object Oriented Concepts
-Using inheritance
-Using types of polymorphism such as overloading, overriding, and dynamic binding
-Working with superclasses and subclasses
-Adding abstraction to your analysis and design
-Understanding the purpose of Java interfaces
-Creating and implementing a Java interface
Handling Errors
-Understanding the different kinds of errors that can occur and how they are handled in Java
-Understanding the different kinds of Exceptions in Java
-Using Javadocs to research the Exceptions thrown by the methods of foundation classes
-Writing code to handle Exceptions
The Big Picture
-Creating packages and JAR files for deployment using java
-Two and three tier architectures
-Looking at some Java applications examples
Java Platform Overview
-Introductions
-Course Schedule
-Java Overview
-Java Platforms
-OpenJDK
-Licensing
-Java in Server Environments
-The Java Community Process
Java Syntax and Class Review
-Simple Java classes
-Java fields, constructors and methods
-Model objects using Java classes
-Package and import statements
Encapsulation and Polymorphism
-Encapsulation in Java class design
-Model business problems with Java classes
-Immutability
-Subclassing
-Overloading methods
Modulo 3
Java SE Programming, (40 Hours)
Más Información
-Variable argument methods
Java Class Design
-Access modifiers: private, protected and public
-Method overriding
-Constructor overloading
-The instanceof operator
-Virtual method invocation
-Polymorphism
-Casting object references
-Overriding Object methods
Advanced Class Design
-Abstract classes and type generalization
-The static and final modifiers
-Field modifier best practices
-The Singleton design pattern
-Designing abstract classes
-Nested classes
-Enumerated types
Inheritance with Java Interfaces
-Java Interfaces
-Types of Inheritance
-Object composition and method delegation
-Implementing multiple interfaces
-The DAO design pattern
Generics and Collections
-Generic classes and type parameters
-Type inference (diamond)
-Collections and generics
-List, set and Map
-Stack and Deque
String processing
-String manipulation with StringBuilder and StringBuffer
-Essential String methods
-Text parsing in Java
-Input processing with Scanner
-Text output and formatting
-Regular expressions with the Pattern and Matcher classes
Exceptions and Assertions
-Exceptions categories
-Standard Java Exception classes
-Creating your own Exception classes
-Using try-catch and the finally clause
-Using try-with-resources and the AutoCloseable interface
-The multi-catch feature
-Best practices using exceptions
-Assertions
I/O Fundamentals
-I/O using Java
-Reading the console input stream
-Writing to the console
-Using I/O Streams
-Chaining I/O Streams
-Channel I/O
-Reading and writing objects using Serialization
-File I/O with NIO 2
-The Path interface
-The Files class
-Directory and File operations
-Managing file system attributes
-Reading, writing, and creating files
-Watching for file system changes
Threading
-Operating system task scheduling
-Recognizing multithreaded environments
-Creating multi-threaded solutions
-Sharing data across threads
-Synchronization and Deadlock
-Immutable objects
Concurrency
-Creating Atomic variables Using Read-Write Locks
-Thread-safe collections
-Concurrenct synchronizers (Semaphore, Phaser, and others)
-Executors and ThreadPools to concurrently schedule tasks
-Parallelism and the Fork-Join framework
Database Application with JDBC
-Layout of the JDBC API
-JDBC divers
-Queries and results
-PreparedStatement and CallableStatement
-Transactions
-RowSet 1.1 RowSetProvider and RowSetFactory
-The DAO Pattern and JDBC
Localization
-Advantages of localization
-Defining locale
-Read and set locale using the Locale object
-Resource bundles
-Format messages, dates and numbers