Está en la página 1de 19

Actividad Evaluativa Eje 2

Practica ingeniería de requisitos

Fredy Ivan Rojas Jara


Andres Felipe Naranjo Arango
William Santiago Hernández Cristancho

Fundación Universitaria Del Área Andina.


Bogotá D.C.
Ingeniería De Software II
8 de mayo 2023
TABLA DE CONTENIDO

Introducción……………………………………………………………… 3
Objetivo general…………………………………………………….…… 4
Objetivos especifico………………………………………………...…… 4
Actividad a desarrollar (instrucciones) …………………………….…… 5
Desarrollo de la actividad………………………………………….… 6-12
Conclusiones…………………………………………………………… 12
Bibliografía ……………………………………………………….…… 13
INTRODUCCIÓN

La formación del Ingeniero en sistemas involucra el conocimiento de diferentes


arquitecturas que permiten soportar el procesamiento y transmisión de la información, los
cuales se convierten en elementos fundamentales al momento de desarrollar una solución
de software. Esto le permite plantear diferentes alternativas para una solución informática,
usando como soporte las soluciones computacionales existentes.
OBJETIVO GENERAL

Desarrollar los fundamentos de la arquitectura de software, Clasificación de Estilos


Arquitectónicos, Tipos y Modelos de Arquitectura de software, Niveles de diseño de
software, entre otros temas, teniendo como enfoque la implementación en soluciones
informáticas.

OBJETIVOS ESPECÍFICOS

1. Comprender, analizar y desarrollar modelos de calidad en el desarrollo e implementación


de un sistema informático.
2. Implementar las arquitecturas y los estándares de calidad que favorecen el proceso de
desarrollo de software conociendo los modelos y estructuras de desarrollo siguiendo las
normas de calidad existentes.
ACTIVIDAD A DESARROLLAR (INSTRUCCIONES)

1. Haga un cuadro comparativo donde explique las ventajas y desventajas de la


arquitectura en tres capas, cliente servidor y SOA
2. Genere un plan para asegurar la calidad del software.
Un plan debe contener un cronograma de actividades en este se plasman las tareas
a desarrollar, mínimo 10, debe tener fechas de elaboración y el responsable
3. answer the following question: ¿what advantages does it give us to use a sof-
tware development methodology?
4. Investigar y dar respuesta a la siguiente pregunta:
¿Qué es la ética profesional y como la aplico en mi profesión?
Cargar un en PDF con el nombre completo de los integrantes del equipo.
1. Haga un cuadro comparativo donde explique las ventajas y desventajas de la
arquitectura en tres capas, cliente servidor y SOA

Ventajas
Arquitectura en tres capas Cliente Servidor SOA
Las llamadas de la interfaz de Los accesos, recursos y Permite el desarrollo de
usuario en la estación de trabajo, la integridad de los datos aplicaciones manejables y mas
al servidor de la capa intermedia son controlados por el seguras, ya que proporcionan
son más flexibles que el diseño servidor de forma que un una infraestructura y
de 2 capas ya que la estación programa cliente documentación común para el
solo necesita transferir defectuoso o no desarrollo de servicios con
parámetros a la capa intermedia autorizado no puede posibilidad de añadir nuevas
dañas el sistema funciones
Con la arquitectura de tres capas Permite aumentar la Permite minimizar la perdida
la interfaz del cliente no es capacidad de clientes y de datos, ya que ofrece
requerida de comprender o servidores por separado, seguridad y alta disponibilidad
comunicarse con el receptor de cualquier elemento puede
los datos. Por lo tanto, esa ser aumentado o
estructura de los datos puede ser mejorado en cualquier
modificada sin cambiar la momento o se pueden
interfaz del usuario en la PC añadir nuevos nodos a la
red
El código de la capa intermedia Al estar distribuidas las Permite el desarrollo de
puede ser utilizada por múltiples funciones y aplicaciones en menor tiempo
aplicaciones si están diseñadas responsabilidades entre y más económicas, gracias a la
en formato modular varios ordenadores integración de todos los datos
diferentes, es posible de manera flexible
reemplazar, reparar,
actualizar o trasladar un
servidor mientras que sus
clientes no se verán
afectados por el cambio
Requiere que el equipo de Limitación de nivel Depende de la implementación
desarrollo tenga conocimiento económico debido a que de estándares. Sin estándares la
en varias ramas estos servidores son comunicación entre
computadoras de alto aplicaciones requiere mayor
nivel con hardware y tiempo y código.
software específicos
para el correcto
funcionamiento de las
aplicaciones.
Los ambientes de tres capas Problemas a nivel de No es para aplicaciones con un
pueden incrementar el tráfico de seguridad ya que el por el alto nivel de transferencia de
la red y requieren más balance hecho de compartir datos, aplicaciones que no
de carga u tolerancia a las fallas. diversos canales de requieran de implementación
información entre del tipo request/response y para
servidores y clientes aplicaciones que tenga un corto
requieren que estos pases periodo
por un proceso de
validación, permitiendo
que se generen amenazas
o ataques de malware

2. Genere un plan para asegurar la calidad del software.


Un plan debe contener un cronograma de actividades en este se plasman las tareas
a desarrollar, mínimo 10, debe tener fechas de elaboración y el responsable

Prácticas Desarrollo Objetivos/Fundamentos Responsable Fecha


Planificar el trabajo Aplicar un proceso de desarrollo
del proyecto en flexible que se adapte a las
Planificación iteraciones de dos necesidades del cliente. Obtener Fredy Rojas
semanas de retroalimentación del usuario en
duración forma rápida.
Documentar la Se busca lograr una estructura del
arquitectura básica sistema en una forma que todos los
en un diagrama. integrantes del equipo la
Metáfora Andres
comprendan y recuerden. Todos
(Arquitectura) Naranjo
saben que es lo que tienen que
realizar. Es una herramienta de
comunicación con el Cliente.
Realizar el código Se busca que el código sea simple
lo más simple para que cada uno de los
Santiago
Diseño simple posible. desarrolladores entienda perfecto lo
Hernández
que se está haciendo y no pierda
tiempo en entenderlo.
Realizar pruebas a Se busca que durante el desarrollo
Pruebas medida que se se realicen pruebas para encontrar
Fredy Rojas
unitarias desarrolla el errores lo más temprano posible y
sistema. así el retrabajo sea menor.
Mientras van
Se busca que el diseño se
desarrollando el
mantenga simple, que la cantidad de
sistema, los Andres
Refactoreo errores disminuya y los
programadores Naranjo
programadores puedan desarrollar
mejoran el código
más rápido.
continuamente.
Integración Integrar Las integraciones continuas apuntan Santiago
continuamente las
distintas partes a disminuir los errores generados en
continua Hernández
desarrolladas del la etapa de integración.
sistema.
Para que todos los Se busca que los programadores
Propiedad
programadores conozcan todo el código
Colectiva (El
conozcan el código, desarrollado, esto hace más ágil y Fredy Rojas
código es de
se desarrolla en más flexible al proceso de
todos)
pareja. desarrollo.
Cantidad de horas Se busca mejorar el ánimo del
25 horas semanales que equipo y disminuir los errores Andres
semanales pueden trabajar los producidos por el cansancio y Naranjo
programadores. aumentar la productividad
Comunicación Se busca que el cliente este
diaria con el cliente. informado de la evolución y
Comunicación
comunique los cambios necesarios. Santiago
permanente
También ante cualquier duda sobre Hernández
con el cliente
requerimientos se puede consultar
al cliente rápidamente
Auditoría final Evaluar y comparar Validación y definición de los
sobre el el funcionamiento y procesos de medición y resultados
Fredy Rojas
producto la documentación en la auditoría final del sistema
implementado previa al SQA usando los estándares de calidad

Actividad
Meta
Actividad de Control
Responsable
Fecha
Identificación del entorno
del proyecto y sus
características
Verificación de los riesgos,
requerimientos del proyecto,
reuniones con los entes
implicados y definición del
ambiente en donde será
aplicado.
Aprobaciones por parte de
los interesados y el equipo
desarrollador.
Erika Paola
Lancheros
Murcia
/11/2022
Evaluación de
herramientas de
desarrollo
Revisión y aseguramiento con
base en las recomendaciones de
auditoría.
Evaluación del
licenciamiento requerido
por las herramientas de
desarrollo que serán
utilizadas.
Oscar David
Hernandez Ruiz
/11/2022
Selección del proceso y
actividades a realizar
Definir la forma de trabajo,
criterios de aceptación, tiempos,
estándares, actividades de
revisión, verificación y
validación obteniendo así los
elementos que componen el
proceso a utilizar en el proyecto.
Documentar el plan de
trabajo basado en los
estándares definidos.
Edaimer de
Jesus GIron
Largo
/11/2022
Validación y definición
del diseño del sistema
Revisión de los requerimientos
con respecto a las interacciones
del sistema.
Implementar los
modelados de diseño
teniendo como
referencia el documento
de requerimientos
Erika Paola
Lancheros
Murcia
/11/2022
Documentación del plan
de calidad
Documentar las decisiones más
relevantes al elegir las prácticas
a utilizar en el proyecto.
Verificación y validación
por parte de los
interesados y el equipo
desarrollador.
Oscar David
Hernández Ruiz
/11/2022
Desarrollo
levantar la documentación al
detalle de cada función
desarrollada en la codificación.
Documentación del
desarrollo de las
funcionalidades y
requerimientos del sistema
Edaimer de
Jesus GIron
Largo
/11/2022
Ejecución de pruebas de
funcionamiento
Realizar la evaluación de la
implementación del sistema en
fase de pruebas y levantar la
documentación correspondiente
a la revisión de código
Documentación y reporte
del resultado de las
pruebas y su
comportamiento en los
entornos evaluados.
Oscar David
Hernández Ruiz
/01/2023
Entrega del producto
Reporte de entregables,
versiones finales de
documentos, documentos de
instalación, manuales de usuario
y capacitación a usuario final.
Documentación y reporte
de las capacitaciones a
usuario final y auditoría
sobre el sistema.
Carlos Andres
Ramirez Lopez
/02/2023
Toma de medidas
correctivas
Evaluación de documentación
por Aseguramiento De Calidad
De Software.
Realizar una auditoría
sobre el comportamiento y
funcionamiento del
sistema y la solución a
fallos.
Oscar David
Hernández Ruiz
/02/2023
Auditoría final sobre el
producto
implementado.
Evaluar y comparar el
funcionamiento y la
documentación previa al SQA
Validación y definición
de los procesos de
medición y resultados
en la auditoría final del
sistema usando los
estándares de calidad.
Carlos Andres
Ramirez Lopez
/03/2023
3. answer the following question: ¿what advantages does it give us to use a sof-
tware development methodology?

The modern world in which we live, day after day, we are going to face great challenges.
The great problems and complexity that this scenario proposes, prompts us to search for
specific solutions. For example, the digitization of all these processes, which present a very
interesting approach. This approach will specifically emphasize all the processes and
strategies that are linked to the design, construction and implementation of the software, in
order to solve these challenges and turn them into effective solutions.
In this article we will see a brief approach on the "advantages and disadvantages" of some
of the traditional methodologies of software design and development.

The Setting and Methodologies


The scenario proposes the escalation of the solutions that are intended to be solved. For
this, a model that can face these challenges is pursued. This is where methodologies come
in.
The methodologies, whose word derives from the Greek "methodos" or "paths", have a
special focus on the effective search for solutions to the problems raised. Software
development methodologies present an approach designed especially for the industry.
Technological integration facilitates the monitoring of methodologies that increase
productivity and, on the other hand, contribute to reducing the reduction of conflicts
between the various teams over clients, thus resulting in the creation of increasingly
statistical products.
All this great focus will emphasize various points of interest. For example, the
methodologies will include various aspects that will consider the processes of creating a
program, the scenario where the application or system will be designed, the users and
clients that will consume these processes, security and functional operation, the information
that is handled, the degree of critical sensitivity of such information, availability, etc.
Consequently, we observe that in order to satisfy all these processes efficiently, an effective
strategy and methodology are required.

Agile Methodology
The agile methodology is an effective production design when it comes to producing
efficient software without the need for extensive documentation. In short, it avoids the
excessive bureaucratic characteristic of the systems and their processes. Consequently, this
strategy turns out to be juxtaposed to the traditional software development model.

Life Cycle of Agile Methods


This strategy has as a significant element the reduction to the minimum of the development
stages and their documentation. On the other hand, it enhances communication between the
parties involved, so that the processes are fast and consistent. This approach significantly
points out the following elements:
It values individuals and their interactions over processes and tools.

It emphasizes software that validates performance rather than extreme or exhaustive


documentation gathering.
It involves collaboration with the end user rather than the aspect of a contract.
Settles into adaptive approach to change before sticking to a rigid strategic plan.

The agile method makes use of a series of steps to specify its processes. To do this, it will
use the following processes.

Concept - This point is when you proceed to select a project that has the highest priority.
Here the requirements are raised which will emphasize the needs of the project and its
particular characteristics.
Conception - The members and the work team will work together to determine and discuss
the characteristics, objectives and requirements of the program to be developed. At this
stage, various types of layouts can be integrated to diversify the idea to be built and its
functional characteristics, so that they can be integrated into the client's system.
Integration - It is the stage known as DEV, it is when we proceed to work, building the
software according to the strategies and the directives set forth therein. Here participation
includes software developers and designers. Consequently, it turns out to be the first
iteration of the project.
Launch - The "realease" or launch encompasses several sub-stages. The substages could
vary according to the strategies addressed. Basically they can be reduced at least in three
significant stages. We have the test or Test stage, the QA quality stage and then the PRO
production stage. Both the Test and QA stages turn out to be crucial, since they allow the
development team to refine processes, mitigate bugs, correct interaction design issues, etc.,
or any other type of improvements or suggestions. The central idea is to achieve a finalizing
process free of errors, exceptions and everything that causes rejection by the end user.
Production - This stage, in appearance, turns out to be the final one. However, the
completion does not end with the delivery of the product. There is feedback "feedback" that
then arises at the time the software starts to be used. We can affirm then that it is at this
point when its entropy begins to roll. It is likely that errors arise and must be corrected or
also,
changes in the interaction processes between the user and your application. Therefore,
feedback makes it possible to manage these points of interest. In addition, future revisions
and updates must be added that will require an attention process, which guarantee
backwards compatibility processes and facilitate the new models for their implementation
with the minimum possible incidents.
Versions - As indicated in the previous point, the feedback will lead to new updates of the
application or system being proposed in the future. The entropy effect is very broad
although, apart from this effect, product innovation also arises as a dynamic market strategy
and suggestions from end users. Therefore, versioning management could pose a scenario
where a specific participation of the team is required, in order to satisfy customer demand.
Sometimes, and depending on the complexity of this feedback, it is likely that more solid
and complex strategies are integrated, such as those proposed by the XP (Extreme
Programming) and SCRUM models, among others, which allow these hard development
and innovation models to be resolved. these given products.

Pros and Cons of Agile Methods


Advantages
Ideal for small projects.
It makes them faster to control.
It is easy to pass on knowledge about projects.
Create a stable task layout.
Results more in line with customer needs.

4. Investigar y dar respuesta a la siguiente pregunta:


¿Qué es la ética profesional y como la aplico en mi profesión?

En términos generales, la ética profesional y los valores comprenden cuestiones de


responsabilidad, solución de problemas y toma de decisiones ante diversas situaciones. Día
a día, el ser humano se enfrenta a la necesidad de hacer elecciones para cada actividad que
realiza y en esto se funda la necesidad de la ética. Siempre existe una infinidad de opciones
a elegir, siempre hay más de una forma de realizar una asignación, más de una manera de
resolver un problema. Así, el hombre elige la manera que más le agrada, que más le
conviene, optando por una alternativa y no por otra. Un ingeniero responsable tiene como
objetivo la creación de un producto o servicio tecnológico seguro y, sobre todo, útil, para
que el cliente se sienta satisfecho y seguro al usarlo, en caso de que tuviera algún riesgo.}

CONCLUSIONES

Considero desde mi punto de vista que es importante conocer cada uno de las pasos y
etapas que se deben seguir a la hora tomar un proyecto de la realización de un software, es
importante conocer las distintas metodologías que se tienen para que el producto final sea
exitoso y poder cumplir con lo exigido por el cliente final. También a través de estas
metodologías agiles de desarrollo se puede garantizar un eficiente construcción y
escalamiento de la aplicación a diseñar como es el ejemplo de los patrones de diseño los
cuales una vez comprendido podemos abarcar y desglosar el diseño y construcción de una
manera la cual nos facilite su entendimiento, mantenibilidad y escalamiento.
Bibliografía

https://www.ibm.com/docs/es/was-zos/9.0.5?topic=overview-three-tier-architectures

https://blog.infranetworking.com/modelo-cliente-servidor/#Desventajas

https://www.chakray.com/es/arquitectura-soa-que-ventajas-tiene-para-el-it-de-mi-empresa/

http://repositorio.uisrael.edu.ec/bitstream/47000/583/1/UISRAEL-EC-%20SIS-
%20378.242-%20266.pdf

También podría gustarte