2019
Universidad Abierta y a distancia de México Análisis y diseño orientado a objetos (DS-DDOO-1901-B1003)
Alumno: César Morgado Pérez Ingeniería en Desarrollo De Software Matricula: ES1821000003
Facilitador: Adriana Álvarez Gutiérrez
Unidad 2. Requerimientos para el análisis del diseño orientado a objetos Actividad 2. Análisis de los requerimientos para diseñar un programa.
Definiciones Iniciando el tema de los requerimientos se colocan las interpretaciones de diversos conceptos hechas por Sommerviller (2009) en su libro Ingeniería del Software. Requerimiento: Los requerimientos de un software describen los servicios que debe ofrecer este y las restricciones de su funcionamiento. Requerimientos funcionales: Los requerimientos funcionales de un sistema describen lo que el sistema debe hacer. Estos requerimientos dependen del tipo de software que se desarrolle, de los posibles usuarios del software y del enfoque general tomado por la organización al redactar requerimientos. Requerimientos no funcionales: son aquellos requerimientos que no se refieren directamente a las funciones específicas que proporciona el sistema, sino a las propiedades emergentes de este como la fiabilidad, el tiempo de respuesta y a la capacidad de almacenamiento. Requerimientos del usuario: deben describir los requerimientos funcionales y no funcionales de tal forma que sean comprensibles por los usuarios del sistema sin conocimiento técnico detallado. Requerimientos del sistema: Son versiones extendidas de los requerimientos del usuario que son utilizados por los ingenieros de software como punto de partida para el diseño del sistema. Agregan detalle y explican como el sistema debe proporcionar los requerimientos del usuario.
1
Entrevista Buenas tardas el presente cuestionario permitirá el diseño de una App móvil que se utilizara para combatir el maltrato animal, así como permitirá a los usuarios compartir información de mascotas encontradas y extraviadas. Fase de Interfaces 1. ¿Cuenta usted con un dispositivo móvil? Sí
No (Pase a la pregunta 3)
2. ¿Con que frecuencia utiliza su dispositivo móvil? Todo el tiempo
Frecuentemente
Poco
Muy Poco
Nunca
3. ¿Hace cuánto tiempo adquirió su equipo móvil? Menos de año
De uno a 3 años
Más de 3 años
4. ¿Con que Sistema Operativo Cuenta su Teléfono? Android
Windows Phone
iOS
5. ¿Cuenta usted con datos móviles todo el tiempo? Sí
No
Fase de usuarios y factores humanos 6. Del 1 al 10 como cataloga su habilidad con su Dispositivo Móvil 3
1
7. ¿Estaría de interesado en una App móvil que permita el intercambio de información sobre mascotas perdidas y extraviadas? Sí
No 2
Fase de funcionalidad. 8. ¿Considera usted necesario el poder enviar imágenes de los casos a través del App móvil ya mencionada? Sí
No
9. ¿Permitiría que la App mostrara su número telefónico a otros usuarios para permitirles hacer contacto con usted para informase más sobre un caso reportado por usted? Sí
No
10. ¿Le molestaría compartir su ubicación real (GPS) para compartir información sobre animales perdidos? Sí
No
11. ¿Le molestaría que la App le enviara notificaciones en caso de que algún animal extraviado o maltratado se encuentre cercano a su localización? Sí
No
12. ¿Enlazaría usted su aplicación a otros dispositivos como PC, Tablet, etc? Sí
No
13. ¿Permitiría vincular la App con sus redes sociales? Sí
No
14. ¿Estaría dispuesto a participar en foros de giro animalista dentro de la App antes mencionada? Sí
No (Pase a la pregunta 11) 3
15. ¿Qué tipo de tópicos considera usted de importancia para un foro animalista? (Puede marcar más de una.) Cuidado de Mascotas X Dudas___
Emergencias Veterinarias X
Promociones___
Alimentación____
Otros (¿Cuál?):______________
16. ¿Tiene usted alguna sugerencia de alguna característica que le gustaría se incluyera en la App antes mencionada? Sería bueno que la aplicación ocupara pocos datos, porque a veces no hay dinero. Despedida Con esto concluye la encuesta, agradezco su tiempo para en la realización de este proyecto.
Requerimientos Funcionales y no Funcionales. Después de cuantificar las encuestas realizadas se catalogan los requerimientos del software a desarrollar, los cuales se describen en la Tabla 1. Seguido de esto se escriben los requerimientos de usuario en un lenguaje común para facilitar su comprensión. Tabla 1. Requerimientos funcionales y no funcionales del Software a desarrollar.
Requerimientos funcionales Se deberá crear cuentas de usuarios diferentes para utilizase la App El sistema permitirá al usuario vincular su cuenta de usuario con su número celular. Se permitirá la vinculación la cuenta de usuario con diversas redes sociales Los usuarios serán de capaces de compartir fotos con otros. Las fotos compartidas tendrán impresas la fecha y lugar donde fue tomada. La App permitirá hacer reportes que los demás usuarios podrán ver. El sistema de avisos de la aplicación enviara alertas dependiendo de la localización de los cosos reportados. La aplicación permitirá accesar al foro del grupo animalista.
Requerimientos no funcionales La App deberá correr en diversos sistemas operativos. La aplicación debe soportar otros dispositivos aparte del Móvil. Debe ser una aplicación ligera tanto en consumo de recursos como en tamaño en disco La interface debe ser fácil de usar e intuitiva. Se debe usar un sistema de navegación parecido al Google Maps. El consumo de datos móviles por la App debe ser mínimo. La App debe ser segura para proteger los datos de los usuarios. Se contara con un sitio Web para el foro de la App.
4
Requerimientos de usuario. Tabla 2. Requerimientos de usuario basados en los requerimientos funcionales y no funcionales.
ID RU-01 RU-02 RU-03 RU-04 RU-05 RU-06 RU-07 RU-08 RU-09 RU-10 RU-11 RU-12 RU-13 RU-14 RU-15 RU-16 RU-17
Requerimientos de usuario Descripción Los usuarios deberán crear cuentas para utilizar la App. Habrá vinculación de la cuenta de usuario con un número telefónico. Habrá vinculación de la cuenta de usuario con redes sociales. Los usuarios podrán compartir fotos de los casos. A las fotos se vincularan con un lugar y fecha. Se compartirán los reportes hechos por los usuarios con otros. El sistema de alertas permitirá saber si hay casos cercanos. La aplicación permitirá accesar al foro de la comunidad. Compatibilidad. La App será compatible con todos los S.O. Compatibilidad. La App será ejecutable en diversos dispositivos. Requerimientos. La App no ralentizara el teléfono. Requerimientos. El tamaño de la aplicación será poco Facilidad de Uso. La aplicación será fácil de usar. Facilidad de Uso. El mapa G.P.S será como como el Google Maps. Consumo. La App no ocupara muchos datos. Seguridad. Los datos compartidos serán guardados. Se implementara un sitio Web para el uso de la comunidad.
Prioridad Alta Media Media Alta Baja Alta Media Baja Baja Baja Alta Alta Alta Alta Media Alta Baja
Tipo F F F F F F F F NF NF NF NF NF NF NF NF NF
Riesgo Alto Alto Alto Medio Bajo Medio Bajo Medio
Requerimientos de Sistema. Tabla 3. Tabla de requerimientos del sistema del software a desarrollar.
ID
Nombre
RS-01
Registro
RS-02
Vin. # Teléfono
RS-03
Vin. Redes
RS-04
Fotos
RS-05
Lugar y Fecha
RS-06
Reportes
Requerimientos de sistema Descripción Al registrar al usuario se le presentara un formulario con los campos de: Nombre, correo electrónico, número celular, el sistema guardara estos datos en una base de datos pero aún no se le concederá acceso al usuario Al finalizar el registro, el sistema comenzara un proceso de corroboración de datos, en el cual enviara un mensaje con un código al teléfono móvil, el cual será necesario para verificar la identidad del usuario, el teléfono podrá ser entregado a otros usuarios dependiendo de las condiciones del programa. El usuario podrá enlazar sus redes sociales a su cuenta de la aplicación, esta acción no es necesaria para el uso del programa. La aplicación pedirá el permiso del usuario para accesar a la galería de fotos y a la cama fotográfica, para asi permitir al usuario subir las fotos requeridas, las cuales serán guardadas en una base de datos dentro del servidor donde este la aplicación. Al subir una foto a la base de datos, se desplegaran dos opciones al usuario, la primera donde podrá poner la fecha, hora y localización en tiempo real, y otra donde se desplegará un menú con los campo a llenar de Fecha, Hora y un tercero de localización que al escogerse enviaran al usuario a una interface de GPS, donde este escogerá el lugar donde acontecen los hechos. Los usuarios serán capaces de realizar reportes, los cuales al realizarse abrirán un menú donde se deberá llenar los campos de Situación (con las opciones de Violencia, Accidente, Extraviado), Fecha, Hora, Descripción y Localización el cual tendrá el mismo funcionamiento que RS-05, estos reportes serán enviados a una base de datos en el servidor, y después podrán ser visualizados por otros usuarios, donde se apreciaran los datos capturados
5
Tipo F
F
F
F
F
F
Tabla 4. Tabla de requerimientos del sistema del software a desarrollar. (cont.)
ID RU-07
Nombre Alertas
RU-08
Foro
RU-09
Compatibilidad
RU-10
Compatibilidad
RU-11
Requerimientos
RU-12
Requerimientos
RU-13
Facilidad de Uso
RU-14
GPS
RU-15
Datos Móviles
RU-16
Seguridad
RU-17
Web
Requerimientos de sistema Descripción El sistema pedirá al usuario que le permita tener acceso a las notificaciones del dispositivo móvil, con lo cual dependiendo del GPS del usuario el sistema enviara una notificación sobre los reportes hechos en RU-06, si este se encuentra a menos de 1km de distancia, el usuario será capaz de deshabilitar esta opción, y no funcionara si el usuario tiene el GPS del dispositivo apagado. La aplicación tendrá una opción donde se le permitirá al usuario abrir un foro en línea donde podrá revisar diversos temas, para accesar a este foro, el usuario debe aceptar que su perfil se haga público, salvo su número celular. La App tendrá diversas versiones compatibles con los diversos sistemas operativos de dispositivos móviles, tales como Android, iOS, etc. La App tendrá diversas versiones compatibles con diversos dispositivos y sus sistemas operativos tales como Windows, Unix para Computadoras, y macOS para Mac. El programa utilizara los requerimientos de sistema mínimos (imposible de determinar en este momento), tales como uso del procesador, memoria RAM y video. El tamaño neto de la aplicación será optimizado para no hacer uso innecesario de espacio en el sistema de almacenamiento de los dispositivos El diseño de la interface del sistema se dividirá en botones como: Haz un reporte, reportes cercanos, Foro. Los cuales llevaran a diversas secciones. Donde se podrán llevar a cabo las funciones de la aplicación. El sistema de navegación utilizara una interface conocida (Google Maps), en esta se podrán visualizar reportes como si fueron sitios de interés, que al ser seleccionados llamaran la información del servidor acerca de dicho reporte donde se visualizaran las fotografías, nombre del usuario que levanto el reporte, la descripción de los hecho, así como la fecha y hora de reporte. Se reducirá el consumo de datos limitando el tiempo de actualización de la App, y añadiendo un compresor de datos antes de enviar los reportes y fotos al servidor, en este se decodificaran y se mostraran descomprimidos. Se utilizaran las mejores estrategias de seguridad y privacidad de la información proporcionada por los usuarios, solo se le brindaran datos personales a personas interesadas en los reportes levantados y así evitar una transgresión de la privacidad. Se creara un sitio Web, con dominio propio para que sea administrado por la sociedad de animales donde podrán hacer uso de este para fines propios de la asociación animalista.
6
Tipo F
F
NF NF
NF
NF NF
NF
NF
NF
NF
Referencias Sommerville, I. (2005). Ingeniería del Software (Séptima ed.). (M. I. Alfonso Galipienso, Trad.) Madrid, España: Pearson Educación.
7