Archive for the ‘Programacion’ Category
Ciclo de Vida en el desarrollo de software
Fases de ciclo de vida soportadas y lo que deben aportar cada una de estas:
(también se le conoce como modelo en cascada)
Planificación:
- Análisis de viabilidad
- Organización y planificación del proyecto
Diseño:
- Modelo de datos
- Modelo de procesos
- Diseño general
- Diseño detallado
Implantación:
- Programación de módulos
- Pruebas de módulos
- Integración
- Pruebas de integración
- Pruebas de aceptación
Mantenimiento y actualización:
- Mantenimiento ligero
- Mantenimiento pesado
- Actualización
- Gestión de la configuración
Desventajas
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala implementación del modelo, lo cual hace que lo lleve al fracaso.El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no esté completo no se opera. Esto es la base para que funcione bien.
Cualquier error de diseño detectado en la etapa de prueba conduce necesariamente al rediseño y nueva programación del código afectado, aumentando los costos del desarrollo.
Vocabulario ágil y artefactos
Iteraciones (sprints)
Como un método de Administracion de Proyectos, Agile se centra en la liberacion de características – o resultados – tan a menudo como sea posible. Como parte de la definición, el entregable debe ser completado, probado, depurado y utilizable.
el núcleo de cualquier método ágil son las iteraciones. Iteraciones son de una una longitud fija de tiempo, de 1 a 4 semanas (por lo general 2) en el que tratamos de lograr una lista de cosas o proporcionar ciertas características.
La idea detrás de las iteraciones es para darle al equipo un objetivo a corto plazo que crea un sentido de urgencia y un sentimiento de realización, una vez que se haya completado – un cóctel adictivo. A corto plazo, objetivos realizables que ayudan a mantener la moral alta.
Sprint Backlog:
El sprint backlog se compone de un conjunto de elementos de alta prioridad elegido del Product backlog por parte del equipo. Una vez que el equipo ha seleccionado y estimado los artículos, hay un compromiso por parte de ellos para finalizarlas dentro de la duración del Sprint, con el fin de que sea un éxito.
El objetivo de un sprint es liberar o poner en práctica uno (o muchos) característica de trabajo(s). El equipo para ello se repartira las user-stories en tareas más pequeñas más manejables para su liberación. Normalmente, estas tareas se llevará un máximo de 16 horas para terminarlas.
User-stories (o artículos)
Agile es muy orientado al cliente. Por lo tanto, las características son traducidas en User-stories. Una historia explica cómo una característica sera usada y darle el contexto. La forma correcta de escribir historias es empezar por:
Como [role], quiero [objetivo / necesidad / deseo] (opcional: para que [los beneficios])
ejemplo: como usuario, quiero buscar a mis clientes por sus nombres y apellidos.
ejemplo: como un usuario no administrativo, quiero modificar mi propio horario, pero no los horarios de otros usuarios.
El propietario del producto es responsable de escribir claro y conciso, User-stories por lo general después de “INVEST” method: Independent, Negotiable, Valuable, Estimable, Small, Testable.
(Independiente, Negociable, Estimable, Valuable, Pequeño, comprobable.)
instalar soporte mssql en linux+apache+php
desde una terminal y teniendo el perfil de root
1 | sudo -i |
1 | apt-get install build-essential |
1 | apt-get install php5-dev dpkg-dev freetds-dev |
1 | cd /usr/local/src/ |
1 | wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz |
1 | tar xvzf freetds-stable.tgz |
1 | cd freetds-0.82 |
1 | ./configure -with-tdsver=8.0 --with-ssl --enable-msdblib --enable-dbmfix --with-gnu-ld |
1 | make && make install |
1 | mkdir /usr/local/src/freetds-0.82/lib |
1 | touch /usr/local/src/freetds-0.82/include/tds.h |
1 | touch /usr/local/src/freetds-0.82/lib/libtds.a |
1 | cd /usr/local/src/ |
1 | apt-get source php5 |
1 | cd php5-5.x.x/ext/mssql/ |
1 | export PHP_PREFIX="/usr" |
1 | phpize5 |
1 | ./configure --with-mssql=/usr/local/src/freetds-0.82 --with-php-config=$PHP_PREFIX/bin/php-config5 |
1 | make |
Cuando se ejecuta phpize5 se muestra “Zend Module Api No:” en mi caso tiene valor 20060613
ejecuto “dir /usr/lib/php5″ entre los directorios listados esta 20060613+lfs ahi estan los
modulos.
1 | nano /etc/php5/apache2/php.ini |
buscamo la seccion “Dynamic Extensions” agregamos la linea
extension=mssql.so
Guardamos el archivo
1 | /etc/init.d/apache2 restart |
luego si hacemos un phpinfo() ya debemos tener activo el modulo mssql
a mi me funciono para poder conectarme desde un server con linux Ubuntu 11.04 hacia un server Windows 2008 con MS SQL server 2008,
hasta ahora solo he hecho pruebas con lectura de tablas que por ahora es todo lo que necesito
fuente :Mssql driver en Linux
Instalar SVN en linux ubuntu 11.04
primero instalamos apache
1 | sudo apt-get install apache2 |
luego instalar los siguientes paquetes :
1 | sudo aptitude install subversion libapache2-svn |
En el directorio /etc/apache2/mods-enabled puedes ver como se han creado enlaces a varios ficheros de los cuales ahora mismo nos interesa dav_svn.conf. Lo vamos a editar para hacer algunas modificaciones para crear un repositorio llamado pruebas.
Localizamos las líneas donde se define el repositorio por defecto svn:
1 2 3 4 | # <location URL> ... </location> # URL controls how the repository appears to the outside world. # In this example clients access the repository as http://hostname/svn/ #<location /svn> |
descomentamos la ultima linea y “/svn” indicara el nombre de nuestro repositorio, por lo que colocamos el que deseemos nosotros:
1 2 3 4 | #<location URL> ... </location> # URL controls how the repository appears to the outside world. # In this example clients access the repository as http://hostname/svn/ <location /pruebas-svn> |
Tal y como se indica, descomentamos para activar el repositorio:
1 2 | # Uncomment this to enable the repository, # DAV svn |
Modificamos también las líneas:
1 2 | # Set this to the path to your repository # SVNPath /var/lib/svn |
Para establecer el path del repositorio:
1 2 | # Set this to the path to your repository SVNPath /var/lib/svn/pruebas-svn |
No olvidemos descomentar la última línea. Ya que es donde termina el repositorio.
1 | </location> |
Como somos muy ordenados, queremos crear un repositorio por cada proyecto. Así será más sencillo gestionar las políticas de seguridad. Todos estos repositorios se van a crear dentro del directorio /var/lib/svn por lo que tenemos que crearlo previamente.
1 | sudo mkdir /var/lib/svn |
Aunque no es estrictamente necesario, vamos a crear los directorio trunk, tags y branches que servirán para almacenar el código actual, los tag y las posibles ramas que pueda tener nuestro proyecto:
1 2 3 | sudo svn mkdir --message="Setting up the directories..." file:///var/lib/svn/pruebas-svn/trunk sudo svn mkdir --message="Setting up the directories..." file:///var/lib/svn/pruebas-svn/branches sudo svn mkdir --message="Setting up the directories..." file:///var/lib/svn/pruebas-svn/tags |
Dado que vamos a acceder a este repositorio a través de apache, tendremos que asignarle el propietario adecuado:
1 | sudo chown www-data:www-data /var/lib/svn/pruebas-svn -R |
Sólo nos queda reiniciar el servidor Apache para que vuelva a leer la configuración actualizada:
1 | sudo /etc/init.d/apache2 restart |
Si abres un navegador y accedes a http://localhost/pruebas-svn podrás ver el contenido del repositorio pruebas.
o cambia localhost por la ip asignada a tu server, para poder verlo desde otra estación
fuente: http://www.clubdesarrolladores.com/tips/mostrar/16-instalar-servidor-svn-en-ubuntu
La Programación es Dificil
To put it all a bit differently: Programming is hard work, and programmers need motivation. If you want them to be motivated by the idea, you have sell the idea. If you want to motivate them with money, tell them about the money, and give them a reason to trust that you actually have it.
La Programación es un trabajo difícil, y los programadores necesitan motivación.
si quieres que estén motivados por la idea, tienes que vendérsela, si quieres que estén motivados con el dinero, diles acerca del dinero, y dales una razón para que te crean que lo tienes.
visto en KVR