1 / 19

Ingeniería de Software

Ingeniería de Software. Modelos de análisis, diseño e implementación. Descripción del sistema.

Download Presentation

Ingeniería de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ingeniería de Software Modelos de análisis, diseño e implementación

  2. Descripción del sistema • Un profesor necesita un sistema de registro de tareas para cada una de sus materias. Por cada ciclo escolar (semestre) imparte un máximo de 6 materias y un mínimo de 1 materia. La cantidad de tareas que puede dejar a sus alumnos por materia va de 0 a n y cada tarea está asociada a una de tres evaluaciones parciales. El sistema en cuestión debe proporcionarle al profesor la capacidad de registrar cada ciclo escolar con sus respectivas materias así como los alumnos inscritos en cada materia. En el transcurso de un ciclo escolar el sistema debe permitirle dar de alta, modificar o eliminar tareas. Una tarea tiene asociada la siguiente información: una descripción que define lo que el alumno debe realizar, la fecha de entrega y la evaluación parcial a la que pertenece. El sistema también debe permitir al profesor registrar cuándo un alumno entrega una tarea así como la calificación que se alcanzó. El sistema debe ser capaz de mostrar una lista de tareas con su respectiva calificación y promedio acumulado por evaluación parcial. Adicionalmente, el sistema también debe permitir la entrada de alumnos, los cuales solo pueden consultar la lista de tareas por materia, esta información es lo único que pueden ver pero no modificar, lo anterior hace necesario que al entrar al sistema como profesor se solicite una contraseña.

  3. Modelo del análisis • DFD N0

  4. Modelo del análisis … (2) • Maquetas Fig1. Pantalla Principal. (Sirve para identificar el tipo de usuario) Fig2. Pantalla de Contraseña. (Sirve para validar al usuario profesor)

  5. Modelo del análisis … (3) • Maquetas … (2) Fig3. Pantalla de Comandos Profesor. (Sirve para que el profesor elija una acción) Fig4. Pantalla de interfaz de consultas. (Sirve para que el usuario elija la lista de tareas a mostrar)

  6. Modelo del análisis … (2) • DFD N1

  7. Modelo del análisis … (4) • Miniespecificación del Proceso 1 «Identificar tipo usuario» • Crear la ventana principal con los parámetros adecuados • Cargar las imágenes a utilizar en la aplicación • Crear los botones para identificar el Tipo de usuario • Mostrar las imágenes y formato de la interfaz • Esperar la pulsación de uno de los dos botones asociados a cada tipo de usuario • Retornar el Tipo de Usuario Fig1. Pantalla Principal.

  8. Modelo del análisis … (5) • DFD N2 para el Proceso 2 Fig3. Pantalla de Comandos Profesor. Fig2. Pantalla de Contraseña.

  9. Modelo de análisis … (6) • DFD N2 para el Proceso 3 Fig4. Pantalla de interfaz de consultas.

  10. Modelo del diseño • Primera aproximación del primer corte al DFD N1

  11. Modelo del diseño … (2) • Refinamiento de la primera aproximación del DFD de N1 Es el responsable de crear la Interfaz Gráfica de Usuario (IGU)

  12. Modelo del diseño … (3) • Primera aproximación de los primeros cortes al DFD N2 del Proceso 2

  13. Modelo del diseño … (4) • Refinamiento de la primera aproximación para el Proceso 2

  14. Modelo del diseño … (5) • Primera aproximación de los primeros cortes al DFD N2 del Proceso 2

  15. Modelo del diseño … (6) • Refinamiento de la primera aproximación para el Proceso 3

  16. Modelo del diseño … (7) • DE para los incrementos 1, 2 y 3

  17. Implementación • DE’s con anotaciones de implementación /*Inicia: MCP*/ int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { HWND hwnd; /*This is the handle for our window */ MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass */ /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ /*… Aquí sigue más código de la plantilla*/ } /*Finaliza: MCP*/ /*Inicia: Gestor de interacción con el usuario*/ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hDC; PAINTSTRUCT ps; static HBITMAP hBitmapProf, hBitmapAlum; static HWND hBotonProf, hBotonAlum, hBotonSalir, hBotonRegresar; /*… Aquí sigue más código*/ switch (message) /* handle the messages */ { case WM_COMMAND: switch(LOWORD(wParam)) { /*Inicia: 2 Procesar Comandos Profesor*/ case ID_BTNPROF: edo = EDOPROF1; /*Invocación a 2.1*/ SendMessage(hwnd,WM_COMMAND,(WPARAM) ID_MSGHIVAL, (LPARAM) PROFESOR); break; /*………….. Y sigue más código*/

  18. Implementación … (2) • DE’s con anotaciones de implementación … /*Inicia: 2.1 Habilitar Interfaz de validación de usuario*/ case ID_MSGHIVAL: ShowWindow(hBotonAlum,FALSE); ShowWindow(hBotonProf,FALSE); ShowWindow(hCtrlClave,TRUE); ShowWindow(hBotonRegresar,TRUE); ShowWindow(hBotonValidarUProf,TRUE); SetFocus(hCtrlClave); TipoUsuario = lParam; strcpy(szMensaje,"Introduzca contraseña de profesor"); InvalidateRect(hwnd, NULL, TRUE); break; /*Finaliza: 2.1 Habilitar Interfaz de validación de usuario*/ /*Inicioa: 2.2 Validar usuario Profesor*/ case ID_BTNVALIDAR: /*Obtener la Contraseña editada*/ GetDlgItemText(hwnd, ID_TXTCLAVE, szClave, 31); if(!strcmp(szClave,"hola")){ /*Invocación a 2.3*/ SendMessage(hwnd,WM_COMMAND,(WPARAM) ID_MSGHICOM, (LPARAM) PROFESOR); }else{ EmitirMensaje(hwnd,"Contraseña Incorrecta\nIntente de nuevo",MENSAJEERROR); } break; /*Finaliza: 2.2*/ int EmitirMensaje(HWND hwnd, char *texto, int tipo) { UINT uType; char titulo[64]; switch(tipo) { case MENSAJEERROR: strcpy(titulo,"Error"); uType = MB_OK | MB_ICONERROR; break; case INFORMACION: strcpy(titulo,"Información"); uType = MB_OK | MB_ICONINFORMATION; break; case CONFIRMACION: strcpy(titulo,"Confirmación"); uType = MB_YESNO | MB_ICONQUESTION; break; } return MessageBox(hwnd,texto,titulo,uType); }

  19. Implementación … (3) • Diagrama de estados para el requisito implícito de regresar entre pantallas y la codificación del comando regresar. case ID_BTNREGRESAR: if(edo == EDOPROF1 || edo == EDOALUMNO){ SendMessage(hwnd, WM_COMMAND, (WPARAM) ID_MSGHIINI, (LPARAM) NOUSUARIO); edo = EDOINICIO; }else if(edo == EDOCONSULTAR){ SendMessage(hwnd, WM_COMMAND, (WPARAM) ID_MSGHICOM, (LPARAM) PROFESOR); edo = EDOPROF2; } break;

More Related