ingeneria de software
domingo, 16 de abril de 2017
viernes, 17 de junio de 2016
Embedded Software
El estado de la práctica se centra
Embedded Software Engineering:
el estado de la práctica Bas Graaf, Marco Lormans, y Hans Toetenel, Delft University of Technology
productos hoy contienen software (por ejemplo, los teléfonos móviles, reproductores de DVD,coches, aviones, y medical systems).Debido a los avances en tecnología de información y comunicación M, en el futuro incluso más productos probablemente contienen software. El mercado de estos productos "mejoradas " se prevé que crezca exponencialmente en los próximos 10 años.1 Por otra parte, estos sistemas integrados, su complejidad es cada vez mayor, y la cantidad y variedad de software en estos productos están creciendo. Esto crea un gran chal- Lamentablemente, muchos programas disponibles lenge para desarrollo de software. En tecnologías de desarrollo no toman en ca- de los años venideros, la clave del éxito será contar las necesidades específicas de sistemas integrados de la habilidad para desarrollar con éxito el desarrollo de alta calidad. Este desarrollo es dere- sistemas integrados y software en el tiempo. Como diferente del de tally non embedded sys- la complejidad, número y diversidad de ap-tems.Tecnologías para el desarrollo de aplicaciones aumenta, más y más empresas sistemas integrados deberían abordar determinados están teniendo problemas para lograr suficiente producto duros obstáculos tales como falta de tiempo, calidad y entrega puntual. Para optimizar la memoria limitada y uso de energía predefinido de la puntualidad, la productividad y la calidad de incrustar- la tecnología de la plataforma de hardware, desarrollo de software y hardware, las compañías deben costos. Tecnologías de desarrollo ya existentes no se aplican tecnologías de ingeniería de software que abordar sus efectos específicos sobre, o necesarios son apropiadas para situaciones específicas. personalización para el dominio incrustados. Tampoco estas tecnologías proporcionan a los desarrolladores cualquier en- dication cómo aplicarlos a determinados ar-eas en este dominio (por ejemplo, automóviles un inventario de ocho empresas Europeas revela qué herramientas de los desarrolladores de sistemas, telecomunicaciones, o consumidor de sistemas integrados de software y no se están utilizando, y por qué. La necesidad de la electrónica. Por lo tanto, adaptar un technol- existe para más específico, aunque flexible, herramientas. guía para un uso específico es difícil.
Code of Ethics and Professional Practice
Aquí nos habla de la ética y los compromiso que debe asumir un ingeniero de software.
las aspiraciones a ing. de software nos modifican para pensar y actuar como tales profesionales
a quien nos enumera los principios a los cuales debe sujetarse un ing. de software
1 sociedad
2 cliente
3 producto
4 juicio
5 administración
6 profesion
7 colegas
8 personas
esto principios tienen un papel de suma importancia en los ing. de software. estos identifican la relacion éticamente responsable en la que los individuos, grupos y organizaciones
participen en este entorno.
Bala de plata
red brooks (bala de plata)
nos habla sobre la complejidad de construir un software y algunas de sus características.
dicho autor nos enumeras algunas característica y complejidades para la creación de un software.
1 complejidad: son los problemas que suceden en la ciencia de la tecnológica .
2 casos típicos: son los problemas que hay entre los creadores del software en que no se ponen de acuerdo al tomar una decisió
estos problema causan que el sistema se tome mas tiempo en ser creado
3 conformidad: es decir que debe ser el software el que se adapte al en torno que va hacer usado y no el entorno al software
4 mutabilidad: es decir que el software va a estar sujeto a cambios ya que dicha tecnologia siempre esta variando
5 Invisibilidad. El software es invisible e individualizable en el espacio. Poder representar al software como una abstracción geométrica sería fabuloso. Pero en los hechos no es uno sino varios los diagramas que deben ser usados para representar, flujos de control, de datos, secuencias temporales, etc.
6 Lenguajes de alto nivel. Estas abstracciones conceptuales (operaciones, tipos de datos, secuencias, comunicaciones) tratan de aproximarse a la forma intelectual en que el usuario resuelve problemas. Con eso esconden la complejidad accidental del programa compilado, consistente en bits, registros, condiciones, bifurcaciones, canales, discos, interrupciones, etc
7 Tiempo compartido. La posibilidad de compartir el tiempo de ejecución entre los procesos combate el accidente de los programas batch que se ejecutan en forma lenta y mejora la sensación de tiempo de respuesta general
8 Entornos de programación unificados. entornos de programación como el de Unix, que con bibliotecas integradas, formatos de archivos unificados, tuberías y filtros combaten el accidente de tener aplicaciones que resuelven en forma individual las problemáticas comunes (reinventando superflua y peligrosamente la rueda).
9 Programación Orientada a Objetos. Si bien manifiesta tener más esperanzas en este paradigma que en ninguna otra cosa de hoy en día , admite que con la abstracción y la jerarquización sólo ataca el accidente de tener enormes expresiones sintácticas.
10 Sistemas Expertos. estos sistemas basados en un motor de inferencias y una base de reglas y aserciones, para sugerir interfaces, estrategias detesting, bugs típicos y ayudas de optimización.
No Silver
No Silver Bullet -Esencia y accidente en Software Engineering
Frederick P. Brooks, Jr. de la
Universidad de Carolina del Norte en Chapel Hill,
Frederick P. Brooks, Jr. de la
Universidad de Carolina del Norte en Chapel Hill,
no hay un único desarrollo en tecnología o técnica de gestión, lo que de por sí promete incluso una mejora en el orden de magnitud dentro de una década en la productividad, la fiabilidad, la simplicidad.
toda construcción de software implica tareas esenciales, la concepción de las complejas estructuras conceptuales que componen la entidad de software abstracto, y tareas accidentales, la representación de estas entidades abstractas en lenguajes de programación y la asignación de estas lenguas en la máquina, dentro de las limitaciones de espacio y velocidad.
La mayoría de los grandes logros pasados en software de productividad han venido de eliminar las barreras artificiales que han realizado las tareas accidentales excesivamente duros, tales como severas limitaciones de hardware, los lenguajes de programación torpe, falta de tiempo de máquina. ¿cuánto de lo que los ingenieros de software que ahora no se dedica todavía a la accidental, en contraposición a la esencial?menos es más que 9/10 de todos los esfuerzos, la reducción de todas las actividades accidentales a tiempo cero no dará un orden de magnitud de mejora.
Por lo tanto, parece que ha llegado el momento de abordar los elementos esenciales de la tarea del programa, aquellos interesados en construir estructuras conceptuales abstractas de gran complejidad. Sugiero:
• Explotar el mercado masivo para evitar la construcción de lo que se puede comprar.
• Uso de prototipado rápido como parte de una iteracción planificada en el establecimiento de
requisitos de software.
• software de crecer orgánicamente, añadiendo más y más funciones a medida que se
ejecutan los sistemas, usado y probado.
• Identificación y desarrollo de los grandes diseñadores conceptuales de las nuevas generaciones.
Introducción
De todos los monstruos que llenan las pesadillas de nuestro folklore, ninguno aterran más de hombres lobo, porque se transforman de forma inesperada desde la conocida en horrores.Para estos, buscamos balas de plata que puede mágicamente los entierre.
Reproducido de: Frederick P. Brooks, The Mythical Man-Month, edición aniversario con 4 nuevos capítulos, Addison-Wesley (1995), reimpreso de las actuaciones de la IFIP Décima Conferencia informática mundial, H.-J. Kugler, ed., Elsevier Science B.V., Amsterdam, NL (1986) pp. 1069-76.
F. Brooks: No Silver Bullet-Esencia y accidente en ingeniería del software (1986) 2
El conocido proyecto de software tiene algo de este personaje (al menos según lo visto por el non-technical manager), generalmente inocentes y sencillas, pero capaz de convertirse en un monstruo de las planificaciones perdidas, fundido, presupuestos y productos defectuosos. Así Oímos gritos desesperados por una bala de plata, algo para hacer que los costos de software caer tan rápidamente como los costes de hardware del equipo.
Pero, al mirar el horizonte de una década, por lo tanto, no vemos ninguna bala de plata. No hay un único desarrollo en tecnología o técnica de gestión, lo que de por sí promete incluso un orden de magnitud de mejora en la productividad, la fiabilidad, la simplicidad. En este capítulo trataremos de ver por qué, sino de examinar tanto la naturaleza del problema de software y las propiedades de las balas propuestos.
El escepticismo no es pesimismo, sin embargo. Aunque no vemos avances sorprendentes y, de hecho, creemos que este es incompatible con la naturaleza del software, muchas innovaciones alentadoras están en curso. Un disciplinado y coherente para desarrollar, difundir y explotar ellos deben ciertamente producen una mejora en el orden de magnitud. No hay ningún camino real, pero hay un camino.
El primer paso hacia el manejo de la enfermedad fue la sustitución del demonio teorías y humores teorías por el germen de la teoría. Ese mismo paso, el comienzo de la esperanza en sí mismo todas las esperanzas frustradas de soluciones mágicas. Los trabajadores dijeron que el progreso sería gradual, con gran esfuerzo, y que una persistente, incesante atención tendría que ser pagado a una disciplina de limpieza. Es lo mismo con la ingeniería del software hoy en día.
¿Tiene que ser duro? - Dificultades esenciales
No sólo no hay balas de plata ahora a la vista, la propia naturaleza del software hace improbable que habrá algún tipo de invenciones que no hará por software de productividad,fiabilidad y simplicidad lo electrónica, transistores, y la integración a gran escala hizo por el hardware informático. No podemos esperar que nunca ver doble gana cada dos años.
En primer lugar, debemos observar que la anomalía no es que el software es tan lento el progreso sino que el hardware del equipo progreso es tan rápido. Ninguna otra tecnología desde la civilización empezó ha visto seis órdenes de magnitud a la relación precio- rendimiento ganancia en 30 años. En ninguna otra tecnología puede uno elegir tomar la ganancia en rendimiento mejorado o a costes reducidos. Estas ganancias fluyen desde la transformación de la fabricación de equipo de una industria de ensamblaje en un proceso industrial.
Segundo, para ver qué tipo de avances podemos esperar en tecnología de software,examinemos sus dificultades. Siguiendo a Aristóteles, yo dividirlos en esencia -las dificultades inherentes a la naturaleza del software-y- accidentes esas dificultades que hoy asistir a su producción, pero que no son inherentes.
Los accidentes que describo en la siguiente sección. Primero consideremos la esencia.
La esencia de una entidad de software es una construcción de conceptos interrelacionados: conjuntos de datos, relaciones entre elementos de datos, algoritmos e invocaciones de funciones. Esta esencia es abstracto, en que la construcción conceptual es el mismo bajo diferentes representaciones. Sin embargo, es altamente precisos y detallados.
Creo que la parte difícil de construir software es la especificación, el diseño y la comprobación de esta construcción conceptual, no el trabajo de representarlo y de probar la fidelidad de la representación. Todavía podemos hacer errores de sintaxis, para estar seguro; pero son fuzz frente a los errores conceptuales en la mayoría de los sistemas.
F. Brooks: No Silver Bullet-Esencia y accidente en ingeniería del software (1986) 3
Si esto es cierto, la construcción de software siempre será difícil. No es inherentemente
ninguna bala de plata.
Consideremos las propiedades inherentes de esta esencia irreductible de modernos sistemas
de software: la complejidad, la conformidad, la mutabilidad y la invisibilidad.
Pelicula Para «MARICAS»
De todas las fuerzas acusadas de homogeneizar la mente moderna, pocas han sido tan continua y severamente criticadas como los grandes medios de difusión. Los intelectuales de los Estados Unidos y de Europa han echado pestes, particularmente contra la Televisión, por unificar el habla, las costumbres y los gustos. La han descrito como un enorme rodillo que aplana nuestras diferencias regionales, que aplasta los últimos vestigios de variedad cultural. Una floreciente industria académica ha formulado acusaciones parecidas contra las revistas y las películas.
Aunque algunas de estas acusaciones son fundadas, olvidan contrapartidas muy importantes que originan diversidad y no standardización. La Televisión, con sus elevados costos de producción y su limitado número de canales, sigue dependiendo necesariamente de públicos muy numerosos. Pero en casi todos los otros medios de comunicación podemos advertir una decreciente confianza en los públicos masivos. El proceso de «segmentación del mercado» funciona en todas partes.
Los aficionados al cine de la pasada generación casi no veían más que películas hechas en Hollywood, encaminadas a captar al que llamaban público de masas.Actualmente, en las ciudades de todo el país, estas películas «principales» son completadas con producciones extranjeras, de arte, de sexo y de toda una serie de películas especializadas y deliberadamente orientadas a la captación de
submercados, como los aficionados al «surf», los motoristas, etcétera. La producción es tan especializada que se pueden encontrar, al menos en Nueva York,locales frecuentados casi exclusivamente por homosexuales que acuden a ver cabriolas de «maricas» filmadas especialmente para ellos.
Computadoras Y Aulas
Pero, ¿importa todo esto? Algunos sostienen que, mientras avancemos hacia una homogeneidad cultural o espiritual, la diversidad del medio material es insignificante. «Lo que cuenta es lo de dentro», dicen, parafraseando un anuncio de una conocida marca de cigarrillos.
Esta opinión subestima gravemente la importancia de los bienes materiales como expresión simbólica de las diferencias de la personalidad humana, y niega tontamente la relación entre los medios exterior e interior. Los que temen la standardización de los seres humanos deberían acoger calurosamente la
desestandarización de los artículos. Pues al aumentar la diversidad de artículos al alcance del hombre incrementamos las probabilidades matemáticas de diferencias en el actual sistema de vida.
Más importante es, empero, la premisa de que avanzamos hacia una homogeneidad cultural, pues si observamos esto atentamente nos convenceremos de lo contrario.Decir esto puede ser impopular, pero lo cierto es que avanzamos rápidamente hacia la fragmentación y la diversidad no sólo de la producción material, sino también del arte, la educación y la cultura de las masas.
Una prueba sumamente reveladora de la diversidad cultural en cualquier sociedad instruida la tenemos en el número de libros diferentes que se publican por millón de habitantes. "Cuanto más similares sean los gustos del público, menos títulos se publicarán por millón de habitantes; cuanto más diferentes sean aquellos gustos,mayor será el número de títulos. El aumento o disminución de esta cifra, en un período de tiempo dado, constituye una clave importante para determinar la dirección del cambio cultural en la sociedad. Este razonamiento se advierte en un estudio publicado por la UNESCO sebre las tendencias mundiales en la producción de libros. Dirigido por Robert Escarpit, director del «Centro de Sociología de la Literatura» de la Universidad de Burdeos, demostró elocuentemente una poderosa desviación internacional hacia la desestandarización cultural.
Suscribirse a:
Entradas (Atom)