Investigación Sobre Proceso de Desarrollo

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Programa Educativo: Ingeniería en Sistemas Computacionales

Asignatura: Introducción a la programación

Docente: M.T.I. Moisés Baltazar Hernández

Alumno: Noemi Abigail Angeles Gámez

Matricula: 2117031361

Grupo: 1SCG3

Fecha: Metztitlan Hidalgo 12 de NOVIEMBRE del 2021.


PROCESOS DE DESARROLLO

Introducción

Los lenguajes de programación son idiomas artificiales diseñados


para expresar cálculos y procesos que serán llevados a cabo por
ordenadores. Un lenguaje de programación está formado por un
conjunto de palabras reservadas, símbolos y reglas sintácticas y
semánticas que definen su estructura y el significado de sus
elementos y expresiones. El proceso de programación consiste en la
escritura, compilación y verificación del código fuente de un
programa.
Antes de diseñar un programa es necesario entender completamente
el problema que queremos resolver y conocer las restricciones de
operación de la aplicación. La programación es una tarea compleja y
es muy importante abordar la solución a un problema específico
desde un punto de vista algorítmico. Un algoritmo es un conjunto
ordenado y finito de operaciones que permite hallar la solución de un
problema. Está definido por instrucciones o reglas bien definidas,
ordenadas y finitas que permiten realizar una actividad. Dado un
estado inicial, una entrada y una secuencia de pasos sucesivos, se
llega a un estado final y se obtiene una solución.
Para programar de forma eficaz es necesario aprender a resolver
problemas de una forma sistemática y rigurosa. Solo se puede llegar
a realizar un buen programa si previamente se ha diseñado un
algoritmo. Un algoritmo dará lugar a un programa que puede
codificarse en cualquier lenguaje de programación.
Uno de los objetivos del curso de Fundamentos de Informática es que
el alumno desarrolle habilidades de análisis y diseño de algoritmos
simples que le puedan ser de utilidad en el futuro. Es importante tener
nociones básicas de programación porque esto permitirá entender y
diseñar procesos básicos en lenguajes de uso general como Java y
también en aplicaciones informáticas de uso común en la ingeniería
o el diseño. En la actualidad la mayoría de las aplicaciones que
utilizamos a diario ofrecen posibilidades de programación. Esto
facilita el diseño de pequeñas aplicaciones para automatizar tareas
de uso cotidiano.
Características de Java

De una manera breve y concisa se describirán las características


más importantes del lenguaje Java, posteriormente se profundizará
sobre algunas de ellas.
Simple y familiar: Java contempla una sintaxis muy similar al de los
lenguajes C, C++ y contempla ventajas sobre estos como:
C+ +: usa aritmética de punteros, los cuales no son seguros ya que
no existe la validación de la certeza de los punteros.
Java : no contempla aritmética de punteros, sólo hace referencia a
objetos para su acceso.
C++ : los arreglos en C++ no son seguros, el código puede hacer
referencia a elementos fuera de los límites, produciendo así un
overflow.
Java: valida el overflow de los arreglos.
C++: sintaxis compleja con las raíces de C (Para compatibilidad con
el código C)
Java: lenguaje diseñado de marca. Sintaxis similar a C y C++
solamente para reducir la curva de aprendizaje de los
programadores. Características removidas de C++ para reducir
complejidad en el lenguaje.
C++: los casts no son validados.
Java: el casts es validado y permitido entre tipos compatibles.
C++: los hilos son implementados en forma dependiente y no parte
del lenguaje.
Java: los hilos son integrantes del lenguaje y dentro de la plataforma
JVM (Máquina Virtual)
C++: las interfaces gráficas son dependientes del vendedor o de la
plataforma.
Java: un solo modelo de interfaz gráfica para todas las plataformas,
el A WT
C++: las bibliotecas para ejecución de funciones similares no son
estándar entre los vendedores.
Java: populares bibliotecas tienen AP estándar. Los API's son
usados por todos los vendedores.
Orientado a Objetos: La programación orientada a objetos es una
forma de organizar programas, y puede ser realizada usando
cualquier lenguaje. Pero trabajando con lenguajes realmente
orientados a objetos y ambientes totalmente orientado a objetos,
permiten tomar Completamente todas las ventajas de esta
metodología y sus capacidades de crear programas flexibles,
modulares y con código reusable.
Seguro: el sistema Java tiene ciertas políticas que evitan se puedan
codificar virus. Existen muchas restricciones, especialmente para los
applets, que limitan lo que se puede o no se puede hacer con los
recursos críticos de una computadora.

Java contempla otras dos características que son el aspecto de


multihilo y el aspecto distribuido. Por su importancia estos aspectos
tendrán mayor detalle en su descripción. El primero se describe en la
siguiente sección y el segundo en el apartado llamado Java y la
programación de redes.

Multihilo

A diferencia de otros lenguajes de programación, Java permite


realizar programación multihilo. Un programa multihilo contiene dos
o más partes que pueden ejecutarse de forma concurrente. Bajo el
paradigma de Java cada parte de ese programa se llama hilo
(Thread) y cada hilo establece un camino de ejecución independiente
(multitarea basada en hilos)
Los hilos comparten el mismo espacio de direcciones y comparten
cooperativamente el mismo proceso pesado. La comunicación entre
hilos es ligera y el cambio de contexto de un hilo al siguiente no es
costoso. Aunque los programas Java hacen uso de entornos
multitarea basados en procesos, esto no está bajo el control de Java.
Sin embargo, la multitarea multihilo sí está bajo el control de Java.
La programación multihilo permite escribir programas muy eficientes
que utilizan al máximo la CPU, reduciendo al mínimo el tiempo que
éste está libre. Esto es especialmente importante en los entornos
interactivos y en la red en los que se trabaja con Java, donde la CPU
puede estar libre la mayor parte del tiempo.
El modelo de hilo de Java

Java utiliza hilos para permitir que el entorno en su globalidad sea


asíncrono; esto permite reducir la ineficiencia al evitar desaprovechar
ciclos de CPU. Un hilo puede detenerse sin parar las otras partes del
programa.

Los hilos pueden estar en distintos estados. Un hilo puede estar


ejecutándose. También puede estar preparado para ejecutarse tan
pronto como disponga de tiempo de CPU. Un hilo que está
ejecutándose puede suspenderse, lo que equivale a detener
temporalmente su actividad. El hilo suspendido puede reanudarse
permitiendo que continúe su tarea allí donde la dejó. Un hilo puede
estar bloqueado cuando espera un recurso. En cualquier momento,
un hilo puede detenerse, finalizando su ejecución de manera
inmediata. Una vez detenido, un hilo no puede reanudarse.

La plataforma de Java

Los programas Java se compilan a un lenguaje intermedio,


denominado Bytecode. Este código es interpretado por la máquina
virtual de Java del entorno de ejecución (JRE) y así se consigue la
portabilidad en distintas plataformas. El JRE es una pieza intermedia
entre el código Bytecode y los distintos sistemas operativos
existentes en el mercado. Un programa Java compilado en Bytecode
se puede ejecutar en sistemas operativos como Windows, Linux, Mac
Os, Solaris, BlackBerry OS, iOs o Android utilizando el entorno de
ejecución de Java (JRE) apropiado.
Una de las características más importantes de los lenguajes de
Programación modernos es la portabilidad. Como se ha comentado
antes, un programa es portable cuando es independiente de la
plataforma y puede ejecutarse en cualquier sistema operativo y
dispositivo físico. Los programas Java son portables porque se
ejecutan en cualquier plataforma. Sucede algo parecido con las
fotografías o los ficheros PDF. Las fotografías con formato JPEG son
portables porque un archivo JPEG lo podemos visualizar con
distintos visores de fotos y en dispositivos como ordenadores,
tabletas o teléfonos. El formato JPEG es un estándar para almacenar
archivos de imagen. Todas las imágenes JPEG tienen el mismo
formato y los visores de fotos están diseñados para mostrar las
imágenes con este formato. De forma similar, los archivos PDF
(Portable Document Format) son portables. El formato PDF fue
desarrollado por Adobe Systems con la idea de que estos archivos
se puedan ver en cualquier dispositivo que tenga instalado Adobe
Acrobat Reader, el software de visualización de documentos PDF.

La portabilidad de Java ha contribuido a que muchas empresas


hayan desarrollado sus sistemas de comercio electrónico y sus
sistemas de información en Internet con Java. El proceso de
desarrollo y de mantenimiento de los sistemas resulta menos costoso
y las aplicaciones son compatibles con distintos sistemas operativos.

La evolución del lenguaje de programación Java ha sido muy rápida.


La plataforma de desarrollo de Java, denominada Java Development
Kit (JDK), se ha ido ampliando y cada vez incorpora a un número
mayor de programadores en todo el mundo. En realidad Java no solo
es un lenguaje de programación. Java es un lenguaje, una plataforma
de desarrollo, un entorno de ejecución y un conjunto de librerías para
desarrollo derogramas sofisticados.

Las librerías para desarrollo se denominan Java Application


Programming Interface (Java API).

El siguiente esquema muestra los elementos de la plataforma Java,


desde el código fuente, el compilador, el API de Java, los programas
compilados en Bytecode y el entorno de ejecución de Java. Este
entorno de ejecución (JRE) y la máquina virtual (JVM) permiten que
un programa compilado Java se ejecute en distintos sistemas
operativos.

El proceso de edición y compilación

En Java, al igual que en otros lenguajes de programación, se sigue


el siguiente proceso: edición del código fuente, compilación y
ejecución. Los programas Java se desarrollan y se compilan para
obtener un código denominado Bytecode que es interpretado por una
máquina virtual de Java (Java Virtual Machine).

La edición del programa fuente se realiza escribiendo el programa


Java en un editor de texto como el Bloc de notas o utilizando un
entorno integrado de desarrollo. El código fuente se almacena en un
fichero de tipo .java.
La compilación se realiza con el compilador Java javac o utilizando
un entorno integrado de desarrollo. Durante el proceso de
compilación se verifica que el código fuente cumple la definición
léxica, sintáctica y semántica de Java. Esto significa que el
compilador comprueba que el Código fuente se compone de palabras
válidas en Java y que los comandos Java tienen la forma sintáctica
correcta. Si durante el proceso de compilación el compilador detecta
los errores que ha cometido el programador y le informa de los
problemas que ha encontrado para que pueda corregirlos. Si durante
la compilación no se detectan errores, se genera un fichero de tipo
class en Bytecode. Una vez finalizado el proceso de compilación se
puede ejecutar el programa. Para esto, es necesario que la máquina
virtual de Java interprete el código Bytecode y ejecute la aplicación.

La codificación de programas Java

El estilo de programación o codificación de los programas Java es


muy importante. La legibilidad de un programa determina en buena
medida que se haya desarrollado correctamente y que el producto
final sea eficiente.

Legibilidad > Corrección > Eficiencia


Legibilidad. Un programa Java debe ser fácil de leer y entender, incluso para
una persona que no ha participado en el desarrollo del programa. La legibilidad
es un aspecto muy importante porque facilita el mantenimiento del software, la
corrección de errores o la modificación de la funcionalidad de la aplicación con
menor coste.
Corrección. Un programa debe hacer lo que debe hacer, ni más, ni menos.
Esto es lo que se entiende por corrección. Un programa debe cumplir
rigurosamente los requisitos funcionales y técnicos de la fase de
especificación. Durante la fase de prueba se verifica que el programa
funciona correctamente y que cumple los requisitos técnicos y funcionales.

Eficiencia. La eficiencia se refiere al tiempo que un programa tarda en


ejecutarse y a los recursos que consume. Cuanto más rápido sea un
programa y utilice menos memoria o disco duro, el diseño es mejor. La
eficiencia no es un problema que deba atender cuando se aprende a
programar. Ahora lo mejor es utilizar los mecanismos de optimización
propios de los compiladores. La eficiencia se debe analizar solo cuando un
programa funciona correctamente y cumple con los requisitos técnicos
definidos.

El proceso de desarrollo de software

El proceso de desarrollo de los programas Java no difiere de la mayoría de


los lenguajes de programación. Es necesario seguir un conjunto de pasos
para desarrollar correctamente un producto software.

La Ingeniería del Software estudia los distintos procesos de desarrollo de


Software. El IEEE define Ingeniería del Software como la aplicación
sistemática, disciplinada y cuantificable de un proceso de desarrollo,
operación y mantenimiento de un producto software.

El proceso clásico de desarrollo de software es ampliamente utilizado por su


senncillez. Este proceso se compone de las siguientes fases: especificación,
diseño, codificación, prueba y mantenimiento.

Especificación. En esta fase se decide la funcionalidad, las características


técnicas de una aplicación y sus condiciones de uso.

Diseño. En esta fase se utiliza toda la información recogida en la fase de


especificación y se propone una solución que responda a las necesidades del
usuario y se pueda desarrollar. En esta fase se define la arquitectura de la
aplicación. Es necesario detallar la estructura y la organización del
prgrama y cómo se relacionan las distintas partes de la aplicación.

Codificación. Esta fase consiste en la programación en Java de las


Especificaciones de diseño de la fase anterior. Durante esta fase de codificación
o implementación se aplican normas de programación para facilitar la legibilidad
de los programas Java.

Prueba.
En esta fase se compila y se ejecuta la aplicación para verificar que cumple con
los requisitos funcionales y técnicos definidos en la fase de especificación. Si el
programa no cumple con todos los requisitos, se puede deber a errores de diseño
o de programación. En tal caso, es necesario corregir los errores que se hayan
detectado y repetir de nuevo el proceso de diseño y codificación. Durante la fase
de prueba se verifica que la aplicación
cumple con los criterios de calidad establecidos en el proyecto: facilidad de
uso, corrección, eficiencia, integridad, fiabilidad, flexibilidad, facilidad de
mantenimiento, facilidad de prueba, portabilidad, capacidad de reutilización e
interoperabilidad.

Mantenimiento.
Una vez que la aplicación se ha puesto en operación da comienzo la fase de
mantenimiento. En esta fase se corrigen errores de funcionamiento de la
aplicación, se modifica la funcionalidad o se añaden las nuevas funcionalidades
que demandan los usuarios. La fase de
mantenimiento es la de mayor duración, pues pueden pasar muchos años
desde el inicio de la operación hasta que el producto es retirado.

Conclusión

Como lenguaje de programación, Java resulta muy interesante. Para un nivel


básico, no es
dificil comprender para personas no expertas en programación, como es el caso
del autor de este proyecto. En internet se puede encontrar numerosa
documentación y herramientas para iniciarse en este lenguaje de programación.
Aunque somos conscientes de que hay que estudiarlo profundamente para
sacarle rendimiento y optimizar el funcionamiento de la aplicación creada para
este proyecto.

Considerando que el entrono de desarrollo Netbeans es un programa magnífico


para
desarrollar aplicaciones en Java. Netbeans dispone de todas las herramientas
necesarias para
poder hacer una aplicación como la que hemos creado para nuestro proyecto
con un
conocimiento básico de Java.

El programa de Neatbens es uno de los software mas completos y robustos para


la programación.
Java es un lenguaje de programación que nos permite realizar múltiples
aplicaciones.
Al realizar la codificación en java estamos utilizando los conocimientos
adquiridos en el proceso de aprendizaje.

Referencias

https://www.ingenieriasystems.com/2015/12/El-proceso-de-desarrollo-de-software-en-
Java.html?m=1
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java

http://www.programacionfacil.com/java/if

http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)

También podría gustarte