220 likes | 360 Views
Proyecto SIGU. Teoría de los lenguajes. Equipo Nº3 Universidad Argentina J. F. Kennedy Sede: Don Bosco Integrantes: Irene Arias Fernández Mariana Pacheco Luciano Toyos Javier Pablo Cantore Pablo Armanini Profesoras: Isabel Marko María Angélica Peñaloza. Introducción
E N D
Proyecto SIGU Teoría de los lenguajes Equipo Nº3 Universidad Argentina J. F. Kennedy Sede: Don Bosco Integrantes: Irene Arias Fernández Mariana Pacheco Luciano Toyos Javier Pablo Cantore Pablo Armanini Profesoras: Isabel Marko María Angélica Peñaloza
Introducción Planificación Análisis Diseño Arquitectura Desarrollo Proyecto SIGU Agenda
Se desarrollaron cuatro Módulos Administración de Perfiles y Usuarios Inscripción a materias Carga de notas Correlatividades Proyecto SIGU Introducción Agenda
Proyecto SIGU Planificación Agenda
Diagramas de CU Proyecto SIGU Análisis Agenda
Proyecto SIGU Análisis Agenda
Arquitectura 8 FLEX ISERVICES 7 APP L I C A T T I O N C O N T E X T 9 6 SERVICES IDAO 5 3 4 DAO DTO 2 Hibernate BASE DE DATOS Proyecto SIGU Arquitectura Agenda
Hibernate • En el tag “class” se especifica en el atribute name el nombre de la clase y en el atributo table el nombre de la tabla donde se persisten los datos. • En el tag “id” se especifica la clave primaria de la tabla • En el tag “property” especifica la relación entre alguna propiedad de la tabla, con su correspondiente propiedad de la clase de negocio • Las relaciones entre tablas se especifican con el tag • one-to-one • many-to-one • one-to-many • many-to-many <hibernate-mapping package="ar.edu.kennedy.dominio"> <class name="Perfil" table="PERFILES"> <id name="id" column="ID_PERFIL" > <generator class="native"/> </id> <property name="descripcion" column="DESCRIPCION_PERFIL"/> <property name="estado" column="ESTADO"/> </class> </hibernate-mapping> Proyecto SIGU Arquitectura Agenda Arquitectura
DTO publicclass Perfil { private Integer id; private String descripcion; private String estado; public Integer getId() { return id; } publicvoid setId(Integer id) { this.id = id; } public String getDescripcion() { return descripcion; } publicvoid setDescripcion(String descripcion) { this.descripcion = descripcion; } public String getEstado() { return estado; } publicvoid setEstado(String estado) { this.estado = estado; } } Archivo que tiene como atributos/variables los nombres y tipos de datos de las columnas de la tabla de la BD que deseo consultar/actualizar y los getters y setters de los atributos. A la clave primaria siempre la tenemos que declararla aquí con el nombre “id”. Proyecto SIGU Arquitectura Agenda Arquitectura
DAO Se utiliza para abstraer y encapsular todos los accesos a las fuentes de datos. Administran la conexión Base de Datos para obtener y almacenar los mismos.Permiten crear componentes simples que nos proveen acceso a nuestros datos sin revelar los detalles de la implementación al resto de la aplicación. El uso de los DAOs permite a nuestra aplicación ser dinámicamente configurada para utilizar diferentes mecanismos de persistencia. package ar.edu.kennedy.dao; import java.util.List; import ar.edu.kennedy.dominio.Perfil;; public interface PerfilDAO { List<Perfil> findAll(); } Proyecto SIGU Arquitectura Agenda Arquitectura
IDAO Es la interfase donde se declaran los métodos que se implementaron en el DAO publicclass PerfilDAOImpl implements PerfilDAO{ private HibernateTemplate hibernateTemplate; publicvoid setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; } publicList<Perfil> findAll() { String hql = "FROM Perfil as P"; List<Perfil> perfiles = hibernateTemplate.find(hql); return perfiles; } } Proyecto SIGU Arquitectura Agenda Arquitectura
Services Deben estar definidos los métodos de los DAOs que se utilizan publicinterface PerfilService { List<Perfil>findAll(); @SuppressWarnings("unchecked") List<Perfil>findByFieldLikeValue(String value); void save(Perfil perfil); void update(Perfil perfil); } Proyecto SIGU Arquitectura Agenda Arquitectura
IServices Es la capa que agrega un nivel de abstracción más a la capa DAO. Esta capa se comunica con la vista.Aquí se declaran los servicios que se implementaron en la capa Services publicclass PerfilServiceImpl implements PerfilService{ private IGenericDAO genericDAO; public PerfilServiceImpl() { super();} publicList<Perfil> findAll(){ return genericDAO.findAll(Perfil.class); } publicvoid save(Perfil perfil){ genericDAO.save(perfil); } publicvoid update(Perfil perfil){ genericDAO.update(perfil); } } Proyecto SIGU Arquitectura Agenda Arquitectura
Flex Es la capa del lado del cliente donde se crea un VO (Value Object) que se va a corresponder con el DTO publicclass PerfilVO{ publicvar id:int; publicvar descripcion:String; publicvar estado:String; publicfunction PerfilVO() {} publicfunction getDescripcion():String{ return descripcion; } publicfunction getEstado():String{ return estado; } publicfunction getId():int{ return id; } } Proyecto SIGU Arquitectura Agenda Arquitectura
Application Context • Es un archivo en el cual se definen • Configuraciones del sistema • Configuraciones base de datos • Configuraciones hibernate (transacciones, hbms, sesiones) • Data Access Object (DAO) • Clases de Validaciones • Servicios <beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"><value>classpath:SIGU-Server.properties</value></property> </bean> <propertyname="mappingResources"><list><value>ar/edu/kennedy/mapping/hbm/Perfil.hbm.xml</value></list></property> <bean id="transactionManager“class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"><ref bean="sessionFactory" /></property> </bean> <bean id="hibernateTemplate“class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory" /> </bean> Proyecto SIGU Arquitectura Agenda Arquitectura
Especificación de Casos de Uso DER Diagrama de clases Proyecto SIGU Diseño Agenda
Especificación de CU ID: CU01 DESCRIPCIÓN: Permite el ingreso del usuario al sistema. Actor: • Administrador, Alumno, Docente. Precondición: • N/A Post condición: • Se inicia sesión en el sistema. Entradas: • Usuario. • Password. Salidas: • N/A Flujo Normal: • El usuario ingresa su nombre de usuario. • El usuario ingresa su password. • El usuario hace un click en el botón de ingreso. • Fin del caso de uso. Flujo Alternativo: • N/A Extensiones: • N/A. Requerimientos Especiales: • N/A. Reglas de negocio: • N/A Validaciones: • Se valida que el nombre de usuario exista en el sistema. • Se valida que la password ingresada sea la correcta para el nombre de usuario ingresado. Proyecto SIGU Diseño Agenda Diseño
DER Proyecto SIGU Diseño Agenda Diseño
Diagrama de clases Proyecto SIGU Diseño Agenda
Proyecto SIGU Desarrollo Agenda
Preguntas? Proyecto SIGU Comentarios Agenda
Proyecto SIGU MUCHAS GRACIAS!! Fin de Presentación Agenda