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

distribuye quince modelos diferentes

de autos y tiene diez vendedores.


Se requiere de un programa que pueda:
 Generar un informe o Reporte mensual de las ventas por vendedor y
modelo como se muestra en el Reporte 1.
 Generar otro informe o reporte como el número de automóviles vendidos
por cada vendedor y el número total de cada modelo vendido por todos
los vendedores como se muestra en el Reporte 2.
 Asimismo, se debe entregar el premio al mejor vendedor, para esto se
necesita saber cuál es el vendedor que más autos ha vendido.
Los datos se proporcionan por día (30 días), todos los vendedores informan la
cantidad de autos que vendieron de cada modelo ese día, el final de datos de
las ventas del día se conoce por un 0. Los vendedores no necesariamente
informan sus ventas en orden, ni por orden de vendedor ni de modelo.
xiste una tendencia a identificar el proceso de creación de un programa informático
con la programación, que es cierta cuando se trata de programas pequeños para uso
personal, y que dista de la realidad cuando se trata de grandes proyectos.

El proceso de creación de software, desde el punto de vista de la ingeniería,


incluye mínimamente los siguientes pasos:

Reconocer la necesidad de un programa para solucionar un problema o identificar la


posibilidad de automatización de una tarea.
Recolectar los requisitos del programa. Debe quedar claro qué es lo que debe hacer
el programa y para qué se necesita.
Realizar el análisis de los requisitos del programa. Debe quedar claro qué tareas
debe realizar el programa. Las pruebas que comprueben la validez del programa se
pueden especificar en esta fase.
Diseñar la arquitectura del programa. Se debe descomponer el programa en partes de
complejidad abordable.
Implementar el programa. Consiste en realizar un diseño detallado, especificando
completamente todo el funcionamiento del programa, tras lo cual la codificación
(programación propiamente dicha) debería resultar inmediata.
Probar el programa. Comprobar que pasan pruebas que se han definido en el análisis
de requisitos.
Implantar (instalar) el programa. Consiste en poner el programa en funcionamiento
junto con los componentes que sean necesarios (bases de datos, redes de
comunicaciones, etc.).
La ingeniería del software se centra en los pasos de planificación y diseño del
programa, mientras que antiguamente (programación artesanal) la realización de un
programa consistía casi únicamente en escribir el código, bajo solo el conocimiento
de los requisitos y con una modesta fase de análisis y diseño.

Referencias históricas
El trabajo de Ada Lovelace, hija de Anabella Milbanke Byron y Lord Byron, que
realizó para la máquina de Babbage le hizo ganarse el título de primera
programadora de computadoras del mundo, aunque Babbage nunca completó la
construcción de la máquina. El nombre del lenguaje de programación Ada fue escogido
como homenaje a esta mujer programadora.

Objetivos de la programación
La programación debe perseguir la obtención de programas de calidad. Para ello se
establece una serie de factores que determinan la calidad de un programa. Algunos
de los factores de calidad más importantes son los siguientes:

Correctitud. Un programa es correcto si hace lo que debe hacer tal y como se


estableció en las fases previas a su desarrollo. Para determinar si un programa
hace lo que debe, es muy importante especificar claramente que debe hacer el
programa antes de su desarrollo y, una vez acabado, compararlo con lo que realmente
hace. Al verificar este comportamiento está cumpliendo dicho objetivo.
Claridad. Es muy importante que el programa sea lo más claro y legible posible,
para facilitar tanto su desarrollo como su posterior mantenimiento. Al elaborar un
programa se debe intentar que su estructura sea sencilla y coherente, así como
cuidar el estilo de programación. De esta forma se ve facilitado el trabajo del
programador, tanto en la fase de creación como en las fases posteriores de
corrección de errores, ampliaciones, modificaciones, etc. Fases que pueden ser
realizadas incluso por otro programador, con lo cual la claridad es aún más
necesaria para que otros puedan continuar el trabajo fácilmente. Algunos
programadores llegan incluso a utilizar Arte ASCII para delimitar secciones de
código; una práctica común es realizar aclaraciones en el mismo código fuente
utilizando líneas de comentarios. Contrariamente, algunos programadores realizan
acciones que tienden introducir confusión para impedir un análisis cómodo a otros
programadores, recurren al uso de código ofuscado,
Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue
creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible
los recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se
suele hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido
creado y a la cantidad de memoria que necesita, pero hay otros recursos que también
pueden ser de consideración para mejorar la eficiencia de un programa, dependiendo
de su naturaleza (espacio en disco que utiliza, tráfico en la red que genera,
etc.).
Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse
en una plataforma, ya sea hardware o software, diferente a aquella en la que se
desarrolló. La portabilidad es una característica muy deseable para un programa, ya
que permite, por ejemplo, a un programa que se ha elaborado para el sistema
GNU/Linux que también pueda ejecutarse en la familia de sistemas operativos
Windows. Consecuentemente el programa puede llegar a más usuarios.
Ciclo de vida del software
Artículo principal: Proceso para el desarrollo de software
El término ciclo de vida del software describe el desarrollo de software, desde la
fase inicial hasta la fase final, incluyendo su estado funcional. El propósito es
definir las distintas fases intermedias que se requieren para validar el desarrollo
de la aplicación, es decir, para garantizar que el software cumpla los requisitos
para la aplicación y verificación de los procedimientos de desarrollo: se asegura
que los métodos utilizados son apropiados. Estos métodos se originan en el hecho de
que es muy costoso corregir los errores que se detectan tarde dentro de la fase de
implementación (programación propiamente dicha), o peor aún, durante la fase
funcional. En el modelo de ciclo de vida se intenta que los errores se detecten lo
antes posible y por lo tanto, permite a los desarrolladores concentrarse en la
calidad del software, en los plazos de implementación y en los costos asociados. El
ciclo de vida básico de un software consta de, al menos, los siguientes
procedimientos:

Definición de objetivos: definir el resultado del proyecto y su papel en la


estrategia global.
Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los
requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
Diseño general: requisitos generales de la arquitectura de la aplicación.
Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
Programación (programación e implementación): es la implementación en un lenguaje
de programación para crear las funciones definidas durante la etapa de diseño.
Prueba de unidad: prueba individual de cada subconjunto de la aplicación para
garantizar que se implementaron de acuerdo con las especificaciones.
Integración: para garantizar que los diferentes módulos y subprogramas se integren
con la aplicación. Este es el propósito de la prueba de integración, que debe estar
cuidadosamente documentada.
Prueba beta (o validación), para garantizar que el software cumple con todas las
especificaciones originales.
Documentación: se documenta con toda la información necesaria, sea funcional final
para los usuarios del software (manual del usuario), y de desarrollo para futuras
adaptaciones, ampliaciones y/o correcciones.
Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo)
y las actualizaciones del software (mantenimiento continuo).
El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de
una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el
cliente y el equipo de desarrolladores. En el caso del software libre se tiene un
ciclo de vida mucho más dinámico, puesto que muchos programadores trabajan en
simultáneo desarrollando sus eliminaciones

Véase también
Ver el portal sobre Programación Portal:Programación. Contenido relacionado con
Programación.

También podría gustarte