viernes, 27 de septiembre de 2019

S4 MD D - Principales Metodologías Convencionales

PRINCIPALES METODOLOGIAS CONVENCIONALES
Una primera definición:“ una metodología es un conjunto de filosofías, fases, procedimientos, reglas, técnicas, herramientas, documentación y aspectos de formación para los desarrolladores de software.
según esto una metodología especifica:
  • Como se debe dividir un proyecto en etapas
  • Que tareas se llevan a cabo en cada etapa
  • Que salida se produce y cuanto deben producir
  • Que restricciones se aplican
  • Que herramientas se van a usar
  • Como se gestiona y controla un proyecto
* Una definición mas generar:
* Metodología es un conjunto de procedimientos, técnicas, herramientas y un soporte documental que ayuda a los desarrolladores ha realizar software.

De forma general podemos identificar tres principales necesidades:
  • Mejores aplicaciones 
  • Un mejor proceso de desarrollo.
  • Un proceso estándar en la organización.
Visión Del Desarrollo De Metodologías   
Inicialmente periodo de desarrollo convencional.
Surge el desarrollo estructurada: Parte de la programación estructurada seguido de métodos.
Actualmente aparece el paradigma de la Orientación a Objectos.

DESARROLLO CONVENCIONAL
* Años atrás no existía metodologías todo estaba a cargo de los programadores.
* Se vio la importancia del análisis y diseño en el desarrollo del sistemas.
* Aparecen los analistas programadores y analistas en sistemas.
* Los analistas se dividen en dos : Analistas funcionales y analistas técnicos.

 1 EJEMPLO DE PROGRAMACIÓN CONVENCIONAL
10 CLS
20 A=10
30 INPUT B
40 IF B=A THEN GOTO 50 PRINT “A Y B SON IGUALES”
50 ELSE GOTO 70
60 GOTO 100
70 IF A>B THEN GOTO 80 ELSE GOTO 90
80 B= B + 1; GOTO 40
90 B= B - 1; GOTO 40
100 END

DESARROLLO ESTRUCTURADO
* Define  el punto de partida donde se pasa de la construcción de programas de una forma artesanal a una que sigue unos métodos de ingeniería.
* El termino se introdujo a finales de los 60 

Programación Estructurada
El enfoque de desarrollo estructurado comenzó con la programación.

Diseño Estructurado
Estaban afectadas por:
           - Era Monolíticas: Se tenia que leer todas las especificaciones para entender el proyecto.
           - Era Redundantes: Se repetía la misma información en partes diferentes del documento.
           - Era Ambiguas: El enfoque de requisitos se interpretaba diferente por cada usuario.
           - Imposible de mantener: Cuando se finalizaba el proceso terminaban obsoletas.

Especificaciones Funcionales
           - Gráficas: Compuesta por diagramas, apoyados en técnicas textuales.
           - Particionadas: Leer de porciones independientes las especificaciones.
           - Minimamente redundantes: De forma que los cambios afectan a una parte de las especificaciones.

DESARROLLO ORIENTADA A OBJECTOS
*La esencia del desarrollo orientado a objetos la identificación y organización de conceptos del dominio de la aplicación y no tanto de su representación final en un lenguaje de programación.
* El paradigma de orientada a objectos trata los procesos y datos de forma conjunta.
* Comienza con los lenguajes de programación LOO en los que se daba énfasis a la abstracción de datos para los que se adjuntaba un conjunto de operaciones.
* Por otra parte los conceptos de técnicas estructurada han servido de base para muchas de las metodologías.


S4 TP D - clases y Objectos en Visual Basic Access

CLASES Y OBJECTOS EN VBA

QUE ES VISUAL BASIC 
- Es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo que facilito en cierta medida la programación misma. La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte hasta en Marzo de 2008. 
- Provee facilidades para el desarrollo de aplicaciones de bases de datos usando Data Access Objects, Remote Data Objects o ActiveX Data Objects.

QUE ES ACCESS
- Microsoft Access es un sistema de gestión de base de datos incluido en el paquete ofimático denominado Microsoft Office. Igualmente, es un gestor de datos que recopila información relativa a un asunto o propósito particular, como el seguimiento de pedidos de clientes o el mantenimiento de una colección de música, etc. Esta pensado recopilar datos de otras utilidades (Excel, SharePoint, etc.) y manejarlos por medio de las consultas e informes.

¿Para qué nos sirve Access? 
- Sirve para crear bases de datos, las cuales se utilizan para realizar tareas de administración de datos como por ejemplo almacenar, recuperar y analizar los datos acerca de pedidos y clientes.

CLASES
* Una clase define las características abstractas de algo (objeto), incluyendo las características (sus atributos y propiedades) y lo que ese algo puede hacer (sus comportamientos o métodos o funciones). * Por ejemplo, una clase Perro consistiría en rasgos comunes a todos los Perros, por ejemplo raza, color del pelaje, etc... las clases proveen modularidad y estructura en un programa orientado a objetos.
* Una clase debería típicamente ser reconocible por una persona sin conocimientos de programación pero relacionada con el dominio del problema, dado que las características de la clase deberían tener sentido en el contexto. 
* También, el código de una clase debería ser relativamente auto-contenido. Generalmente, las propiedades y métodos de una clase son llamados miembros.

Para crear una clase en visual Basic debemos utilizar la palabra reservada Class seguida den nombre de dicha clase a construir:

                       Class Cliente
                                          Instrucciones
                     End Class

*  Por lo tanto, todo lo que se conforme como instrucciones estará encapsulado en la Clase Cliente.

*Creación de una clase Cliente con algunos elementos encapsulados:

                      Class Cliente 
                                Public Nombre As String 
                                Public Sub MostrarNombre() 
                                        MsgBox("El nombre del cliente: ", Nombre) 
                                End Sub 
                      End Class

Para poder utilizar valores a las propiedades o variables que define la clase y además, utilizar los procedimientos y funciones encapsuladas debemos crear un Objeto Cliente:



OBJECTOS

* Una instancia particular de una clase. La clase Perro define a todos los posibles perros al listar las características que ellos pueden tener; el objeto Lassie es un perro particular, con versiones particulares de las características.
* Un perro tiene pelaje, Lassie tiene pelaje marrón y blanco. En la jerga de la programación, el objeto Lassie es una instancia de la clase Perro. 
* El conjunto de valores de los atributos para un objeto particular se llama estado.

La clase:
                       Class Cliente
                                   Public Nombre As String
                                   Public Sub MostrarNombre()
                                              MsgBox("El nombre del cliente: “ & Nombre)
                                   End Sub
                      End Class

El objeto:
                           Dim Cli As new Cliente( )

* Para acceder a las instrucciones mediante el objeto :

                                       Cli.Nombre = “Cesar Fernandez
                                   Cli.MostrarNombre ( )

domingo, 1 de septiembre de 2019

S2 MD D - Atributos de Calidad de Software

ATRIBUTOS DE LA CALIDAD DE SOFTWARE

Atributos de calidad (también cualidades del software) son características no funcionales que se consideran deseables en un sistema de software. Sin embargo, no todos los sistemas de software deben tener en cuenta todos estos atributos o cualidades, algunas serán más importantes que otras dependiendo del sistema, y ciertamente no se pueden maximizar todas a la vez.



CORRECTITUD, CONSISTENCIA, COMPLETITUD 

Correctitud:Ausencia de errores. Consistencia:Coherencia entre las operaciones que realiza el usuario. Completitud:Capacidad del sistema para realizar todas las operaciones que usuario podría requerir.

SIMPLICIDAD

Simplicidad es la ausencia de complejidad o dificultades. En el desarrollo de software puede resultar de interes diferenciar entre complejidades esenciales y accidentales.
  • Complejidad esencial: las que son propias o intrínsecas al problema que se desea solucionar. Es natural que un problema complejo tenga soluciones con algún grado de complejidad.
  • complejidades accidentales: aquellas que surgen por malas decisiones de diseño. Naturalmente, se intentará evitar diseñar soluciones que sean más complejas de lo que el problema requiere.

FLEXIBILIDAD

También llamada modificabilidad, es la capacidad para admitir cambios que pueden ser necesarios tanto por un cambio de requerimientos como por la detección de un error que debe ser corregido. 
Una variante de flexibilidad es la extensibilidad, es decir, la posibilidad de agregar nuevos requerimientos.

ESCALABILIDAD

Es la capacidad de un sistema para trabajar con diferentes cantidades de trabajo, como cambios en el volumen de datos o flujo de pedidos. Con frecuencia se estudia la escalabilidad de un sistema hacia arriba, es decir, se mide la capacidad del sistema para manejar, por ejemplo, un mayor volumen de datos. La medida de escalabilidad no requiere que el sistema funcione intacto en las nuevas condiciones, en cambio es una medida de la facilidad con la que se lo puede adaptar al nuevo entorno, por ejemplo, si está preparado para que yo agregue un servidor más a un cluster eso se podría considerar escalable.

CONTRUCTIVILIDAD

La constructibilidad es una medida inversa a la complejidad de la construcción del sistema. Las decisiones de diseño pueden afectar severamente la dificultad para construir ese sistema.

USABILIDAD

La facilidad con la que el sistema o componente se puede utilizar o bien aprender a utilizar.

SEGURIDAD

Algunas visiones de la seguridad son:
  • Comprobar la identidad de las personas que intentan acceder al sistema.
  • Garantizar que sólo las personas específicamente autorizadas pueden ver determinada porción de la información del sistema
  • Garantizar que sólo las personas específicamente autorizadas pueden modificar determinada porcióń de la información del sistema o bien realizar determinadas acciones.

Para mas informacion ve el siguiente video: