Anda di halaman 1dari 11

c

c cccccccccccccccccccccccccccccccccccccc  ccccccccccccccccccccccccccccccccccccccc c

c
c
INSTITUTO TECNOLÓGICO DE TOLUCA

Ingeniería en Sistemas Computacionales

c c
c c c   cc

PRESENTA:


c c c

c c

CATEDRATICO(A):

c c
1)c 
c c
cc c
c  c c  c

1.

Algunas personas creen que la ingeniería de software es un subconjunto de las


ciencias de la computación, algunas otras, tomando en cuenta la relación entre
otras disciplinas científicas y de la ingeniería, creen que el principal objetivo de las
ciencias de la computación sería estudiar las propiedades del cómputo en general,
mientras que el objetivo de la ingeniería de software sería diseñar cómputos
específicos para lograr objetivos prácticos, con lo que se convertirían en
disciplinas diferentes. Este punto de vista es mantenido, entre otros por
DavidParnas (1998). Incluso hay otros que sostienen que no podría existir una
ingeniería de software.

http://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3n

2.

Disciplina o área de la Ingeniería que ofrece métodos y técnicas para desarrollar y


mantener software. Esta ingeniería trata con áreas muy diversas de la informática
y de las ciencias de la computación.

http://es.wikipedia.org/wiki/Ingenier%C3%ADa_del_software

Ensayo:

Se dice que la ingeniería de software es un subconjunto de las ciencias de la


computación, así mismo se afirma que afirma que las ciencias de la computación
es estudiar las propiedades del cómputo en general y la ingeniería del software
seria diseñar cómputos específicos para lograr objetivos prácticos. En resumen, la
ingeniería de software un área de la ingeniería que ofrece métodos y técnicas
diversas para desarrollar y mantener software envolviendo áreas de informática y
ciencias de la computación.
×)c c c  c

1.c

? 


  
 de una computadora digital; comprende el
conjunto de los componentes
 necesarios que hacen posible la realización
de tareas específicas, en contraposición a los componentes físicos, que son
llamados hardware.

http://es.wikipedia.org/wiki/Software

2.

En computación, procedimientos y reglas lógicas escritas en la forma de


programas y aplicaciones, que definen el modo de operación de la computadora.
Tienen carácter virtual (en contraposición con el hardware) y están almacenadas
en los diferentes tipos de memoria de lectura/escritura.

http://fbio.uh.cu/sites/bioinfo/glosario.html

3.

Programas que se pueden ejecutar en un PC.


www.hard-h2o.com/diccionario-informatico_s-z.htmlc

  c

Un software es la unión de componentes lógicos que hacen posible la realización


de tareas específicas en forma de aplicaciones definiendo el modo de operación
de la computadora de manera virtual.

c
)c c c
c  c c  c

1. Ingeniería de Software es el estudio de los principios y metodologías para el


desarrollo y mantenimiento de sistemas software (Zelkovitz, 1978)
2. Ingeniería de software es la aplicación práctica del conocimiento científico
al diseño y construcción de programas de computadora y a la
documentación asociada requerida para desarrollar, operar y mantenerlos.
Se conoce también como Desarrollo de Software o Producción de Software
( Bohem, 1976).
3. Ingeniería de Software trata del establecimiento de los principios y métodos
de la ingeniería a fin de obtener software de modo rentable, que sea fiable y
trabaje en máquinas reales (Bauer, 1972).
4. Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al
desarrollo, operación y mantenimiento del software; es decir, la aplicación
de la ingeniería al software (IEEE, 1993).

Ensayo:

A lo largo de los años se han elaborado distintas definiciones acerca de la


ingeniería de software como la que expone Zelkovitz en 1978, en la cual mencionó
que ³Es el estudio de los principios y metodologías para el desarrollo y
mantenimiento de sistemas de software´, dicha definición coincidió con la Bauer
quien adiciono que ³la ingeniería de software tiene a fin obtenerlo de modo
rentable, fiable y que trabaje en máquinas reales´. Por otro lado, Bohem dice que
³La aplicación práctica del conocimiento científico al diseño y construcción de
programas de computadora y a la documentación asociada requerida para
desarrollar, operar y mantenerlos. Se conoce también como Desarrollo de
Software o Producción de Software´, sin embargo, la IEEE lo ha definido como
una aplicación de enfoque sistemático, disciplinado y cuantificable al desarrollo,
operación y mantenimiento del software; es decir, la aplicación de la ingeniería al
software.
)c 
c c
cc c
c  c c  c

La salida de este ³círculo vicioso´ que se propone es bastante natural: analizar la


situación actual de la ingeniería de software en la luz de sus tendencias históricas.
La primera de ellas, relacionada con los problemas que resuelven los sistemas,
obviamente presente y muy utilizada en nuestra realidad: los sistemas de hoy no
sólo resuelven los problemas del mundo real, sino que están fuertemente influen-
ciando el desarrollo del mundo real.
El enfoque de los ingenieros, desde hace unos años, no se ha movido signifi-
cativamente por el camino del aumento de abstracción establecido históricamente.
Se han hecho ciertos avances en temas puntuales (como arquitecturas de
componentes, patrones de diseño, nuevos lenguajes de programación, etc.), pero
conceptualmente, metodológicamente, la tarea de programación sigue siendo
ejecutada de la misma forma: escribiendo códigos fuentes en forma de los
programas textuales.
Éste es, justamente, el ³atraso´ metodológico que se mencionó. Para disminuir la
brecha entre las tendencias históricas, es necesario ajustar la metodología, en
términos de aumentar la abstracción del enfoque de los ingenieros de software y
acercarlo a la abstracción del problema.
El aumento de la abstracción del proceso de desarrollo del software hace pensar
que la próxima generación de métodos de desarrollo se perfila en un
conceptualmente nuevo conjunto de herramientas, que permitan aumentar en un
mayor grado al actual la abstracción, escondiendo los detalles de más bajo nivel.
Las nuevas herramientas permitirán ³programar´ en nivel de análisis, generando
códigos en un lenguaje de programación tradicional de forma automática, tal como
hoy los compiladores generan el lenguaje máquina a partir del código fuente.
Nuevos ³lenguajes de programación´ naturalmente serían visuales y se parecerían
a las especificaciones de software en uno de los lenguajes de modelamiento, De
hecho, hoy en día existe una tendencia que ya está formalizando este paso
evolutivo en la ingeniería de software. Se llama MDA (ModelDrivenArchitecture) y
es establecida por el OMG (Object Management Group), la institución dueña de
UML, el lenguaje estándar de modelamiento de software.
Finalmente, ¿cómo estas mejoras influyen en el ³círculo vicioso´? Por un lado,
nuevas herramientas obligarán a los ingenieros a prestar mayor atención a los
modelos de más alto nivel, que al código fuente, y no ³saltar´ etapas tempranas
del proyecto. Por otro lado, los modelos generados serían perfectamente
verificables y no se tendría que esperar la codificación y las pruebas para
identificar errores funcionales.

¦¦¦    ¦   


2.

Es muy difícil predecir el futuro de una disciplina tan afectada por la tecnología,
que evoluciona muy rápidamente. Sin embargo, para pensar en
al futuro de la ingeniería del software, podemos analizar cuáles son las "fuerzas
disruptivas" que están afectando la forma en la que hacemos sistemas. Algunos
ejemplos son la integración digital, la creciente importancia de algunos
atributos de calidad, la disponibilidad prácticamente
ilimitada de capacidad de almacenamiento y procesamiento y la necesidad de dar
semántica al contenido disponible. Estas fuerzas tienen un impacto en cómo
hacemos sistemas, tanto desde el punto de vista de la gestión como de aspectos
técnicos. En esta charla se discuten algunas deesas "fuerzas disruptivas" y
algunas de las aproximaciones promisorias para tenerlas en cuenta. De estas
aproximaciones, algunas son novedosas, y otras son una evolución de prácticas
que se están implementando hace varios años.

http://www.dc.uba.ar/events/eci/2008/conferencias/IngSoftHexacta

Ensayo

Enterprise Analyst menciona que después de una amplia investigación y


abrumador resultado que la ingeniería del software como todo ha ido
evolucionando a través de los años, pero es cierto que desde hace algunos se ha
estancado debido a la manera de programar, la cual se ha hecho casi de la misma
forma desde entonces, esto nos lleva a un significante atraso en la manera de
aplicar la ingeniería de software. Para disminuir la brecha entre las tendencias
históricas, es necesario ajustar la metodología, en términos de aumentar la
abstracción del enfoque de los ingenieros de software y acercarlo a la abstracción
del problema. Las nuevas herramientas permitirán ³programar´ en nivel de
análisis, generando códigos en un lenguaje de programación tradicional de forma
automática. Nuevos ³lenguajes de programación´ naturalmente serían visuales y
se parecerían a las especificaciones de software en uno de los lenguajes de
modelamiento, De hecho, hoy en día existe una tendencia que ya está
formalizando este paso evolutivo en la ingeniería de software. Se llama MDA
(ModelDrivenArchitecture) y es establecida por el OMG (Object Management
Group), la institución dueña de UML, el lenguaje estándar de modelamiento de
software. De la misma forma la Universidad de Buenos Aires concuerda en que
³los requerimientos que ahora tienen los sistemas son mucho mayores a los que
se tenía hace unos años, y tiene un impacto en cómo hacemos sistemas,
tanto desde el punto de vista de la gestión como de aspectos técnicos.´
)c c!c c!
 c  c
c  c c  c

1.c

Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de
la computación, tales como construcción de compiladores, sistemas operativos, o
desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del
desarrollo de cualquier tipo de sistemas de información y aplicables a infinidad de
áreas: negocios, investigación científica, medicina, producción, logística, banca,
control de tráfico, meteorología, derecho, Internet, Intranet, etc.

http://es.wikipedia.org/wiki/Ingenier%C3%ADa_del_software

Ingeniería de software, IanSommerville.

Ensayo:

Finalmente se puede decir que la Ingeniería de Software abarca todos los


aspectos del mismo, ya que no solo comprende procesos técnicos, sino también
actividades como la gestión de proyectos y desarrollo de herramientas, como lo
menciona IanSommerville. De la misma forma, en sitios web, se menciona que
puede ser aplicado en cualquier tipo de sistemas de información.
ü)c c c" 
c

Es una etapa específica de cualquier proyecto o trabajo que parte de una base
teórica y surge la selección de técnicas concretas de cómo se realizara una
investigación o proyecto. Método y metodología tienen significados que van de la
mano uno con otro, como se describe a continuación: ³El término método se utiliza
para el procedimiento que se emplea para alcanzar los objetivos de un proyecto y
lametodología es el estudio del método´(5). Así, primero la metodología estudia los
métodos para luego determinar cuál es el más adecuado a aplicar o sistematizar
en una investigación o trabajo.c

#)c c" 


 c $  c
c
c
A lo largo de la historia en la ingeniería de software han existido muchas
metodologías para el desarrollo del mismo, estas han ido evolucionando a otras
por las necesidades del avance en todas las tecnologías y en general, la forma de
vivir de los humanos, a continuación se presentan las metodologías más
representantes de la ingeniería de software:
c

1970¶s:

â Programación estructurada desde 1969.


â Programación estructurada Jackson desde 1975.

1980¶s:

â Structured Systems Analysis and Design Methodology (SSADM) desde


1980.
â Structured Analysis and Design Technique (SADT) desde 1980.
â Ingeniería de la información (IE/IEM) desde 1981.

1990¶s:

â Rapid application development (RAD) desde 1991.


â Programación orientada a objetos (OOP) a lo largo de la década de los
90's.
â Virtual finite state machine (VFSM) desde 1990¶s
â Dynamic Systems Development Method desarrollado en UK desde 1995.
â Scrum (desarrollo), en la última parte de los 90's
â Rational Unified Process (RUP) desde 1999.

2000¶s

â Extreme Programming(XP) desde 1999.


â Enterprise UnifiedProcess (EUP) extensiones RUP desde 2002.
â Constructionist design methodology (CDM) desde 2004 por Kristinn R.
Thórisson.
â Agile Unified Process (AUP) desde 2005 por Scott Ambler.
c
c
%)c c&c' c  c!
c " 
c
c
c
Hay queseguirciertospasosparapoderelegir o crearunametodologíacorrectamente,
no siemprehayqueseguirlos al pie de la letraperositomarlos en
cuentaparatenerunametodologíaefectivaquerealmentenosayude a llegar al objetivo
principal. Dichospasos son:

1. La metodología debe ajustarse a los objetivos.


2. La metodología debe cubrir el ciclo entero de desarrollo de
software.
3. La metodología debe integrar las distintas fases del ciclo de
desarrollo.
4. La metodología debe incluir la realización de validaciones.
5. La metodología debe soportar la determinación de la exactitud del
sistema a través del ciclo de desarrollo.
6. La metodología debe ser la base de una comunicación efectiva.
7. La metodología debe funcionar en un entorno dinámico orientado.
al usuario.
8. La metodología debe especificar claramente los responsables de
resultados.
9. La metodología debe poder emplearse en un entorno amplio de
proyectos software.
10. La metodología se debe de poder enseñar.
11. La metodología debe estar soportada por herramientas
CASE.
12. La metodología debe soportar la eventual evolución del
sistema.
13. La metodología debe contener actividades conducentes a
mejorar el proceso de desarrollo de software (6).

Estos pasos nos ayudaran a tener un mejor control de lo que debemos


de buscar en la metodología a escoger o en sud efecto, si la queremos
crear.

u c
   
    

Los ingenieros de software tienen en sus manos el poder de generar beneficios


así como daños debido a las funciones en el desarrollo de sistemas de software ya
que contribuyen, mediante la participación directa o enseñanza, al análisis,
especificación, y demás etapas de tales sistemas. Por esto, y para asegurar que
los esfuerzos que se hagan sean para bien, los ingenieros de software deben
seguir ciertas reglas éticas adhiriéndose al ³código de ética y profesional de la
ingeniería de software´. Esto no significa que se usen partes del código
aisladamente para justificar errores, los principios a seguir son 8 y de forma
general nos dicen lo siguiente:

1. Sociedad. Actuarán en forma congruente con el interés social.


2. Cliente. y empresario. Actuarán de manera que se concilien los mejores
intereses de sus clientes y empresarios, congruentemente con el interés
social.
3. Producto. Asegurarán que sus productos y modificaciones correspondientes
cumplen los estándares profesionales más altos posibles.
4. Juicio. Mantendrán integridad e independencia en su juicio profesional.
5. Administración. Promoverán y se suscribirán a un enfoque ético en la
administración del desarrollo y mantenimiento de software.
6. Profesión. Incrementarán la integridad y reputación de la profesión
congruentemente con el interés social.
7. Colegas. Apoyaran y serán justos con sus colegas.
8. Personal. Participarán toda su vida en el aprendizaje relacionado con la
práctica de su profesión y promoverán un enfoque ético en la práctica de la
profesión. (3)
c
c
c

Anda mungkin juga menyukai