Teoría sobre Desenvolvemento de software
Sumario
- 1 Obxectivos
- 2 Concepto de programa informático
- 3 Fases do desenvolvemento dunha aplicación: análise, deseño, codificación, probas, documentación, explotación e mantemento
- 4 Código fonte, código obxecto e código executable. Máquinas virtuais e linguaxe intermedia
- 5 Linguaxes de programación e tipos
- 6 Proceso de obtención de código executable a partir do código fonte: ferramentas implicadas
- 7 Resumo
- 8 Bibliografía
- 9 Referencias
Obxectivos
- Comprender os principios básicos do desenvolvemento de software
- Coñecer as linguaxes de programación e as súas características
- Coñecer as fases de desenvolvemento das aplicacións e as filosofías áxiles
- Comprender a diferencia entre compiladores, intérpretes e máquinas virtuais
Concepto de programa informático
Fases do desenvolvemento dunha aplicación: análise, deseño, codificación, probas, documentación, explotación e mantemento
Código fonte, código obxecto e código executable. Máquinas virtuais e linguaxe intermedia
Linguaxes de programación e tipos
Definición
Un lenguaje de programación es un lenguaje formal que le proporciona a una persona, en este caso el programador, la capacidad de escribir (o programar) una serie de instrucciones o secuencias de órdenes en forma de algoritmos con el fin de controlar el comportamiento físico o lógico de un sistema informático, de manera que se puedan obtener diversas clases de datos o ejecutar determinadas tareas.
Características
Programar viene a ser el proceso de crear un software fiable mediante la escritura, prueba, depuración, compilación o interpretación, y mantenimiento del código fuente de dicho programa informático. Básicamente, este proceso se define aplicando lógicamente los siguientes pasos:
- El desarrollo lógico del programa para resolver un problema en particular.
- Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
- Compilación o interpretación del programa hasta convertirlo en lenguaje de máquina.
- Prueba y depuración del programa.
- Desarrollo de la documentación.
Los lenguajes de programación están formados por un conjunto de símbolos (llamado alfabeto), de reglas gramaticales (léxico/morfológicas y sintácticas) y de reglas semánticas, que en conjunto definen las estructuras válidas del lenguaje y su significado
Generaciones
Pueden clasificarse en cinco generaciones.
Primera generación (1GL)
Formada por los lenguajes de programación utilizados en los primeros ordenadores: lenguaje máquina y ensamblador.
Segunda generación (2GL)
Formada por el lenguaje macroensamblador que es ensamblador combinado con instrucciones de control y de manejo de datos más complejas. Estos lenguajes son específicas para una familia de procesadores y el hardware relacionado con el. Aún se siguen utilizando para programar los núcleos (kernel) de los sistemas operativos y los controladores de algunos dispositivos (device drivers).
Tercera generación (3GL)
Formada por la mayor parte de los lenguajes de alto nivel actuales. El código es independiente de la máquina y el lenguaje de programación es parecido al lenguaje humano. Por ejemplo: Java, C, C++, PHP, JavaScript, e Visual Basic.
Cuarta generación (4GL)
Formada por lenguajes y entornos diseñados para una tarea o propósito muy específico como acceso a bases de datos, generación de informes, generación de interfaces de usuario, etcétera. Por ejemplo: SQL, Informix 4GL y Progress 4GL.
Quinta generación (5GL)
Formada por lenguajes en las que el programador establece el problema a resolver y las condiciones a cumplir. Se usan en inteligencia artificial, sistemas basados en el conocimiento, sistemas expertos, mecanismos de inferencia o procesamento del lenguaje natural. Por ejemplo: Prolog, Smalltalk y Lisp.
Proceso de obtención de código executable a partir do código fonte: ferramentas implicadas
Resumo
- O software é a parte intanxible e lóxica dun sistema informático. Ten estas características:
- é lóxico, non físico
- desenvólvese, non se fabrica
- non se estropea e facer unha copia da lugar a un clon.
- pode construirse a medida.
- Un programa é unha serie de órdenes o instrucciones secuenciadas u ordenadas cunha finalidade concreta que realizan unha función determinada
- Un software a medida é unha ou varias aplicacións realizadas segundo os requerimentos e instruccións dunha empresa ou organismo
- O software estándar ou enlatado é aquel de tipo xenérico que resolve múltiples necesidade.
- As linguaxes de programación son unha linguaxe artificial creada para que cada unha das instruccións da linguaxe den lugar ó traducirse a código máquina nunha ou varias instruccións máquina
- A linguaxe máquina:
- é inintelixible
- componse de combinacións de uns e ceros
- non necesita ser traducida
- é a única linguaxe que entende directamente o ordenador
- foi a primeira utilizada
- debe ser diferente para cada procesador
- A linguaxe de nivel medio ou ensamblador:
- substituíu a linguaxe máquina para facilitar a labor de programación
- segue estando cercano al hardware, pero en lugar de uns e ceros, se programa usando mnemotécnicos
- traballa cos registros do procesador e enderezos físicos
- é difícil de comprender e programar
- As linguaxes de alto nivel:
- teñen unha forma de programar más intuitiva e sinxela
- son máis cercanos a linguaxe humana que a linguaxe máquina
- As linnguaxes poden clasificarse en:
- compiladas
- interpretadas
- virtuais
- Los traductores son programas cuya finalidad es traducir lenguajes de alto nivel a len guajes de bajo nivel como ensamblador o código máquina.
- Existen dos grandes grupos de tipos de traductores:
- Compiladores: traducen el código fuente a código máquina.
- Intérpretes: traducen el código fuente línea a línea.
- Os estados dun programa son os seguintes:
- Código fonte. Código escrito nunha linguaxe de programación.
- Código obxecto. Resultado de compilar o código fonte.
- Código executable. Resultado de compilar e enlazar o código coas librerías.
- As fases clásicas do desenvovemento dunha aplicación son:
- Fase inicial
- Análise
- Deseño
- Codificación
- Probas
- Explotación
- Mantemento
- Como mínimo deberán xerarse en calquer aplicación os seguintes documentos:
- manual de usuario
- manual técnico
- manual de instalación
- Non hai unha clara definición de roles na programación, pero algúns poden ser
- arquitecto de software
- jefe de proxecto
- analista de sistemas
- analista programador
- programador
Bibliografía
- Entornos de desarrollo. Moreno Pérez, Juan Carlos. Editorial Síntesis. ISBN: 9788491711612
- Pressman, R. S. Ingeniería del Software: Un enfoque práctico. Editorial McGraw-Hill
- Sommerville, I. Ingeniería del software. Editorial Addison Wesley