2. ¿Qué es la Ingeniería de Software?
Nato1968 (organización de tratado del
atlántico norte)
para que algo sea calificado en ingeniería de
software tiene que tener enfoque sistemático,
disciplinado y cuantificable del desarrollo
operación y mantenimiento de software. Al
decir disciplinado quiere decir que el equipo
de desarrollo se mantiene dentro de ciertas
reglas de desarrollo y cuantificable significa
que cada progreso cada tarea se puede medir
, se puede cuantificar algo parecido a un
número no tan preciso, pero se intenta
determinar el avance o el retroceso o falta de
avance en el proyecto.
3. ¿Qué es la Ingeniería de Software?
Parnas1978(Investigador norteamericano)
La construcción de múltiples versiones de un
software llevada a cabo por múltiples personas.
Quiere decir que un programa que hacemos
nosotros solos una vez no sería el objeto del estudio
se requeriría un equipo de gente que no solo
desarrollan una sola versión sino varias versiones, al
hablar de varias versiones no hablamos del
desarrollo si no también del mantenimiento lo.
Si es desarrollados por varias personas el desarrollo
es de cierta envergadura.
4. ¿Qué es la Ingeniería de Software?
Ghezzi 1991
Construcción de software de
una envergadura o
complejidad de tales que
debe ser construido por
equipos de ingenieros.
5. ¿Qué es la Ingeniería de Software?
Jackson 1998
La ingeniería Tradicional es altamente especializada
y se basa en colecciones de deseos estándar o
normalizados ¿Hay especialidades en la informática
o cualquiera hace cualquier cosa? ¿Se basa la
producción de software en diseños estándar?
¿Puede?
Dice que una persona puede desarrollar cualquier
tipo de programa en cualquier contexto y cualquier
circunstancia formarse en una área del desarrollo de
ingeniería de software
6. ¿Qué es lo que hace un Ing. de
software?
No construye el hardware, sino el
comportamiento y las propiedades que lo
harán útil para algo específico.
Desarrollar programas que hace una máquina
de propósito general en una máquina en
propósitos específicos.
7. ¿Qué es lo que hace un Ing. de
software?
el ing de software documenta descripciones
de ese software. Escribir lo que está haciendo
en diferentes documentos sobre el programa
que se está desarrollando, el código fuente es
una de la descripción que debería describir
pero no la única. Debe escribir diferentes
descripciones que nos dan diferentes visiones
sobre el programa que se está desarrollando.
También debe verificar las descripciones,
verificar que esa descripción cumple ciertas
propiedades.
8. Definición de documentación de
software
Los manuales técnicos, de usuario y otras
instrucciones que facilitan el uso y
operación de un producto o servicios de
software constituyen la documentación de
software, la cual podría incluir (donde fuera
necesario) el código fuente, los códigos de
error y sus significados.
9. ¿Cuáles son las descripciones
fundamentales?
Requerimientos. - una descripción en el
lenguaje natural español, inglés, de lo que
el software debería hacer de las
restricciones bajo las cuales debería
ejecutarse.
Especificaciones. – Es básicamente una
descripción formal de lo que el programa
debería hacer está escrita en una notación
matemática en alguna forma lógica que no
es exactamente un código fuente que
tampoco es el lenguaje de los humanos.
10. ¿Cuáles son las descripciones
fundamentales?
Diseño.- Es dividir el programa en
partes de manera tal que se puede
desarrollar cada parte de manera
independiente de las de más y
después poder integrar las partes
para que funcionen como un todo.
11. ¿Cuáles son las descripciones
fundamentales?
la idea es no escribir un programa
monolítico donde escribimos el programa
en una sola función en una sola clase, si
no que se lo divide en partes para poder
desarrollar cada parte independiente a las
demás, para poner un desarrollador a
cada parte, así acortar los plazos de
desarrollo, también el diseño es
importante para poder dominar la
complejidad de todo un programa. Para
que sea fácil de desarrollar fácil de
entender.
12. ¿Que debe saber un ingeniero de
software?
Dominar a fondo las técnicas
de descripción, dominar los
lenguajes formales, pero
debería dominar otros
lenguajes formales que no
son ejecutables pero que nos
ayudan a describir programas
más refinadas.
13. ¿Que debe saber un ingeniero de
software?
Moverse en distintos modelos de
abstracción, debe ser capaz de ver un
software como un conjunto de
requerimientos también debe ser capaz
de ver un software como una
especificación en matemáticas o en
lógica y debe ser capaz de describir
programas en lenguajes formales y
capaz de verificar propiedades de esos
modelos.
14. ¿Que debe saber un ingeniero de
software?
Documentar y validar los
requerimientos del usuario.
Escribir un modelo abstracto semi
formal del diseño es decir
descomponer el programa en
diferentes partes que va a
desarrollar independientes de las
demás que algún momento las va
a integrar a un programa completo
15. ¿Que debe saber un ingeniero de
software?
Debe ser capaz de escribir una
especificación funcional abstracta y formal
del programa es decir una fórmula de
matemática que representa al programa,
aunque esta fórmula de matemáticas no sea
ejecutable y finalmente debe ser capaz de
ver que el programa satisface el diseño y la
especificación funcional.
16. ¿Dónde están las dificultades al
desarrollar software?
La parte difícil de desarrollar de software es
especificarlo, diseñarlo y verificarlo y no la
programación y así la programación
también se les hace difícil por que no han
hecho una especificación y un diseño como
deberían hacerlo, lo difícil para desarrollar
software es saber que hay que programar y
como dividirlo en pequeñas partes para
dominar su complejidad y no en la tarea de
programar esas pequeñas partes una vez
saber lo que hay que programar y lo hacen
bien y rápidamente.
17. ¿Por que es esencialmente diferentes
a las otras ingenierías?
La ingeniería de software es esencialmente a
las otras por que la base teórica de la
ingeniería de software es la lógica formal, la
programación es una forma de lógica por lo
tanto lo que subyace a la ingeniería de
software basada en la lógica o en la
matemática y no una ciencia basada en la
física por que las otras ingenierías están de
una u otra forma basadas en las físicas eso
hace que haya una diferencia importante la
lógica y la matérica son o que se llama ciencia
formales la física, la geología la química son
ciencias fácticas.
18. ¿Por que es esencialmente diferentes
a las otras ingenierías?
Unas de las cuestiones que hace
que emerge de estas diferencias
entre el problema y la solución, en
mayor parte de las ingenierías lo
difícil,dado un problema encontrar la
solución más adecuada en la
ingeniería de software, en cambio lo
difícil es determinar el problema no
tanto determinar la solución.
19. ¿Qué son los métodos formales?
Son lenguajes, técnicas,
herramientas basadas en la
matemática y/o lógica para
describir y verificar sistemas
20. ¿Qué comprenden los métodos
formales ?
Lenguajes de especificaciones formal
Verificación de modelos
Prueba de teoremas de forma automática y de
forma asistida
Testing basados en modelos no el tradicional sino
partiendo de un modelo formal del programa
Cálculo de refinamiento consiste en dada una
fórmula no ejecutable que representa un programa
tratar de refinarla para ir convirtiéndola de madera
controlada en un programa que sea ejecutable
21. ¿Qué son los lenguajes de
especificación formal?
Tiene una sintaxis formal y estandarizada
Una semántica formal descrita en términos
operativos denotaciones o lógicos
Un aparato deductivo que permite demostrar
teoremas a partir de fórmulas en ese lenguaje
Los lenguajes de especificación formal se usan casi
siempre para escribir la especificación funcional de
un programa