You are on page 1of 6

Universidad Nacional De Cajamarca

Facultad de ingeniería

Escuela Académico Profesional De


Ingeniería De Sistemas

INGENIERIA DE SOFTWARE I

Resumen Y
Preguntas
Capitulo 1
Ingeniería de software
La ingeniería de software es la que se encarga de todos los procesos relacionados
a la creación de software, desde los métodos, teorías y herramientas que se utilizaran para
el software que se producirá, sino que también se centrara en aspectos de seguridad
confiabilidad, eficiencia, aceptabilidad y mantenimiento del software luego de su
funcionamiento.
Importancia de la Ingeniería de Software
La ingeniería de software es importante, ya que abarca todos los procesos de
creación del software, los softwares creados con dicha ingeniería son más eficientes y
confiables, también es importante ya que se puede modificar en el tiempo, es decir es el
software tiene adaptabilidad por ende reduce costos a largo plazo al hacer modificaciones.
Diversidad de la Ingeniería de Software
Al existir diferentes tipos de empresas, existirán diferentes sistemas de software
como: aplicaciones independientes, sistemas de control embebido, sistemas de
entretenimiento, sistemas de sistemas, etc., los cuales requerirán procesos y técnicas
diferentes de desarrollo dependiente de las necesidades del cliente. Se puede decir que
diferentes tipos de sistemas necesitan distintos procesos de desarrollo.
Ética en la Ingeniería de Software
La ingeniería de software se debe realizar de forma ética, debido a que se realiza
en un marco social y legal, se debe desarrollar de tal forma que no afecte al público,
cliente, empleador y colegas, así como también crear productos que satisfagan al cliente.
Los Ingenieros de Software, a menudo al trabajar en distintas instituciones
enfrentan situaciones en donde tendrán la oportunidad de hacer lo correcto o en caso
contrario causar daño, para ello tendrán que comprometerse a hacer que su profesión sea
benéfica y respetada, siguiendo las normas éticas del código de ética y práctica
profesional.
Tipos de Sistemas
Sistema Embebido: Son sistemas donde el software controla un dispositivo de hardware
y está embebido(incrustado) en dicho dispositivo. Estos sistemas tienen conflictos que
incluyen por lo general tamaño físico, capacidad de reacción, administración y de la
energía. Ej. Un sistema de software para controlar un dispositivo médico.
Sistema de Información: Son sistemas cuyo principal propósito es gestionar y dar acceso
a una base de datos de información. En sistemas de información existen conflictos que
incluyen seguridad, usabilidad, privacidad y mantenimiento de la integridad de los datos.
Ej. Un sistema de registros médicos
Sistema de Adquisición de Datos basado en Sensores: Estos Sistemas tienen como
principal objetivo el recolectar datos de un conjunto de sensores y procesar esos datos de
alguna forma. Los requerimientos clave de tales sistemas son fiabilidad, sin importar las
condiciones de los ambientes, y la capacidad de mantenimiento. Ej. Una estación
meteorológica a campo abierto.
Preguntas
1. Explique por qué el software profesional no sólo son programas que se
desarrollan para un cliente.

Eso se debe a que un software profesional además de comprender el desarrollo y


diseño del software, también brinda la documentación, permitiendo que otros
profesionales puedan hacer mejoras en el programa.

2. ¿Cuál es la principal diferencia entre desarrollo de productos de software


genéricos y desarrollo de software personalizado?

La diferencia está en que los desarrollos del software genérico se ofrecen o venden
en un mercado abierto para cualquier tipo de cliente que lo desee, en cambio el
desarrollo de software personalizado está destinado a clientes en particular el cual
presenta sus necesidades.

2.1. ¿Qué significa esto en la práctica para los usuarios de productos de


software genérico?

Significa para ellos que quizá el software no cumpla con todas las necesidades
que se desea satisfacer o en caso contrario tenga más herramientas de las
necesarias y necesitarían adaptarse al programa y no el programa al usuario.

3. ¿Cuáles son los cuatro atributos importantes que debe tener todo software
profesional? Sugiera otros cuatro atributos que en ocasiones sean
significativos.

Mantenimiento
Confiabilidad y seguridad
Eficiencia
Aceptabilidad
Adaptable
Atractivo
Tolerante a fallos
Facilidad de aprendizaje

4. Además de los retos de la heterogeneidad, cambio empresarial y social, y


confianza y seguridad, identifique otros problemas y retos que sea probable
que enfrente la ingeniería de software en el siglo XXI.

Un problema sería que debido al gran avance tecnológico muchos programas


quedan obsoletos.

La durabilidad de los programas en cuanto a compatibilidad con los sistemas


operativos.
Un reto seria la conservación, debido al gran avance tecnológico algunos
programas que funcionaban en algunos equipos ya no funcionan por
actualizaciones o mejoras, haciendo inservibles dichos equipos.

5. Con base en su conocimiento de algunos tipos de aplicación estudiados en la


sección 1.1.2, explique, con ejemplos, por qué diferentes tipos de aplicación
requieren técnicas especializadas de ingeniería de software, para apoyar su
diseño y desarrollo.

En el caso de un software para el control de la cabina de una nave especial es


necesario tener claro todos los riesgos, posibles fallas, como reparar el software
en caso de un fallo, etc.

En el caso de querer manejar el dinero de un banco, en cuanto a depósitos retiros,


etc., un software que haga un mal redondeo y produzca pérdidas hacia el dueño
podría conllevar en una demanda.

Como se ve en los ejemplos, la ingeniería de software debe estar presente siempre


que se desee desarrollar software, pero más aún en casos en donde la exactitud
tenga que ser una característica del mismo, pero se aplicaran para ello diferentes
técnicas debido a en cada caso tiene diferentes requerimientos.

6. Explique por qué existen ideas fundamentales de la ingeniería de software


que se aplican a todos los tipos de sistemas de software.

Las nociones fundamentales de la ingeniería de software son universalmente


aplicables a todos los tipos de desarrollo de sistema, pero hay que destacar que
estos fundamentos no cubren la implementación ni la programación.

7. Explique cómo el uso universal de la Web cambió los sistemas de software.

Debido a que los sistemas basados en la Web podían desarrollarse donde se tuviera
acceso a dichos sistemas usando un navegador Web, en lugar de una interfaz de
usuario de propósito específico. Esta situación condujo al desarrollo de una gran
variedad de nuevos productos de sistemas que entregaban servicios innovadores,
a los cuales se ingresaba desde la Web. En lugar de elaborar software e
implementarlo en las PC de los usuarios, el software se implementaba en un
servidor Web. Este avance hizo mucho más barato cambiar y actualizar el
software, pues no había necesidad de instalar el software en cada PC.

8. Analice el hecho de si los ingenieros profesionales deben ser certificados en


la misma forma que los médicos o abogados.

Si, pues todo profesional debe mantener estándares normales de honestidad e


integridad, no debe usar sus habilidades y experiencia para comportarse de forma
deshonesta o de un modo que desacredite la profesión, y afecte a sus clientes
colegas o si mismo.
9. Para cada una de las cláusulas del Código de ética ACM/IEEE que se
muestra en la figura 1.3, sugiera un ejemplo adecuado que ilustre dicha
cláusula.
Publico:
Crear software que sea seguro y cumpla con las especificaciones apropiadas que
no afecte la vida y privacidad de las personas ni dañe el ambiente
Cliente y empleador:
Tanto cliente como empleador deben ser honestos de sus limitaciones y educación
y para qué fin se está contratando.
Mantener secreta cualquier información confidencial obtenida en su labor
profesional, siempre y cuando vaya en congruencia con el interés social y en
congruencia con la ley.

Producto:
Realizar en lo posible la alta calidad, costos aceptables y que los beneficios
significativos son claros y aceptados por el empresario y el cliente, y están
disponibles para consideración del usuario y de la sociedad.

Desarrollar Softwares que sea certificable.

Juicio:
No involucrarse en prácticas financieras fraudulentas tal como corrupción,
facturación doble u otras prácticas financieras impropias.

No usar las habilidades para cometer delitos informáticos.

Gestión:

Actuar en pro del desarrollo de software profesional

Profesión:
Apoyar, como miembros de una profesión, a otros ingenieros de software que se
esfuercen por seguir este código.

Ejercer profesionalmente y promover el continuo desarrollo de la profesión

Colegas:
Revisar el trabajo de otros en forma objetiva, sincera y propiamente documentada.

Escuchar equitativamente las opiniones, preocupaciones y quejas de un colega.


Trabajo en equipo de forma colaborativa

Uno mismo:
Autoaprendizaje en el campo de acción de la ingeniería de software
No tratar injustamente a nadie debido a prejuicios irrelevantes
10. Para ayudar a contrarrestar el terrorismo, muchos países planean o
desarrollaron sistemas de cómputo que siguen la pista a gran cantidad de sus
ciudadanos y sus acciones. Claramente esto tiene implicaciones en cuanto a
la privacidad. Discuta la ética de trabajar en el desarrollo de este tipo de
sistema.
Tanto en sistemas que invaden privacidad como sistemas militares muchas
personas se sienten afectados en cuanto a estos temas, unos piensan que la
seguridad nacional es lo principal independientemente de la invasión de la
privacidad, otros dirán que eso no debe hacerse pues invade su privacidad.

En tal situación, es importante que empleador y empleado dejen claro sus puntos
de vista o perspectiva y ya dependerá de ellos si desean desarrollar este tipo de
sistemas, en cuanto a lo ético diríamos que no debería hacerse ese tipo de sistemas,
ya que no respeta a la privacidad, pero si nos ponemos a pensar los terroristas no
respetan a la sociedad así que por ese lado sería factible su creación.

You might also like