Cesar Systems

Herramientas Informaticas

Aplicaciones web experimentan más de 2,700 ataques por año

La media anual de incidentes de ataques a las 50 aplicaciones web monitoreadas fue de 274 veces por año, uno de los objetivos fue atacado más de 2,700 veces.

 

clip_image001

 

De acuerdo a un nuevo reporte de Imperva, el incidente de ataque promedio en las aplicaciones web observadas, duró 7 minutos y 42 segundos, pero el incidente de ataque más duradero fue de una hora y 19 minutos. Inyección SQL siguie siendo el vector de ataque más popular.
“Estos hallazgos indican una diferencia significativa entre un incidente promedio de ataque a aplicaciones web y el de mayor alcance”, dijo Amichai Shulman, Director de Tecnologías de Información en Imperva. “Creemos que las organizaciones que están preparadas solamente para un incidente promedio de ataque pueden ser seriamente afectadas por incidentes de ataque más grandes”.

El Reporte de Ataques a Aplicaciones Web (WAAR por sus siglas en inglés), creado como parte de la ya puesta en marcha Iniciativa de Inteligencia Hacker de Imperva, ofrece una visión de tráfico malicioso de ataques reales a 50 aplicaciones web en un periodo de seis meses, de diciembre de 2011 a mayo de 2012.

Imperva monitoreó y categorizó numerosos ataques individuales a través de Internet, así como ataques dirigidos a diferentes aplicaciones de empresas y de gobierno. El WAAR destaca la frecuencia, tipo y lugar de origen de cada ataque para ayudar a profesionales de la seguridad a priorizar la reparación de las vulnerabiliades.
Datos destacados del reporte incluyen:
SQL sigue siendo el vector de ataque más común: Imperva revisa y condensa las características acumulativas de vectores de ataque a aplicaciones web, incluyendo inyecci?o SQL, cross-site scripting (XSS), RFI y LFI, y observa que la inyección SQL es el ataque más comunmente usado para las 50 aplicaciones web observadas.
Se incrementa la intensidad de los ataques: Las aplicaciones comunmente verán sólo alguna acción de ataque serio aproximadamente cada tercer día y durante pocos minutos, pero los ataques pueden afectar a la aplicación si las defensas están preparadas solo para una intensidad de ataque promedio.
Francia lidera inyección SQL: Como se reportó en el WAAR anterior, la mayoría de las peticiones y ataques se originaron en EUA, países de Europa occidental, China y Brasil. Sin embargo, Francia se ha convertido en el principal origen de ataques de inyección SQL, siendo el volumen de ataque de peticiones originadas en Francia casi 4 veces más grande que el de EUA.
“El campo de batalla en la red parece mucho más una misión de protección de la frontera que una guerra mundial; la mayor parte del tiempo pasan pocas cosas, pero una que otra vez se presenta un estallido de ataques”, dijo Shulman. “Independientemente de la frecuencia de ataques y periodos de paz, creemos que las organizaciones necesitan estar preparadas para estas ráfagas de actividad durante incidentes de ataque”.

El reporte completo se encuentra disponible (en inglés) aquí.

Fuente: NetSecurity JS

Aplicaciones Web: nueva vulnerabilidad para la delincuencia informática

Las aplicaciones comunes incluyen correo electrónico, ventas en línea, subastas en línea, redes sociales, wikis, así como muchas otras funciones.

clip_image001

Durante una charla con Mandeep Khera, director ejecutivo de marketing de Cenzic Inc., comentó que según Cenzic Inc. y el Instituto Ponemon, 73% de las empresas tienen aplicaciones web inseguras, las cuales han sido vulneradas por lo menos una vez en los últimos 24 meses, sin embargo, las empresas gastan más en café al año que lo que gastan en la seguridad de sus aplicaciones web. Estas empresas se fían de sus firewalls de red para proteger su sitio web, pero esto es como usar un escudo de cartón en una lucha a espada.

Mandeep preguntó, “Si usted supiera que los ladrones se escabullen repetidamente a través de una puerta rota, ¿no le gustaría reparar esa puerta?”. Sin embargo, la mayoría de estas empresas prueba menos del 10% de sus aplicaciones contra huecos de seguridad, incluso después de ataques conocidos.

Según Mandeep, “El hacking ofrece buen dinero. El ingreso promedio mensual para un hacker es de $10,000.00 dolares. Y las empresas llevan décadas tratando de poder detener los ataques de estos piratas informáticos y los problemas que crean”. Las empresas tienen que empezar a invertir aún más en lo que respecta a la seguridad en línea.

Esto es lo que nosotros como consumidores podemos hacer para protegernos a nosotros mismos en línea:

  • Cuidar debidamente la observación de los sitios y asegurarse de que no sean falsos.
  • No hacer clic en los anuncios o ventanas emergentes.
  • Permitir ventanas emergentes sólo para sitios de confianza.
  • Actualizar su navegador a la última versión.
  • Buscar a través de Google para ver si un sitio es generalmente seguro.
  • Utilizar un número virtual de tarjeta de crédito que pueda caducar de inmediato.
  • Ejecutar software anti-spyware frecuentemente.
  • Utilizar un software de limpieza para eliminar las cookies.
  • Utilizar un buen anti-virus en su equipo.

Fuente: Computer Crime Research Center  JS/GC

Ejemplo de validación de formularios con JQuery

 

Código fuente del formulario

Descargar JQuery traducidos Aqui

   1: <html>

   2:     <head>

   3:         

   4:         

   5:         <?php $jjq = base_url()."js/jquery-latest.js";

   6:               $jja = base_url()."js/jquery.validate.js";

   7:     

   8:     echo "&lt;script src='$jjq'></script>
   1: ";

   2:     echo "<script src='$jja'>

   1: ";

   2:     

   3:     ?>

   4:  

   5:         <style type="text/css">

   6:  

   7:             * { font-family: Verdana; font-size: 96%; }

   8:             label { width: 10em; float: left; }

   9:             label.error { float: none; color: red; padding-left: .5em; vertical-align: top; }

  10:             p { clear: both; }

  11:             .submit { margin-left: 12em; }

  12:             em { font-weight: bold; padding-right: 1em; vertical-align: top;                     }

  13:         

  14:               

  15: 

  16:  

  17: function validar(esto){ 

  18: valido=false; 

  19: for(a=0;a<esto.elements.length;a++){ 

  20: if(esto[a].type=="checkbox" && esto[a].checked==true){ 

  21: valido=true; 

  22: break 

  23: } 

  24:  

  25: } 

  26: if(!valido){ 

  27: alert("Chequee una casilla!");return false 

  28: } 

  29:  

  30: }  

  31:  

  32:  

</script>

   1:   

   2:             <script type="text/javascript">

   3:  

   4: $(document).ready(function(){

   5: $("body div:last").remove();

   6: });

</script>

   1:  

   2:  

   3:          

   4:   $(document).ready(function(){

   5:  $("#registro").validate({

   6:   rules: {

   7:     nom_usu: {

   8:       required: true,

   9:       maxlength: 25,

  10:       minlength:    3

  11:     },

  12:     

  13:     login: {

  14:       required: true,

  15:        maxlength: 2,

  16:       minlength:    2,

  17:       number: true

  18:     },

  19:     

  20:     psw: {

  21:       required: true,

  22:        maxlength: 10,

  23:       minlength:    6,

  24:       number: true,

  25:       equalTo: "#psw1"

  26:  

  27:     },

  28:     

  29:     psw1: {

  30:       required: true,

  31:        maxlength: 10,

  32:       minlength:    6,

  33:       number: true

  34:  

  35:     },

  36:     

  37:     acceso: {

  38:       required: true

  39:     },

  40:     

  41:     

  42:     status: {

  43:       required: true

  44:     }

  45:   }

  46: });

  47:  

  48:   });

  49:   

</script>

   9:   

  10:   <style>

  11:       label{

  12:         width:150px;

  13:         display: inline-block;

  14:     }

  15:   </style>

  16:   

  17: </head>

  18: <body>

  19:   <div id="container" align="center">

  20:   

  21:   

  22:   <form id="registro" name="registro" onclick="return validar(this)" action="&lt;?=base_url()?>index.php/users/addUser" method="POST">

  23:     

  24:     

  25:     <b><label for="login">Usuario:</label></b>

  26:     <input type="text" name="login" id="login" onchange=""/> <br />

  27:     

  28:     

  29:     <b><label for="nom_usu">Nombre:</label></b>

  30:     <input type="text" name="nom_usu" id="nom_usu"/><br />

  31:     

  32:     <b><label for="psw">Contraseña</label></b>

  33:     <input type="password" name="psw" id="psw" /><br />

  34:     

  35:     

  36:     <b><label for="psw1">Repite contraseña</label></b>

  37:     <input type="password" name="psw1" id="psw1"/><br />

  38:     

  39:     <b><label>Tipo de usuario</label></b>

  40:     <select name="acceso" id="acceso">

  41:         <option value="0">Registrado</option>

  42:         <option value="1">Administrador</option>

  43:     

  44:     </select>

  45:     <br />

  46:     <br />

  47:     

  48:     <b><label>Estado de usuario</label></b>

  49:     Activado<input type="radio" name="status" id="status" value="1"/>

  50:     Desactivado<input type="radio" name="status" id="status" value="0"/>

  51:     

  52:     <br />

  53:     <br />

  54:     <br />

  55:     

  56:     

  57:     <b><label for="local">Llamadas locales</label></b>

  58:     <input type='checkbox' name="local" id="local" value='1' /> 

  59:     <br />

  60:     <br />

  61:     

  62:     <!--

  63:     Llamadas locales

  64:     Activadas

  65:     Desactivadas

  66:     

  67:     
-->

  68:     

  69:     <b><label for="ld_nacional">Llamadas a larga distancia nacional</label></b>

  70:     <input type='checkbox' name="ld_nacional" id="ld_nacional" value='1' />

  71:     <br />

  72:     <br />

  73:     <br />

  74:     <!--

  75:     Llamadas a larga distancia nacional

  76:     Activadas

  77:     Desactivadas

  78:     

  79:     

  80:     
-->

  81:     

  82:     <b><label for="cel_local">Llamadas a celular <br />local   </label></b>

  83:     <input type='checkbox' name="cel_local" id="cel_local" value='1' />

  84:     <br />

  85:     <br />

  86:     <br />

  87:     

  88:     <!--

  89:     Llamadas a celular 
local

  90:     Activadas

  91:     Desactivadas

  92:     

  93:     

  94:     
-->

  95:     

  96:     

  97:     <b><label for="cel_ld">Llamadas a celular a larga distancia</label></b>

  98:     <input type='checkbox' name="cel_ld" id="cel_ld" value='1' />

  99:     

 100:     <br />

 101:     <br />

 102:     <br />

 103:     

 104:     <!--

 105:     Llamadas a celular a larga distancia

 106:     

 107:     Activadas

 108:     Desactivadas

 109:     

 110:     

 111:     
-->

 112:     

 113:     <b><label for="internacional">Llamadas internacionales</label></b>

 114:     <input type='checkbox' name="internacional" id="internacional" value='1' />

 115:     <br />

 116:     <br />

 117:     <br />

 118:     <!--

 119:     Llamadas internacionales

 120:     Activadas

 121:     Desactivadas

 122:     

 123:     

 124:     

 125:     -->

 126:     

 127:  

 128:     <input type="submit" name="submit" value="Registrar"/><br />

 129:     

 130:     

 131:     

 132:     </form>

 133: </div>

 134: </div>

 135:  

 136:  

 137: </body>

 138: </html>

Vistas MySQL y Funciones en CodeIgniter

Vistas

¿Para que sirven?

Una vista en la base de datos MySQL Sirve para representar o interpretar los datos que se encuentran en las filas de las tablas.

Por ejemplo:

Cuando una columna guarda puros datos booleanos de ceros y unos al momento de realizar la consulta el usuario tiene que saber que significa estos valores, como cuando se guarda el tipo de usuario de un sistema que son “Administrador y Normal”, al administrador en la tabla se guarda como 1 y al usuario con el 0.

Código para crear la vista

 
   1: CREATE VIEW PRUEBA AS (

   2: select 

   3:     `user_control`.`ld_nacional` AS `ld_nacional`,

   4:     `user_control`.`cel_local` AS `cel_local`,

   5:     `user_control`.`internacional` AS `internacional`,

   6:     `user_control`.`cel_ld` AS `cel_ld`,

   7:     `user_control`.`local` AS `local`,

   8:     `user_control`.`nom_usu` AS `nom_usu`,

   9:     `user_control`.`id_usu` AS `id_usu`,

  10:     `user_control`.`login` AS `login`,

  11:     `user_control`.`psw` AS `psw`,

  12:     if((`user_control`.`acceso` = 0),'Normal','Administrador') AS `acceso`,

  13:     if((`user_control`.`status` = 0),'Desactivado','Activado') AS `status` 

  14:   from 

  15:     `user_control` 

  16:     )

Como pueden ver en los campos “acceso y status” hay un IF donde dice que si es igual a 0 mandara el valor de Normal y si es 1 mandara Administrador, en caso de status, si es igual a 0 pintara como Desactivado y si no es igual a 0 pintara como Activado.

Código tabla original

   1: CREATE TABLE `user_control` (

   2:   `id_usu` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,

   3:   `status` int(1) unsigned NOT NULL DEFAULT '1',

   4:   `nom_usu` varchar(25) NOT NULL,

   5:   `login` varchar(4) NOT NULL DEFAULT '0000',

   6:   `psw` varchar(40) CHARACTER SET latin1 COLLATE latin1_spanish_ci NOT NULL,

   7:   `local` tinyint(4) NOT NULL DEFAULT '0',

   8:   `ld_nacional` tinyint(4) NOT NULL DEFAULT '0',

   9:   `cel_local` tinyint(4) NOT NULL DEFAULT '0',

  10:   `cel_ld` tinyint(4) NOT NULL DEFAULT '0',

  11:   `internacional` tinyint(4) NOT NULL DEFAULT '0',

  12:   `acceso` tinyint(4) NOT NULL DEFAULT '0',

  13:   PRIMARY KEY (`id_usu`),

  14:   UNIQUE KEY `login` (`login`)

  15: ) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8;

 

 

Ahora la función en el modelo para cargar los datos, el archivo se llama usersModel.php

   1: public function getUsers(){

   2:         $data=$this->db->get('vista');

   3:         if($data->num_rows() >0){

   4:             return $data;

   5:         }else{

   6:             return false;

   7:             }

   8:     }

 

Ahora se manda llamar la función del modelo con la función getUsers desde el controlador, el archivo se llama Welcome.php

   1: public function getUsers(){

   2:         

   3:         if(isset($_SESSION['usuario'])){

   4:         //GUARDA EN LA VARIABLE $USERS TODOS LOS USUARIOS

   5:         $data['users'] = $this->usersModel->getUsers();

   6:     

   7:         $data['principal']="listusers.php";

   8:         

   9:                 //SE ASIGNA QUE PAGINA SE CARGAR PARA VISUALIZAR LOS DATOS

  10:                 $this->load->vars($data);

  11:                 $this->load->view('plantilla');

  12:         }else{

  13:         echo " alert('Acceso restringido')";

  14:         $data['principal']="acceso.php";

  15:         

  16:                 $this->load->vars($data);

  17:                 $this->load->view('plantilla');

  18:         }

  19:     }

 

Les dejo las vistas de la plantilla y la lista de usuarios por si la necesitan

 

 

listuser.php

   1:  

   2: <?php

   3:  

   4:  

   5: $eliminar = base_url()."imagenes/eliminar.fw.png";

   6: $actualizar = base_url()."imagenes/modificar.png";

   7:     

   8: function estadoImg($edo){

   9:     $palomita = base_url()."imagenes/v.fw.png";

  10:     $x = base_url()."imagenes/eliminar.png";

  11:     if($edo==1){

  12:         return "<img src=".$palomita.">";

  13:     }

  14:     else{

  15:         return "<img src=".$x.">";

  16:     }

  17: }

  18:  

  19:  

  20:  

  21: ?>

  22:         <script type="text/javascript">
   1:  

   2:         <!--

   3:         

   4:         function confirmacion(id) {

   5:         var answer = confirm("Esta seguro que desea eliminar")

   6:         if (answer){

   7:         alert("Ha confirmado eliminar")

   8:         location.href="deleteUserId/"+id

   9:         }

  10:         else{

  11:         alert("Cancelado")

  12:         }

  13:     }

  14:     

  15:     function actualizar(id) {

  16:         

  17:         location.href="updateUserId/"+id

  18:         

  19:     }

  20: //-->

</script>

  23:  

  24: <body>

  25:     

  26: <div id="container">

  27:  

  28:     <div id="body" align="center">

  29:         <h3>Mis Usuarios son</h3>

  30:         <p>hola</P>

  31:         <?php echo $_SESSION['usuario'];?>

  32:         

  33:         <div id="tabla">

  34:          

  35:             <table border="0" align="left">

  36:             

  37:             <form id="b" name="b" action="&lt;?=base_url()?>index.php/welcome/buscarUsuarios" method="POST">

  38:             <td><input type= "text" id="buscar" name="buscar" ></td>

  39:             

  40:             <td><input type="submit" id="arre" name="arre" value="buscar"&lt;/td></tr>

  41:             </form>

  42:             

  43:             

  44:             

  45:             

  46:             </table>

  47:             

  48:             <table border="0" align="center">

  49:             <tr bgcolor="#7362ec" align="center" onfocus="<?php echo "HOLA";?>">

  50:             

  51:             <td><b>Nombre</b></td>

  52:             <td><b>Usuario </b></td> 

  53:             <td><b>Estado de usuario </b></td> 

  54:             <td><b>Nivel de acceso</b></td>

  55:             <td><b>Llamadas locales permitidas</b></td>

  56:             <td><b>Llamadas celular local permitidas</b></td>

  57:             <td><b>Llamadas a celular  permitidas</b></td>

  58:             <td><b>Llamadas nacionales permitidas</b></td>

  59:             <td><b>Llamadas internacionales permitidas</b></td>

  60:             <td><b>Eliminar usuario</b></td>

  61:             <td><b>Modifiacar usuario</b></td>

  62:             </tr>

  63:             <tr>

  64:         

  65:             <?php

  66:             $colorfila=0;

  67:             

  68:             

  69:             if($users!=false){

  70:                foreach($users->result() as $row){

  71:                    if ($colorfila==0){ 

  72:                    $color= "#b5b5b5"; 

  73:                    $colorfila=1; 

  74:                     }else{ 

  75:                    $color="#f7f7f7"; 

  76:                    $colorfila=0; 

  77:                 }    

  78:                 echo "<tr bgcolor='".$color."' align='center'>";

  79:                 echo "<td>";

  80:                 echo "<a href=".base_url()."index.php/welcome/getUserId/".$row->id_usu.">";

  81:                 echo $row->nom_usu."</a> </td> <td>". $row->login."</td>

  82:                 <td> ".$row->status."</td>

  83:                 <td > ".$row->acceso."</td> 

  84:                 

  85:                 <td>". estadoImg($row->local)."</td>

  86:                 <td>". estadoImg($row->cel_local)."</td>

  87:                 <td>". estadoImg($row->cel_ld)."</td>

  88:                 <td>". estadoImg($row->ld_nacional)."</td>

  89:                 <td>". estadoImg($row->internacional)."</td>

  90:                 <td><a href=javascript:confirmacion($row->id_usu)><img src=$eliminar></a></td>

  91:                 <td><a href=javascript:actualizar($row->id_usu)><img src=$actualizar></a></td>";

  92:                 echo "</tr>";

  93:             }

  94:             

  95:         }

  96:         ?>

  97:         

  98:         </table>

  99:         </div>

 100:  

 101:     </div>

 102:  

 103:  

 104: </div>

 105:  

 106: </body>

plantilla.php

   1: <!DOCTYPE html>

   2: <html lang="en">

   3: <head>

   4:     

   5:     

   6:     <meta charset="utf-8">

   7:     <title>Usuarios ITLM</title>

   8:     <?php $estilo = base_url()."css/estilo.css";

   9:           $estiloMenu = base_url()."css/menu.css";

  10:     

  11:     

  12:           $logo = base_url()."/imagenes/logo.jpg";

  13:           $menu= base_url()."/js/menu.js";

  14:           $jjq= base_url()."/js/jquery.js";

  15:           

  16:       

  17:           echo "&lt;link rel='stylesheet' type='text/css' href='$estilo' media='all'>";

  18:           echo "<link rel='stylesheet' type='text/css' href='$estiloMenu' media='all'>";

  19:           echo "<script src='$jjq'></script>
   1: ";

   2:           echo "<script src='$menu'>

</script>";

  20:          

  21:           

  22:          

  23:     ?>

  24:            

  25: </head>

  26:  

  27: <body>

  28: <div align="center">

  29: <?php

  30:  

  31: $this->load->view('encabezado');

  32: $this->load->view($principal);

  33: $this->load->view('pie.php');

  34:  

  35: ?>

  36: </div>

 

Les dejo un video que vi por si se van iniciando al Framework  de CodeIgniter

[youtube http://www.youtube.com/watch?v=jhP6vVc7Yts&hl=en&hd=1]

Mapa mental intercepting filter

intercepting filter

UNIDAD 4. ARQUITECTURA DE PROTOTIPOS EMPRESARIALES

¿QUE ES UN RIESGO PARA UN PROYECTO DE SOFTWARE?

Un riesgo es aquel factor que influye negativamente en el éxito del proyecto. El riesgo en un proyecto de desarrollo de software incluye componentes técnicos y de conocimiento del mismo. Los temas de naturaleza organizacional constituyen los factores dominantes de los riesgos del proyecto, a la vez que son los que se tratan satisfactoriamente en menos de la tercera parte de los proyectos de desarrollo, entre ellos los conflictos entre departamentos, entre usuarios, el cambio del responsable ejecutivo del proyecto, volatilidad del personal, número de unidades de la organización implicadas y proyectos que involucran a múltiples proveedores.

¿CUAL ES LA IMPORTANCIA DE LA GESTION DE RIESGOS?

Para lograr producir aquello que el cliente requiere, en el plazo solicitado y ajustados al presupuesto asignado, se necesita desarrollar un proceso que incluya desde la etapa más temprana la gestión de los riesgos asociados a los requisitos, de forma que se contribuya al mejoramiento gradual del proceso de desarrollo y la gestión de un proyecto de software que logre la satisfacción del cliente.

La identificación y gestión de los riesgos asociados a los requisitos del software, individuales y a grupos de ellos, desde la fase de ingeniería de requisitos puede permitir minimizarlos, evadirlos y controlarlos. El enfrentamiento proactivo de los riesgos que pueden afectar al desarrollo o a la calidad de los requisitos y las acciones para evitarlos, permitirían minimizar problemas que persisten en el desarrollo de software. Son de mayor importancia los riesgos asociados a las principales características de calidad de los requisitos.

¿DEFINE LAS ETAPAS DEL MODELO DE GESTION DE RIESGOS?

· IDENTIFICACION DE RIESGOS

El Tratar de identificar riesgos es un criterio proactivo que busca identificar posibles factores de riesgo y tomar medidas de factores de riesgos y tomar medidas de aseguramiento o planes de contingencia para contrarrestarlos a ellos y a sus efectos.

Al realizar esta identificación podría hablarse de riesgos genéricos y riesgos específicos del producto.

LISTADO DE RIESGOS POTENCIALES

TIPO DE RIESGO

INDICADORES POTENCIALES

Tecnológico

Entrega retrasada del hardware o de la ayuda al software, muchos problemas tecnológicos reportados.

Personal

Baja moral del personal, malas relaciones entre los miembros del equipo, disponibilidad de empleo.

Organizacional

Chismorreo organizacional, falta de acciones por el administrador principal.

Herramientas

Rechazo de los miembros del equipo para utilizar herramientas, quejas acerca de las herramientas CASE, peticiones de estaciones de trabajo mas potentes.

Requerimientos

Peticiones de muchos cambios en los requerimientos, quejas del cliente.

Estimación

Fracaso en el cumplimiento de los tiempos acordados, y en la eliminación de defectos reportados.

ANALISIS DE RIEGOS

Durante este proceso, se considera por separado cada riesgo identificado y se decide acerca de la probabilidad y la seriedad del mismo.

No existe una forma fácil de hacer esto, Recae en la opinión del administrador del proyecto. No se hace una valoración con números precisos sino en intervalos.

RIESGO

PROBABILIDAD

EFECTOS

Los problemas financieros de la organización fuerzan a reducir el presupuesto del proyecto.

Baja

Catastrófico

Es imposible reclutar personal con las habilidades requeridas para el proyecto.

Alta

Catastrófico

El personal clave esta enfermo y no disponible en momentos críticos.

Moderada

Serio

Los componentes de software a reutilizarse contienen defectos que limitan su funcionalidad.

Moderada

Serio

Se proponen cambios en los requerimientos que requieren rehacer el diseño.

Moderada

Serio

La organización se reestructura de tal forma que una administración diferente se responsabiliza del proyecto.

Alta

Serio

La BD que se utiliza en el sistema no puede procesar muchas transacciones por segundo como se esperaba.

Moderada

Serio

El tiempo requerido para desarrollar el software esta subestimado.

Alta

Serio

Las herramientas CASE no se pueden integrar.

Alta

Tolerable

Los clientes no comprenden el impacto de los cambios en los requerimientos.

Moderada

Tolerable

La capacitación solicitada para el personal no esta disponible.

Moderada

Tolerable

La tasa de reparación de defectos esta subestimada.

Moderada

Tolerable

El tamaño del software esta subestimado.

Alta

Tolerable

PLANEACION DE RIESGOS

Se establece un plan de gestión del riesgo para cada uno de los riesgos clave identificados.

Depende del conocimiento y la experiencia del gestor del proyecto.

  • Estrategias de anulación o prevención.
  • Estrategias de disminución o minimización
  • Planes de contingencia.

RIESGO

ESTRATEGIA

Problemas financieros de la organización

Preparar un documento breve para el administrador principal que muestre que el proyecto hace contribuciones muy importantes a las metas del negocio.

Problemas de reclutamiento

Alertar al cliente de las dificultades potenciales y las posibilidades de retraso, investigar los componentes comprados.

Enfermedad del personal

Reorganizar el equipo de tal forma que haya traslape en el trabajo y las personas comprendan en de los demás.

Componentes defectuosos

Reemplazar los componentes defectuosos con los comprados de fiabilidad conocida.

Cambios en los requerimientos

Rastrear la información para valorar el impacto de los requerimientos, maximizar la información oculta en ellos.

Restructuración organizacional

Preparar un documento breve para el administrador principal que muestre que el proyecto hace contribuciones muy importantes a las metas del negocio.

Desempeño de la base de datos

Investigar la posibilidad de comprar una BD con alto desempeño

Tiempo de desarrollo subestimado

Investigar los componentes comprados y la utilización de una generador de programas.

SUPERVICION DEL RIESGO

Valora cada uno de los riesgos identificados para decidir si este es más o menos probable y cuando los efectos del mismo han cambiado.

  • Se hace una valoración después de alcanzar cada hito principal.
  • Encargado de riesgos:
  • Alertar sobre los riesgos del proyecto y evitar que los administradores y desarrolladores los ignoren en la planificación.
  • Buscar todas las razones por las cuales el proyecto puede fallar.
  • Supervisar la efectividad de los planes de reducción de riesgos.

Realizar el clásico análisis costo-beneficio para la prevención o el plan de contingencia del riesgo.

La supervisión del riesgo debe ser un proceso continuo y en cada revisión del progreso de la administración cada uno de los riesgos clave debe ser considerado por separado y discutido.

Modelado de implementación

Para que se usa un diagrama de despliegue

Se utiliza para modelar el hardware utilizado en las implementaciones del sistema y las relaciones entre sus componentes los elementos usados en este tipo de diagramas son:

  • Sistema empotrado
  • Sistema cliente-servidor
  • Sistema completamente distribuido

 

Que es un nodo

Es un punto de una onda estacionaria cuya amplitud es 0 un punto de interacción o unión de varios elementos que confluyen en el mismo lugar.

 

 

Representación de un nodo

image

 

 

Ejemplo de un diagrama de despliegue

image

 

Diagrama de despliegue

Es un diagrama tipo de lenguaje unificado de modelador, representa como un sistema de software es dividido en componente y muestra las desventajas entre estos campos puede ser usado para modelar cualquier arquitectura de sistemas.

Que es un componente

Componentes, acerca de las características de software, la elaboración de un definición única la utilización de una específica depende del contexto en donde se esté empleando el comportamiento de los acuerdos que se hagan dentro del marco de trabajo.

 

Representación de un componente

image

Ejemplo de diagrama de componentes

image

 

 

 

 

image

 

image

image

 

Modelo de arquitectura de interacción

Diagrama secuencial

image

 

image

 

Diagrama de despliegue

image

image

Especificación de requerimientos de software

La especificación de software es la descripción completa del comportamiento del sistema que se va a desarrollar

 

Diagramas UML usados en la ERS

Los diagramas utilizados en la ERS son:

  • Casos de usos
  • Diagramas de flujo
  • Interfaces graficas de usuario

 

Riesgos de un mal ERS

Los riesgos mas comunes al hacer una mala especificación de requerimientos de software es en primer lugar la perdida de tiempo del cliente como de nuestros empleado, a esto le sigue la perdida de dinero junto con un cliente irritado que hará ver a los demás la mala calidad del desarrollo.

 

Clasificación de los requerimientos

De usuario: Deben describir los requerimientos funcionales o no funcionales que sean comprensible para los usuarios.

De sistema: Son versiones extendidas de los requerimientos de usuario y suelen ser utilizadas por los ingenieros de software. Describe a detalle y explica como el sistema debe proporcionar los requerimientos del usuario. Debe ser una especificación técnica y consistente de un sistema.

 

Requerimientos funcionales y no funcionales

FUNCIONALES: Son aquellos procesos que están dentro del software que se esta desarrollando.

NO FUNCIONALES: Son aquellos requerimientos externos al software, como puede ser:

  • Sistema operativo en el que se instalara
  • Seguridad firewall que se recomienda para su funcionamiento

 

Diagramas de interacción

Modela el comportamiento dinámico del sistema el flujo de control en una operación. Describe la interacción entre objetos, los objetos interactúan atreves de mensajes para cumplir ciertas tareas. Las interacciones provén un “comportamiento” que se implementa en un caso de uso. Existen dos casos de imitación

 

Diagrama de colaboración

Enfatizan la organización industrial y recibe mensajes. Gráficamente es una selección, colección de vértices y aros.

 

Diagramas de secuencia

Ordena tiempo los mensajes. Este diagrama es una tabla que muestra objetos ordenados junto al y de las x y los mensajes, son ordenados en incremento del tiempo junto al eje de las y.

 

Simbología

image

 

Ejemplo de diagrama de colaboración

image

TABLA COMPARATIVA DE LA ARQUITECTURA MULTI-TIER “MULTI NIVEL”

 

1 NIVEL

2 NIVELES

3 NIVELES

BENEFICIOS

· COSTO MININO

· TIEMPO DE EJECUCIÓN RAPIDO

· VARIOS USUARIOS PODRAN REALIZAR CONSULTAS DESDE OTRO EQUIPO AL SERVIDOR

· MAS SEGURIDAD, POR QUE SOLO EL ADMINISTRADOR DEL SERVIDOR PODRA TENER ACCESO TOTAL A LA BASE DE DATOS

· TIEMPO DE EJECUCIÓN RAPIDO YA QUE LA CARGA DE PROCESOS SE DIVIDEN EN VARIOS EQUIPOS

· SEGURIDAD MAS ELEVADA, AL TENER TODO SEPARADO

PROBLEMAS

· TODOS LOS QUE TENGAN ACCESO AL EQUIPO PODRAN TENER ACCESO A LOS DATOS

· SOLO UN USUARIO A LA VEZ PODRA REALIZAR CONSULTAS

· EJECUCION LENTA

· TODO EL PROCESO SE GENERA EN EL SERVIDOR

· ENTRE MAS CLIENTES ESTEN CONECTADOS AL SERVIDOR MAS LENTA SERA LA EJECUCIÓN

· COSTO MAS ELEVADOS AL UTILIZAR MAS EQUIPOS.

· COSTOS DE MANTENIMIENTO

USUARIOS SIMULTANEOS

· 1

· MAS DE DOS

· MAS DE DOS

MEMORIA DE SERVICIO DEL INSTITUTO TECNOLÓGICO DE LOS MOCHIS

INSTITUTO TECNOLOGICO

DE LOS MOCHIS

PRESTANTE DEL SERVICIO:

Leyva Rodríguez Julio Cesar

08440863

CARRERA:

Lic. Informática

“MEMORIA DEL SERVICIO SOCIAL”

DEPENDENCIA:
Instituto Tecnológico de Los Mochis

FECHA: 31-08-12

ÍNDICE

Página

Introducción ————————————————————————- 3

Objetivos —————————————————————————– 4

Desarrollo de Actividades ———————————————————-5

Resultados y conclusiones ——————————————————– 6

Recomendaciones —————————————————————— 7

INTRODUCCION

En el presente documento se describirán las actividades y experiencias realizadas durante el desarrollo del servicio social en las instalaciones del Instituto Tecnológico de Los Mochis, En el departamento del centro de cómputo, dando mantenimiento preventivo y correctivo al equipo de cómputo de la institución, así como las conclusiones que obtuvimos al finalizar el periodo de realización del servicio social.

Así como brindar al personal del Instituto Tecnológico de Los Mochis soporte técnico a la problemáticas que surgían durante el periodo que se realizo el servicio.

OBJETIVOS

  • Dar mantenimiento preventivo y correctivo al equipo de computo de los siguientes departamentos
    • Centro de información
    • Departamento económico administrativo
    • Departamento de centro de cómputo
    • Departamento de arquitectura
    • Departamento de vinculación
    • Departamento de servicios escolares
    • Departamento de ciencias básicas
    • Departamento de química, bioquímica y biología
    • Departamento de electrónica
    • Departamento de extraescolares
    • Taller de mantenimiento
    • Departamento de desarrollo académico
  • Registrar a los alumnos del Instituto Tecnológico de Los Mochis para que tengan acceso a internet de la institución
  • Brindar soporte al personal del departamento del centro de computo

DESARROLLO DE ACTIVIDADES

  1. Programar horario para iniciar el mantenimiento, es necesario, por que se suspenderán labores durante el día en que se realice el mantenimiento en dicho departamento
    1. Iniciar mantenimiento en el centro de computo
    2. Iniciar mantenimiento en el departamento de centro de información
    3. Iniciar mantenimiento en el departamento de química, bioquímica y biología
    4. Iniciar mantenimiento al departamento de servicios escolares
    5. Iniciar mantenimiento al departamento de extraescolares
    6. Iniciar mantenimiento al taller de mantenimiento
    7. Iniciar mantenimiento al departamento de arquitectura
    8. Iniciar mantenimiento al departamento de ciencias básicas
    9. Iniciar mantenimiento al departamento de desarrollo económico
    10. Iniciar mantenimiento al departamento de electrónica
  2. Dar contraseñas a los alumnos de del Instituto Tecnológicos de Los Mochis para que tengan acceso a internet de la institución, esto se hará cuando al finalizar el mantenimiento preventivo correctivo en los departamentos mencionados.
  3. Dar soporte al personal del centro de computo y demás departamentos, resolviendo problemáticas desde problemas con el sistema operativos hasta programación y desarrollo.
  4. Dar soporte a la página del prenacional deportivo de los Institutos tecnológicos.

RESULTADOS Y CONCLUSIONES

Durante el tiempo que preste mi servicio social en el Instituto Tecnológico de Los Mochis llegue a la conclusión que es de vital importancia el trabajo armónico en equipo, ya que al trabajar en alguna institución o empresa siempre vamos a necesitar de la ayuda de los demás.

Las cosas que aprendí en mi estancia fueron entre otras: diseño web y programación PHP.

RECOMENDACIONES

  • Mantener los equipos de cómputo en un área limpia.
  • Evitar sobre cargar el sistema con servicios y aplicaciones de otro tipo
  • Realizar este mantenimiento cada año
  • Evitar ingerir alimento en el área de trabajo
  • Mantener el equipo de cómputo en un área despejada, con buena ventilación y libre de polvo.

 

DESCARGAR ARCHIVO EN WORD

Página 106 de 143

Creado con WordPress & Tema de Anders Norén