Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Administración de Condominios

Proyecto aplicado del curso ISW-524 Diseño de Arquitectura de Software (II–2026).

Campo Detalle
Carrera Ingeniería del Software
Profesor Mgt. Karlinna Chaves González
Grupo 02 – Lunes
Stack C# / .NET Framework 4.8 / WinForms / SQL Server (LocalDB)

Objetivo

Implementar un sistema de administración de condominios con arquitectura N-Capas, patrones de diseño y persistencia en SQL Server.

Estado actual (Avance 2)

Núcleo del negocio implementado:

  • Arquitectura N-Capas (UI, BLL, DAL, Entities, DTO, Interfaces, Utils)
  • CRUD de propiedades y residentes/propietarios
  • Cálculos financieros (cuota, fondo de reserva, mora, penalizaciones, índice de riesgo)
  • Facturación parcial (cuotas ordinarias)
  • Base de datos física con tablas, constraints y procedimientos almacenados
  • Patrones DAO, DTO, Factory, Facade y Singleton
  • UML actualizado (clases y secuencias) en docs/Avance2/UML/

Pendiente para avances posteriores: reservas, control de acceso, reportes, facturación completa y dashboard.

Arquitectura

UI (WinForms)
  → BLL (servicios, Facade, Factory)
    → DAL (DAO + Singleton de conexión)
      → SQL Server / LocalDB (CondominioDB)

Proyectos en src/:

Proyecto Rol
CondominioUI Interfaz WinForms
CondominiBLL Lógica de negocio
CondominioDAL Acceso a datos
CondominioEntities Entidades de dominio
CondominioDTO Objetos de transferencia
CondominioInterfaces Contratos
CondominioUtils Validaciones y utilidades

Requisitos

  • Visual Studio 2022 (o build tools / MSBuild)
  • SQL Server LocalDB o SQL Server Express
  • (Opcional) SSMS o Azure Data Studio

Cómo ejecutar

1. Clonar e ir al proyecto

git clone https://github.com/Kend07/ProyectoArqui
cd ProyectoArqui

2. Crear la base de datos

En sqlcmd o SSMS / Azure Data Studio, contra el servidor (localdb)\MSSQLLocalDB, ejecutar en este orden:

sqlcmd -S "(localdb)\MSSQLLocalDB" -E -i "scripts\CreateDatabase.sql"
sqlcmd -S "(localdb)\MSSQLLocalDB" -E -i "scripts\PropiedadProcedures.sql"
sqlcmd -S "(localdb)\MSSQLLocalDB" -E -i "scripts\ResidenteProcedures.sql"
sqlcmd -S "(localdb)\MSSQLLocalDB" -E -i "scripts\FacturaProcedures.sql"

En Azure Data Studio: servidor (localdb)\MSSQLLocalDB, autenticación Windows, base CondominioDB, cifrado opcional y “confiar en el certificado del servidor” activado.

3. Compilar

Con Visual Studio: abrir CondominioSolution.sln y compilar (Ctrl+Shift+B).

Con MSBuild (PowerShell):

cd "C:\Users\Usuario\Documents\Arquitectura\ProyectoArqui\ProyectoArqui"
& "C:\Program Files\Microsoft Visual Studio\18\Insiders\MSBuild\Current\Bin\MSBuild.exe" CondominioSolution.sln /t:Build /p:Configuration=Debug

Si usas Visual Studio 2022 Community, la ruta típica es:

& "${env:ProgramFiles}\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" CondominioSolution.sln /t:Build /p:Configuration=Debug

4. Correr la aplicación

cd "C:\Users\Usuario\Documents\Arquitectura\ProyectoArqui\ProyectoArqui"
.\src\CondominioUI\bin\Debug\CondominioUI.exe

Al iniciar:

  1. Servidor: (localdb)\MSSQLLocalDB
  2. Probar conexión
  3. Conectar

Datos de prueba: propiedades 101 y 102; propietarios con IDs 1 y 2.

Estructura del repositorio

ProyectoArqui/
├── CondominioSolution.sln
├── README.md
├── src/
│   ├── CondominioUI/
│   ├── CondominiBLL/
│   ├── CondominioDAL/
│   ├── CondominioEntities/
│   ├── CondominioDTO/
│   ├── CondominioInterfaces/
│   └── CondominioUtils/
├── scripts/
│   ├── CreateDatabase.sql
│   ├── PropiedadProcedures.sql
│   ├── ResidenteProcedures.sql
│   ├── FacturaProcedures.sql
│   └── MigrateAvance2.sql
└── docs/
    ├── Avance1/
    └── Avance2/
        ├── ChecklistAvance2.md
        ├── UML/DiagramasUML.md
        └── Patrones/EvidenciaPatrones.md

Patrones utilizados

  • DAO — acceso a datos vía procedimientos almacenados
  • DTO — transferencia entre capas
  • FactoryServicioFactory crea servicios y DAOs
  • FacadeCondominioFacade unifica el acceso desde la UI
  • SingletonDatabaseConnection para la cadena de conexión

Documentación

  • Avance 1: docs/Avance1/
  • Avance 2 (checklist, UML, patrones): docs/Avance2/

Última actualización: 2026-07-29
Estado: Avance 2 — núcleo del negocio implementado

About

Repositorio para el proyecto de Arquitectura de Software

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages