jueves, 24 de octubre de 2013

Ingeniería de software : Un enfoque profesional

Roger S Pressman.



                                                           Ingenieria de Software

Este libro lleva más de 20 años en el mercado renovándose con nuevas ediciones, ya va por la 7ª Edición aunque renovada, las ediciones antiguas siguen siendo igualmente válidas en muchos aspectos pues cada nueva edición actualiza un contenido ya bastante completo.

Estas últimas ediciones se renuevan sobre todo en lo referente al aspecto de las aplicaciones web, cada vez más presente en el mercado hoy en día. También se han mejorado y aumentado significativamente los contenidos de UML. Aunque para aprender UML en profundidad recomiendo el libro de sus creadores


jueves, 17 de octubre de 2013

Componentes en .NET: (2ª Parte) Añadir componentes a la barra de herramientas


Mostrando composición y agregación en UML


En la 1ª Parte aprendimos el rombo sólido en el diagrama UML indica una relación llamada composición en la terminología orientada a objetos. Composición significa que un objeto no puede existir sin otro objeto. Como ejemplo, un coche sin motor no es realmente un coche. Si el motor deja de funcionar, el coche deja de funcionar o necesita por lo menos para obtener un nuevo motor para poner el coche en marcha.

Este diagrama presenta un nuevo elemento de UML, el rombo abierto. El rombo abierto
indica una relación llamada agregación. La agregación implica que un objeto puede utilizar otro objeto, pero se pueden crear sin él: un coche puede tener un conductor, pero sin un conductor sigue siendo un coche.

No necesariamente se debe estar de acuerdo con la asignación de rombos abiertos y cerrados en un diagrama. Los diseñadores a menudo no están de acuerdo sobre las diferencias entre la composición y agregación.

viernes, 11 de octubre de 2013

Componentes en .NET: (1ª Parte) Crear una aplicación genérica


En los capítulos anteriores, aprendimos sobre las estructuras básicas de los programas de orientación a objetos en .NET, incluyendo campos, propiedades, métodos, constructores, eventos y herencia. Ahora tenemos una base sólida para el diseño de proyectos orientados a objetos. Es hora de usar este conocimiento para pensar  cómo desarrollar las clases que se han creado en el Visual Studio. NET. Deseamos crear objetos que sean fáciles de usar para ello podemos usar componentes.

Componente. Una parte reemplazable, casi independiente y no trivial de un sistema que cumple una función clara en el contexto de una arquitectura bien definida.

Aquí hay información adicional sobre componentes:



viernes, 4 de octubre de 2013

Pruebas básicas de comunicaciones

Aquí se presentan las tres pruebas básicas para comprobar las comunicaciones de un equipo con otro cualquiera de una red.

Para ver los datos del propio equipo  abrimos el editor de comandos del sistema, tecleando cmd en el cuadro de búsqueda:

cómo ejecutar la aplicación comand

Esto nos abre una ventana similar a las antiguas de comandos de MS-DOS.

ventana de comandos MS-DOS

 Tecleamos Ipconfig para ver los datos de la Ip de nuestro equipo.

ejecución del comando ipconfig

 También podemos probar  si hay conexión con otro equipo tecleando ping y la IP a comprobar:

ejecución del comando ping

En este caso la conexión ha fallado, podemos hacer un ping continuo con: ping ip –t para ver todas las opciones ponemos ping /? Y sale una pantalla de ayuda mostrando todas las opciones del comando.

ejecución ayuda comando ping

Para rastrear la conexión desde nuestro equipo hasta el equipo de destino usamos tracert.
Nos devuelve las diferentes máquinas y redes por las que pasa

ejecución del comando tracert


Estas son las opciones de Tracert

ejecución ayuda tracert




lunes, 30 de septiembre de 2013

Liberar espacio en disco con SQL Server

Algunas veces las bases de datos se hacen demasiado grandes y se "comen" todo el disco duro disponible, pero es fácil liberar espacio sin perder información de la Base de Datos.

Las bases de datos de SQL Server disponen de dos tipos de archivos: el de datos .mdf y el de transacciones .ldf

Este último contiene un histórico de todas las transacciones que se han hecho en la base de datos, por tanto puede hacerse muy grande y ocupar innecesariente casi todo nuestro disco duro. 

Liberar espacio en disco con SQL server

miércoles, 25 de septiembre de 2013

The Unified Modeling Language User Guide (UML 2.0)

Grady Booch
James Rumbaugh
Ivar Jacobson

Publisher: Addison Wesley
ISBN: 0-201-57168-4, 512 pages


Desde hace varios años, el Lenguaje de Modelado Unificado (UML) ha sido un estándar para visualizar, especificar, construir y documentar programas de software. La reciente estandarización de UML 2.0 ha ampliado el alcance y la viabilidad de este método. Su expresividad permite a los usuarios modelar todo el proceso de creación de software, desde los primeros bocetos hasta los últimos detalles de programación. Lo que permite modelar desde los programas más sencillos hasta complejos sistemas de información basados en web o complejas aplicaciones de  tiempo real.

The Unified Modeling Language User Guide



En esta revisión tan esperada de la guía más vendida y definitiva para el uso del UML, está escrita por los propios creadores de este método o lenguaje y proporciona un tutorial para los aspectos básicos en un formato de dos colores diseñado para facilitar el aprendizaje.

Comienza con una vista general de UML y va introduciendo conceptos nuevos de forma gradual en cada capítulo. Contiene múltiples casos complejos de cada tipo en una gran variedad de dominios, los estudia en profundidad y con contenido actualizado.

Hay que destacar la inclusión de un nuevo capítulo para  componentes y su estructura interna, incluyendo nuevas capacidades para la creación de diseños encapsulados Nuevos detalles y cobertura actualizada sobre interface, colaboraciones y perfiles UML, nuevos diagramas de actividad, y muchos otros cambios introducidos por la especificación UML 2.0

The Unified Modeling Language User Guide (UML 2.0)

Con este libro el lector adquiere un conocimiento completo de la técnica UML además:
Entenderá lo que es UML y lo que no es, y por qué es relevante para el desarrollo de los sistemas de uso intensivo de software.
Dominará el vocabulario, las reglas y los modos de UML
Aprenderá a aplicar UML a una serie de problemas  comunes.


Una breve historia del UML


Los lenguajes de modelado orientado a objetos aparecieron a comienzos de la década de 1980 como metodologías enfrentadas a un nuevo género de lenguajes de programación: Los lenguajes Orientados a Objetos con aplicaciones cada vez más complejas, el número de métodos orientados a objetos aumentó de menos de 10 a más de 50 entre 1989 y 1994. Por lo que hubo que buscar una metodología común que satisfaciera todas las necesidades que solventaba cada método distinto de los aparecidos.

Cada método de los citados tenía sus puntos fuertes y débiles, por ejemplo el método propuesto por  Booch es útil durante las fases de diseño y construcción de los proyectos, Oose proporcionó un excelente método para los casos de uso como una forma de expresar los requisitos de captura , análisis , y diseño de alto nivel. Pero había muchas similitudes entre muchos de estos métodos gráficos. A mediados de la década de 1990, Grady Booch (Rational Software Corporation) , Ivar Jacobson ( Objectory ) y James Rumbaugh (General Electric) comenzaron a adoptar en sus métodos ideas de otros métodos, por lo que se estos métodos fueron reconocidos como los principales métodos orientados a objetos en el mundo. Esto motivó a los autores a crear un lenguaje de modelado unificado unificando de estos métodos que ya habían evolucionado y los autores fusionaron.

La elaboración de un lenguaje para su uso en el análisis y diseño orientado a objetos no es diferente a diseñar un lenguaje de programación.
Se trató de limitar el problema, por ejemplo pensando si el nuevo lenguaje debía abarcar la especificación de requisitos  o si permitiría la programación visual.  También hubo que encontrar un equilibrio entre expresividad y sencillez.
Se trató de no cambiar excesivamente los métodos existentes para no confundir a los usuarios existentes; La definición UML se esfuerza por sacar lo mejor de las ventajas de cada una de los sistemas que toma.
En junio de 1996 se publicaron los documentos de UML 0.9. Muchas organizaciones vieron en este método algo estratégico para su negocio y se unieron al proyecto con el fin de mejorarlo lo que desembocó en UML 1.0 bien definido , expresivo , potente y aplicable a una amplia gama de dominios de problemas .
UML 1.0 se presentó para la normalización de la Object Management Group ( OMG ) en enero 1997, para formalizar la Especificación UML y para integrar con otros esfuerzos de estandarización. En noviembre de 1997 se publicó una versión revisada del UML (versión 1.1 ) y una versión UML 1.2 en Junio de 1998 y UML 1.3 en otoño de ese mismo año. A estas le ha seguido la revisión mayor UML 2.0 que fue adoptada por el OMG en 2005.

diagrama de clases UML

Este es el índice de capítulos del Libro


La estructura estándar de cada capítulo es esta:
Getting Started
Terms and Concepts
Common Modeling Techniques
Hints and Tips

Unified Modeling Language User Guide, The

Preface
Goals
Audience
How to Use This Book
Organization and Special Features
A Brief History of the UML
Acknowledgments
For More Information
I: Getting Started
I: Getting Started

1. Why We Model
The Importance of Modeling
Principles of Modeling
Object-Oriented Modeling

2. Introducing the UML
An Overview of the UML
A Conceptual Model of the UML
Architecture
Software Development Life Cycle

3. Hello, World!
Key Abstractions
Mechanisms
Components
II: Basic Structural Modeling

4. Classes
5. Relationships
6. Common Mechanisms
7. Diagrams

8. Class Diagrams
III: Advanced Structural Modeling
III: Advanced Structural Modeling

9. Advanced Classes
10. Advanced Relationships
11. Interfaces, Types, and Roles
12. Packages
13. Instances

14. Object Diagrams
IV: Basic Behavioral Modeling
IV: Basic Behavioral Modeling

15. Interactions
16. Use Cases
17. Use Case Diagrams
18. Interaction Diagrams

19. Activity Diagrams
V: Advanced Behavioral Modeling
V: Advanced Behavioral Modeling

20. Events and Signals
21. State Machines
22. Processes and Threads
23. Time and Space

24. Statechart Diagrams
VI: Architectural Modeling
VI: Architectural Modeling

25. Components
26. Deployment
27. Collaborations
28. Patterns and Frameworks
29. Component Diagrams
30. Deployment Diagrams

31. Systems and Models
VII: Wrapping Up
VII: Wrapping Up

32. Applying the UML
Transitioning to the UML

Where to Go Next

A. UML Notation
Things
Relationships
Extensibility
Diagrams

B. UML Standard Elements
Stereotypes
Tagged Values
Constraints

C. Rational Unified Process
Characteristics of the Process
Phases and Iterations

Glossary

Referencias: