Vous êtes sur la page 1sur 45

A.

ANÁLISIS DE SISTEMAS DE INFORMACIÓN

1. DIAGNÓSTICO DEL PROBLEMA Y VALORACIÓN DE LA FACTIBILIDAD PARA EL


DESARROLLO DE SISTEMAS DE INFORMACIÓN

Se emplea para analizar, diseñar e implementar mejoras en el funcionamiento de las empresas a


través de sistemas de información computarizados.

Uso de herramientas CASE

Ingeniería de software asistida por computadora (Case Computer Aided Software Engineering).

Razones para el uso de herramientas CASE

 Aumento en la productividad del analista


 Mejora en la comunicación analista-usuario
 Integración de las actividades del ciclo de vida
 Evaluar de manera precisa los cambio sen el mantenimiento

Herramientas CASE de alto nivel

Da al analista la posibilidad de crear y modificar el diseño del sistema

Herramientas CASE de bajo nivel

Se utilizan para generar código fuente de computadora, eliminando así la necesidad de programar
el sistema

Ingeniería inversa y reingeniería de software

Son métodos para alargar la vida de programas anteriores, conocidos como software heredado.

En ambos métodos se emplea software de reingenieria asistida por computadora (CARE Computer-
Assisted Reengineering) para analizar y reestructurar el código de computadora existente.

Análisis y Diseño de Sistemas Orientado a Objetos

El análisis y diseño orientado a objetos es un enfoque cuyo propósito facilitar el desarrollo de


sistemas que deben cambiar con rapidez en respuesta a entornos de negocios dinámicos.
Los enfoques orientados a objetos utilizan el estándar de la industria para la modelación de sistemas
orientados a objetos, el lenguaje unificado de modelación (UML unified modeling language) para
analizar un sistema en forma de modelo de casos de uso.

A 2. MODELADO DE LOS REQUERIMIENTOS DE UN SISTEMA DE INFORMACIÓN

Análisis de los requerimientos

El análisis de requerimientos de software puede dividirse en cinco áreas de esfuerzo:

(1) Reconocimiento del problema


(2) Evaluación y síntesis
(3) Modelado
(4) Especificación
(5) Revisión

Modelado de análisis

El modelo de análisis debe lograr tres objetivos primarios:

 Describir lo que requiere el cliente


 Establecer una base para la creación de n diseño de software
 Definir un conjunto de requisitos que se pueda validar una vez que se construye el software.

Estudio de la viabilidad

Los resultados del estudio de viabilidad deberían ser un informe que recomiende si merece o no la
pena seguir con la ingeniería del requerimiento y el proceso del desarrollo del sistema.

Viavilidad tecnica: el analista debe averiguar si es posible actualizar o incrementar los recursos
tecnicos actuales de tal manera que satisfagan los requerimientos bajo consideracion.

Viavilidad economica : los recursos basicos que se deben considerar

 El tiempo
 El costo
 El costo del tiempo de los empleados de la empresa
 El costo estimado del hardware
 El costo estimado del software comercial o del desarrollo de software

Viabilidad operativa: la viabilidad operativa depende de los recursos humanos.

Validación de requerimientos

La validación de requerimientos trata de mostrar que estos realmente definen el sistema que el
cliente desea se apoya en verificaciones

 Verificación de validez
 Verificación de consistencia
 Verificación de complejidad
 Verificación de realismo
 Verificabilidad

Pueden utilizarse en conjunto algunas técnicas de validación de requerimientos:

 Revisiones de requerimientos
 Construcción de propósitos
 Generación de casos prueba
Los requerimientos se dividen en dos clases:

Requerimientos duraderos

Requerimientos volátiles

Calculo de tiempo requerido

Grafica de Gantt: es una forma fácil de programar tareas. En este tipo de grafica las barras
representan cada tarea o actividad. La longitud de cada barra representa la duración relativa de dicha
tarea.

Program Evaluation and Review Techniques (Tecnicas de Evaluacion y Revision de


Programas,PERT).

Un programa( sinónimo de proyecto) se representa mediante una red de nodos y flechas que se
evalúa para determinar las actividades críticas, mejorar la programación de fechas si es necesario y
revisar al progreso una vez que se aborda el proyecto.
Análisis de los requerimientos de información

Métodos interactivos

Hay cinco pasos que deben realizarse para preparar la entrevista: hay cinco pasos que deben
realizarse para preparar la entrevista:

1. Leer los antecedentes


2. Establecer los objetivos de la entrevista
3. Decidir a quien entrevistar
4. Preparar entrevistado
5. Decidir el tipo de entrevista y la estructura

Joint application Design (JAD)

Creada por IBM

Las razones para usar JAD

 Reducir el tiempo (y el costo) requerido por las entrevistas personales


 Mejorar la calidad de los resultados de la evaluación de los requerimientos de información
 Generar una mayor identificación del usuario con los nuevos sistemas de información

Cuestionarios

El uso de cuestionarios es una técnica de recopilación de información que permite a los analistas de
sistemas estudiar las actitudes, creencias, comportamiento y características de muchas personas
importantes en la organización que podrían resultar afectadas por los sistemas actuales y los
propuestos.

Métodos no intrusivos

Los métodos no intrusivos para la recopilación de información, incluyendo el muestreo investigación


de datos cuantitativos y cualitativos en los formularios actuales y en los archivados y la observación
de las actividades del tomador de decisiones a través del uso del guion del analista.

El metodo para la observacion estructurada del entorno(STRuctured Observation of the


Enviroment,STROBE)

La aplicación exitosa de STROBE requiere que el analista observe explícitamente siete elementos
concretos que por lo general se encuentran en las oficinas

REQUERIMIENTOS

Reflejan las necesidades de los clientes de un sistema que ayude a resolver un problema como el
control de un dispositivo, hacer un pedido o encontrar información.
Niveles de descripción

Requerimientos del usuario

Diferencia entre los Requerimientos del Usuario y los Requerimientos del Sistema

Requerimientos de usuario

los da el cliente, donde en lenguaje natural comenta que es lo que desea que el sistema haga, y los
servicios que este proporciona, así mismo como las limitaciones operacionales con las que
cuenta.Son abstractos.

Requerimientos del sistema describen los servicios del sistema de una forma más detallada y
técnica, donde en conjunto el cliente y el contratante determinando estos requerimiento.Son mas
detallados

Requerimientos funcionales

Son declaraciones de los servicios que debe proporcionar el sistema de la manera en que debe
reaccionar y como se debe comportar en situaciones particulares .tmbien pueden declarar
explícitamente lo que el sistema no debe hacer

Requerimientos no funcionales

Son restricciones de los servicios o funciones ofrecidos por el sistema.no se refieren a las
funcionalidades especificas del sistema,si no a las propiedades emergentes de este fiabilidad,tiempo
de respuesta y capacidad de almacenamiento
La ingeniería de requerimientos es el proceso de descubrir, analizar, documentar y verificar servicios
y restricciones .

Incluye siete tareas diferentes:

Concepción

En la concepción del proyecto,3 se establece el entendimiento básico del problema, las personas
que quieren una solución, la naturaleza de la solución que se desea, así como la eficacia de la
comunicación y colaboración preliminares entre los otros participantes y el equipo de software

Indagación

Cuáles son los objetivos para el sistema o producto, qué es lo que va a lograrse, cómo se ajusta el
sistema o producto a las necesidades del negocio y, finalmente, cómo va a usarse el sistema o
producto en las operaciones cotidianas.

• Problemas de alcance. La frontera de los sistemas está mal definida o los clientes o usuarios
finales especifican detalles técnicos innecesarios que confunden, más que clarifican, los objetivos
generales del sistema.

• Problemas de entendimiento. Los clientes o usuarios no están completamente seguros de lo que


se necesita, comprenden mal las capacidades y limitaciones de su ambiente de computación, no
entienden todo el dominio del problema, tienen problemas para comunicar las necesidades al
ingeniero de sistemas, omiten información que creen que es “obvia”, especifican requerimientos que
están en conflicto con las necesidades de otros clientes o usuarios, o solicitan requerimientos
ambiguos o que no pueden someterse a prueba.

• Problemas de volatilidad. Los requerimientos cambian con el tiempo. Para superar estos
problemas, debe enfocarse la obtención de requerimientos en forma organizada.

Elaboración

Negociación

Especificación

Validación

administración.
Arquitectura

El desarrollo de un sistema con gran cantidad de software requiere que este sea visto desde
diferentes perspectivas. Diferentes usuarios (usuario final, analistas, desarrolladores, integradores,
jefes de proyecto...) siguen diferentes actividades en diferentes momentos del ciclo de vida del
proyecto, lo que da lugar a las diferentes vistas del proyecto, dependiendo de qué interese más en
cada instante de tiempo. La arquitectura es el conjunto de decisiones significativas sobre:

• La organización del sistema

• Selección de elementos estructurales y sus interfaces a través de los cuales se constituye el


sistema.

• El Comportamiento, como se especifica las colaboraciones entre esos componentes.

• Composición de los elementos estructurales y de comportamiento en subsistemas progresivamente


más grandes.

• El estilo arquitectónico que guía esta organización: elementos estáticos y dinámicos y sus
interfaces, sus colaboraciones y su composición.

La arquitectura que no debe centrarse únicamente en la estructura y en el comportamiento, sino que


abarque temas como el uso, funcionalidad, rendimiento, capacidad de adaptación, reutilización,
capacidad para ser comprendida, restricciones, compromisos entre alternativas, así como aspectos
estéticos. Para ello se sugiere una arquitectura que permita describir mejor los sistemas desde
diferentes vistas, figura 18, donde cada una de ellas es una proyección de la organización y la
estructura centrada en un aspecto particular del sistema. La vista de casos de uso comprende la
descripción del comportamiento del sistema tal y como es percibido por los usuarios finales, analistas
y encargados de las pruebas y se utilizan los diagramas de casos de uso para capturar los aspectos
estáticos mientras que los dinámicos son representados por diagramas de interacción, estados y
actividades.

La vista de diseño comprende las clases, interfaces y colaboraciones que forman el vocabulario del
problema y de la solución. Esta vista soporta principalmente los requisitos funcionales del sistema,
o sea, los servicios que el sistema debe proporcionar. Los aspectos estáticos se representan
mediante diagramas de clases y objetos y los aspectos dinámicos con diagramas de interacción,
estados y actividades. La vista de procesos comprende los hilos y procesos que forman mecanismos
de sincronización y concurrencia del sistema cubriendo el funcionamiento, capacidad de crecimiento
y el rendimiento del sistema. Con UML, los aspectos estáticos y dinámicos se representan igual que
en la vista de diseño, pero con el énfasis que aportan las clases activas, las cuales representan los
procesos y los hilos. La Vista de implementación comprende los componentes y los archivos que un
sistema utiliza para ensamblar y hacer disponible el sistema físico. Se ocupa principalmente de la
gestión de configuraciones de las distintas versiones del sistema. Los aspectos estáticos se capturan
con los diagramas de componentes y los aspectos dinámicos con los diagramas de interacción,
estados y actividades. La vista de despliegue de un sistema contiene los nodos que forman la
topología hardware sobre la que se ejecuta el sistema. Se preocupa principalmente de la distribución,
entrega e instalación de las partes que constituyen el sistema. Los aspectos estáticos de esta vista
se representan mediante los diagramas de despliegue y los aspectos dinámicos con diagramas de
interacción, estados y actividades.

Análisis de Sistema
 Identifique las necesidades del Cliente.
 Evalúe que conceptos tiene el cliente del sistema para establecer su viabilidad.
 Realice un Análisis Técnico y económico.
 Asigne funciones al Hardware, Software, personal, base de datos, y otros elementos del
Sistema.
 Establezca las restricciones de presupuestos y planificación temporal.
 Cree una definición del sistema que forme el fundamento de todo el trabajo de Ingeniería.
Objetivos Del Análisis
 Identificación de Necesidades: Es el primer paso del análisis del sistema, en este proceso en
Analista se reúne con el cliente y/o usuario (un representante institucional, departamental o
cliente particular), e identifican las metas globales, se analizan las perspectivas del cliente, sus
necesidades y requerimientos, sobre la planificación temporal y presupuestal, líneas
de mercadeo y otros puntos que puedan ayudar a la identificación y desarrollo del proyecto.
Algunos autores suelen llamar a esta parte "Análisis de Requisitos" y lo dividen en cinco partes:
 Reconocimiento del problema.
 Evaluación y Síntesis.
 mModelado.
 Especificación.
 Revisión.
Antes de su reunión con el analista, el cliente prepara un documento conceptual del proyecto,
aunque es recomendable que este se elabore durante la comunicación Cliente - analista, ya que de
hacerlo el cliente solo de todas maneras tendría que ser modificado durante la identificación de las
necesidades.
 Estudio de Viabilidad: Muchas veces cuando se emprende el desarrollo de un proyecto de
Sistemas los recursos y el tiempo no son realistas para su materialización sin tener pérdidas
económicas y frustración profesional. La viabilidad y el análisis de riesgos están relacionados
de muchas maneras, si el riesgo del proyecto es alto, la viabilidad de producir software de
calidad se reduce, sin embargo se deben tomar en cuenta cuatro áreas principales de interés:
 Viabilidad económica.
 Viabilidad Técnica.
 Viabilidad Legal.
Es determinar cualquier posibilidad de infracción, violación o responsabilidad legal en que se
podría incurrir al desarrollar el Sistema.
 Alternativas: Una evaluación de los enfoques alternativos del desarrollo del producto o Sistema.
El estudio de la viabilidad puede documentarse como un informe aparte para la alta gerencia.
 Análisis Económico y Técnico: El análisis económico incluye lo que llamamos, el análisis
de costos-beneficios, significa una valoración de la inversión económica comparado con los
beneficios que se obtendrán en la comercialización y utilidad del producto o sistema.
Muchas veces en el desarrollo de Sistemas de Computación estos son intangibles y resulta un
poco dificultoso evaluarlo, esto varía de acuerdo a la característica del Sistema. El análisis de
costos-beneficios es una fase muy importante de ella depende la posibilidad de desarrollo del
Proyecto.
En el Análisis Técnico, el Analista evalúa los principios técnicos del Sistema y al mismo tiempo
recoge información adicional sobre el rendimiento, fiabilidad, características de mantenimiento y
productividad.
Los resultados obtenidos del análisis técnico son la base para determinar sobre si continuar o
abandonar el proyecto, si hay riesgos de que no funcione, no tenga el rendimiento deseado, o si
las piezas no encajan perfectamente unas con otras.
 Modelado de la arquitectura del Sistema: Cuando queremos dar a entender mejor lo que vamos
a construir en el caso de edificios, Herramientas, Aviones, Maquinas, se crea
un modelo idéntico, pero en menor escala (más pequeño).
Sin embargo cuando aquello que construiremos es un Software, nuestro modelo debe tomar una
forma diferente, deben representar todas las funciones y sub-funciones de un Sistema. Los
modelos se concentran en lo que debe hacer el sistema no en como lo hace, estos modelos
pueden incluir notación gráfica, información y comportamiento del Sistema.
Todos los Sistemas basados en computadoras pueden modelarse como transformación de la
información empleando una arquitectura del tipo entrada y salida.
 Especificaciones del Sistema: Es un Documento que sirve como fundamento para la Ingeniería
Hardware, software, Base de datos, e ingeniería Humana. Describe la función y rendimiento de
un Sistema basado en computadoras y las dificultades que estarán presente durante su
desarrollo. Las Especificaciones de los requisitos del software se producen en la terminación de
la tarea del análisis.
Un proyecto de desarrollo de un Sistema de Información comprende varios componentes o pasos
llevados a cabo durante la etapa del análisis, el cual ayuda a traducir las necesidades del cliente
en un modelo de Sistema que utiliza uno más de los componentes: Software, hardware, personas,
base de datos, documentación y procedimientos.
Diseño de Sistemas
Es el proceso de aplicar ciertas técnicas y principios con el propósito de definir un dispositivo, un
proceso o un sistema con suficientes detalles como para permitir su interpretación y
realización física.
La etapa del Diseño del Sistema encierra cuatro etapas:
 El diseño de los datos.
 Trasforma el modelo de dominio de la información, creado durante el análisis, en
las estructuras de datos necesarios para implementar el Software.
 El Diseño Arquitectónico.
 Define la relación entre cada uno de los elementos estructurales del programa.
Herramientas para el Diseño de Sistemas
Apoyan el proceso de formular las características que el sistema debe tener para satisfacer los
requerimientos detectados durante las actividades del análisis:
 Herramientas de especificación: Apoyan el proceso de formular las características que debe
tener una aplicación, tales como entradas, Salidas, procesamiento y especificaciones
de control. Muchas incluyen herramientas para crear especificaciones de datos.
 Herramientas para presentación: Se utilizan para describir la posición de datos, mensajes y
encabezados sobre las pantallas de las terminales, reportes y otros medios de entrada y salida.
 Herramientas para el desarrollo de Sistemas: Estas herramientas nos ayudan como analistas a
trasladar diseños en aplicaciones funcionales.
 Herramientas para Ingeniería de Software: Apoyan el Proceso de formular diseños de Software,
incluyendo procedimientos y controles, así como la documentación correspondiente.
 Generadores de códigos: Producen el código fuente y las aplicaciones a partir de
especificaciones funcionales bien articuladas.
 Herramientas para pruebas: Apoyan la fase de la evaluación de un Sistema o de partes del
mismo contra las especificaciones. Incluyen facilidades para examinar la correcta operación del
Sistema así como el grado de perfección alcanzado en comparación con las expectativas.
Analista de Sistemas de Información
Se suele llamar analistas de sistemas a quienes se encargan de realizar en las empresas, el
proceso de análisis y diseño de sistemas, definiendo los lineamientos a seguir y la manera en que
debe incorporarse la tecnología de la computación para adecuar y actualizar sus sistemas de
información.
El analista es imprescindible en cualquier organización debido al abanico de destrezas que este
posee y los beneficios que le produce, debe ser capaz de trabajar con gente de todas las
descripciones y debe tener experiencia en el trabajo con computadoras; este desempeña muchos
papeles, balanceando a veces varios al mismo tiempo. Los papeles del analista son: como
consultor, experto de soporte y agente de cambio.
Los analistas de sistemas generalmente valoran la manera en que funcionan
los negocios examinando la entrada, el procesamiento de datos y la salida de información con el
propósito de mejorar los propósitos organizacionales.
Las cualidades que se esperan de un analista de sistema son esencialmente la capacidad de
abstracción y de análisis. Los conocimientos que requiere son aquellos relacionados con las
técnicas de análisis de sistemas de información como:
 Conocimiento del paradigma tradicional de la ingeniería del software y del tradicional ciclo de
vida del software en cascada.
 Modelado funcional: Diagrama de flujo de datos, diagrama de estados, etc.
 Modelado de datos y sus técnicas: Diagrama de entidad relación, modelo relacional, etc.
Conocimiento de la tecnología: Arquitectura del software, base de datos, etc.

Modelado: es la espina dorsal del desarrollo software de calidad, un modelo es una simplificación
de la realidad

Nos proporciona los planos de un sistema, desde los más generales, que proporcionan una visión
general del sistema, hasta los más detallados.

En un modelo se han de incluir los elementos que tengan más relevancia y omitir los que no
son interesantes para el nivel de abstracción que se ha elegido. A través del modelado
conseguimos cuatro objetivos:

• Los modelos nos ayudan a visualizar cómo es o queremos que sea un sistema.

• Los modelos nos permiten especificar la estructura o el comportamiento de un sistema.

• Los modelos nos proporcionan plantillas que nos guían en la construcción de un sistema.

• Los modelos documentan las decisiones que hemos adoptado.


 Para producir software que cumpla su propósito hay que obtener los requisitos del sistema,
esto se consigue conociendo de una forma disciplinada a los usuarios y haciéndolos
participar de manera activa para que no queden “cabos sueltos”
 Para conseguir un software de calidad, que sea duradero y fácil de mantener hay que idear
una sólida base arquitectónica que sea flexible al cambio
 Para poder comunicarnos con otros, para explicar el comportamiento del sistema a
desarrollar, para comprender, nosotros mismos, mejor ese sistema, para controlar el riesgo
y en definitiva para poder atacar problemas que sin el modelado su resolución seria
imposible, tanto desde el punto de vista de los desarrolladores (no se pueden cumplir los
plazos estimados, no se consigue ajustar los presupuestos...) como desde el punto de vista
del cliente.

Principios básicos del modelado

Existen cuatro principios básicos

a) La elección de qué modelos se creen influye directamente sobre cómo se acomete el


problema. Hay que seleccionar el modelo adecuado para cada momento y dependiendo de que
modelo se elija se obtendrán diferentes beneficios y diferentes costes. En la industria software se
ha comprobado que un modelado orientado a objetos proporciona unas arquitecturas más flexibles
y readaptables que otros por ejemplo orientados a la funcionalidad o a los datos.

b) Todo modelo puede ser expresado a diferentes niveles de precisión. Esto es, es necesario
poder seleccionar el nivel de detalle que se desea ya que en diferentes partes de un proyecto y en
diferentes etapas se tendrán unas determinadas necesidades.

c) Los mejores modelos están ligados a la realidad. Lo principal es tener modelos que nos
permitan representar la realidad lo más claramente posible, pero no sólo esto, tenemos que saber,
exactamente cuándo se apartan de la realidad para no caer en la ocultación de ningún detalle
importante.

d) Un único modelo no es suficiente. Cualquier sistema que no sea trivial se afronta mejor desde
pequeños modelos casi independientes, que los podamos construir y estudiar independientemente
y que nos representen las partes más diferenciadas del sistema y sus interrelaciones.

UML (Unified Modeling Languaje, Lenguaje Unificado de Modelado)

Pretende unificar las tres metodologías más difundidas (OMT, Bootch y OOSE) e intentar que la
industria software termine su maduración como Ingeniería.

proporciona las herramientas necesarias para poder obtener los planos del software equivalentes
UML abarca todas las fases del ciclo de vida de un proyecto, soporta diferentes maneras de
visualización dependiendo de quién tenga que interpretar los planos y en qué fase del proyecto se
encuentre.

Es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar
artefactos de un sistema de software

No es una metodología, puede usarse con diferentes metodologías

Características

Escalable

Flexible
Extensible

Nos ayuda a clarificar diseños

Ventajas

Entender objetivos

Negocio y procesos

Capta la información sobre la estructura estatica :se definen los tipos de objetos importantes para
un sistema,su implementcion y l relación entre objetos

Capta el comportamiento dinamico de un sistema:define la historia de los objetos en el tiempo y la


comunicación entre objetos para cumplir sus objetivos

Objct managment grup

Diagrama de clases El diagrama UML más comúnmente usado, y la base principal de toda solución
orientada a objetos. Las clases dentro de un sistema, atributos y operaciones, y la relación entre
cada clase. Las clases se agrupan para crear diagramas de clases al crear diagramas de sistemas
grandes.

Diagrama de componentes Muestra la relación estructural de los elementos del sistema de software,
muy frecuentemente empleados al trabajar con sistemas complejos con componentes múltiples. Los
componentes se comunican por medio de interfaces.

Diagrama de estructura compuesta Los diagramas de estructura compuesta se usan para mostrar
la estructura interna de una clase.

Diagrama de implementación Ilustra el hardware del sistema y su software. Útil cuando se


implementa una solución de software en múltiples máquinas con configuraciones únicas.

Diagrama de objetos Muestra la relación entre objetos por medio de ejemplos del mundo real e ilustra
cómo se verá un sistema en un momento dado. Dado que los datos están disponibles dentro de los
objetos, estos pueden usarse para clarificar relaciones entre objetos.

Diagrama de paquetes Hay dos tipos especiales de dependencias que se definen entre paquetes:
la importación de paquetes y la fusión de paquetes. Los paquetes pueden representar los diferentes
niveles de un sistema para revelar la arquitectura. Se pueden marcar las dependencias de paquetes
para mostrar el mecanismo de comunicación entre niveles.

Diagramas UML de comportamiento

Diagramas de actividades Flujos de trabajo de negocios u operativos representados gráficamente


para mostrar la actividad de alguna parte o componente del sistema. Los diagramas de actividades
se usan como una alternativa a los diagramas de máquina de estados.

Diagrama de comunicación Similar a los diagramas de secuencia, pero el enfoque está en los
mensajes que se pasan entre objetos. La misma información se puede representar usando un
diagrama de secuencia y objetos diferentes.

Diagrama de panorama de interacciones Hay siete tipos de diagramas de interacciones. Este


diagrama muestra la secuencia en la cual actúan.

Diagrama de secuencia Muestra cómo los objetos interactúan entre sí y el orden de la ocurrencia.
Representan interacciones para un escenario concreto.
Diagrama de máquina de estados Similar a los diagramas de actividades, describen el
comportamiento de objetos que se comportan de diversas formas en su estado actual.

Diagrama de temporización Al igual que en los diagramas de secuencia, se representa el


comportamiento de los objetos en un período de tiempo dado. Si hay un solo objeto, el diagrama es
simple. Si hay más de un objeto, las interacciones de los objetos se muestran durante ese período
de tiempo particular.

Diagrama de caso de uso Representa una funcionalidad particular de un sistema. Se crea para
ilustrar cómo se relacionan las funcionalidades con sus controladores (actores) internos/externos.

Diagrama entidad -relación (DER)

Representa las relaciones entre los objetos de datos.

Los atributos de cada objeto de datos señalados ene l DER se pueden describir mediante una
descripción de objetos de datos.

Una vista es un subconjunto de UML


Diagramas UML

Diagrama de Clases

Los diagramas de clases representan las estructuras estáticas de un sistema, incluidas sus clases,
atributos, operaciones y objetos. Un diagrama de clases puede mostrar datos computacionales u
organizacionales en la forma de clases de implementación y clases lógicas, respectivamente. Puede
haber superposición entre estos dos grupos.

1. Las clases se representan con una forma rectangular dividida en tercios. La sección superior
muestra el nombre de la clase, mientras que la sección central contiene los atributos de la
clase. La sección inferior muestra las operaciones de la clase (también conocidas como
métodos).

2. Agrega formas de clases a tu diagrama de clases para modelar la relación entre esos
objetos. Además, podría ser necesario que agregues subclases.

3. Usa líneas para representar asociación, traspaso, multiplicidad y otras relaciones entre
clases y subclases. Tu estilo de notación preferido informará la notación de estas líneas.
Diagrama de Casos de Uso

Un caso de uso es una lista de pasos que definen la interacción entre un actor (un humano que
interactúa con el sistema o un sistema externo) y el sistema propiamente dicho. Los diagramas de
casos de uso representan las especificaciones de un caso de uso y modelan las unidades
funcionales de un sistema. Estos diagramas ayudan a los equipos de desarrollo a comprender los
requisitos de su sistema, incluida la función de la interacción humana en el mismo y las diferencias
entre diversos casos de uso. Un diagrama de caso de uso podría mostrar todos los casos de uso del
sistema o solo un grupo de casos de uso con una funcionalidad similar.

1. Para iniciar un diagrama de casos de uso, agrega una forma ovalada en el centro del dibujo.

2. Escribe el nombre del caso de uso dentro del óvalo.

3. Representa a los actores con una figura humana cerca del diagrama, luego usa líneas para
modelar las relaciones entre los actores y los casos de uso.

Diagrama de Estados
Diagrama de Secuencias

Los diagramas de secuencia, también conocidos como diagramas de eventos o escenarios de


eventos, ilustran cómo los procesos interactúan entre sí mostrando llamadas entre diferentes objetos
en una secuencia. Estos diagramas tienen dos dimensiones: vertical y horizontal. Las líneas
verticales muestran la secuencia de mensajes y llamadas en orden cronológico y los elementos
horizontales muestran instancias de objetos en las que se transmiten los mensajes.

1. Para crear un diagrama de secuencia, escribe el nombre de la instancia de clase y el nombre


de la clase en un cuadro rectangular.

2. Dibuja líneas entre las instancias de clases para representar al emisor y receptor de los
mensajes.

3. Usa puntas de flecha oscuras para simbolizar mensajes sincrónicos, puntas de flecha
abiertas para mensajes asincrónicos y líneas discontinuas para mensajes de respuesta.
Diagrama de Actividades

Los diagramas de actividades muestran el flujo de control de procedimiento entre objetos de clases,
junto con procesos organizacionales, como los flujos de trabajo de negocios. Estos diagramas se
integran con formas especializadas que luego se conectan con flechas. La notación establecida para
los diagramas de actividades es similar a la de los diagramas de estados.

1. Empieza tu diagrama de actividades con un círculo negro.

2. Conecta el círculo a la primera actividad, la cual se modela con un rectángulo redondeado.

3. Ahora, conecta cada actividad a otras actividades con líneas que muestren el flujo paso a
paso de todo el proceso.

4. También puedes probar usar carriles para representar los objetos que realizan cada
actividad.
Diagrama de Colaboraciones

Diagrama de Componentes

Los diagramas de componentes muestran cómo se combinan los componentes para formar
componentes más grandes o sistemas de software. Estos diagramas están diseñados para modelar
las dependencias de cada componente en el sistema. Un componente es algo necesario para
ejecutar una función de estereotipo. Un estereotipo de componente puede constar de ejecutables,
documentos, tablas de bases de datos, archivos o archivos de bibliotecas.

1. Representa un componente con una forma rectangular. Debe tener dos rectángulos
pequeños en un lado o mostrar un icono con esa forma.

2. Agrega líneas entre formas de componentes para representar las relaciones pertinentes.
Diagrama de Distribución

Diagrama de Paquetes
B. Desarrollo e implantación de aplicaciones computacionales

1. Diseño de la solución del problema de tecnología de información

2. Desarrollo de sistemas

3. Implantación de sistemas

Pruebas de Caja Negra (“black-box testing”) puesto que valoramos el


comportamiento externo del sistema.

PRUEBAS NO FUNCIONALES
Se centran en características del software que establecen “cómo trabaja el
sistema“.Las características no funcionales del software se pueden medir de
diversas maneras, por ejemplo, por medio de tiempos de respuesta en el caso de
pruebas de rendimiento o por número máximo de sesiones en pruebas de estrés.

-Las Pruebas de Regresión consisten en volver a probar un componente, tras


haber sido modificado
-Prueba unitaria: las pruebas unitarias son pruebas automatizadas que verifican la
funcionalidad en el componente, clase, método o nivel de propiedad.

-Pruebas de integración: desde una perspectiva de prueba, las unidades


individuales se integran juntas para formar componentes más grandes. En su
forma más simple, dos unidades que ya han sido probadas se combinan en un
componente integrado y se prueba la interfaz entre ellas.

-Pruebas de funcionalidad: pruebas automatizadas o manuales que prueban las


funcionalidades de la aplicación o módulo construidos desde el punto de vista del
usuario final, con sus diferentes roles, para validar que el software hace lo que
debe y, sobre todo, lo que se ha especificado.

-Pruebas de estrés: las pruebas a pequeña escala, como un usuario único que
ejecuta una aplicación web o una base de datos con solo un puñado de registros,
pueden no revelar problemas que suceden cuando la aplicación se usa en
condiciones "reales".

-Prueba de rendimiento: determinan la capacidad de respuesta, el rendimiento, la


confiabilidad y/o la escalabilidad de un sistema bajo una carga de trabajo
determinada.
-Pruebas de seguridad: validan los servicios de seguridad de una aplicación e
identifican posibles fallos y debilidades

4. Aplicación de modelos matemáticos

Herramientas

Lenguajes de programación cual uso y para que

Top lenguajes de programación

Hemos llegado al 2018 y con él, un gran número de tendencias digitales que apuntan a cambiar de
manera radical nuestro día a día, desde aplicaciones para el trabajo y negocios, ocio o simplemente
el momento en el que nos tumbamos en el sofá a disfrutar de un duro día de trabajo. Todas ellas,
bajo un influencia digital e interconectada mediante “la nube”, van a formar el conjunto de una era
llamada el Internet de las cosas (IoT).

Estos distintos sistemas de conexiones de programas y elementos digitales cuentan con un software
que ha de ser programado para que el ser humano mande la orden al ordenador para que este
realice una cierta acción o actividad. Un lenguaje de programación es básicamente un sistema de
comunicación con una cierta estructura, contenido y uso determinado que sirve para enviar órdenes
a un ordenador. La primera persona en utilizar un lenguaje, con estructura, para entender el lenguaje
máquina del científico Charles Babbaga fue Ada Lovelace. Y desde entonces, estos distintos
lenguajes de programar distintos softwares se han ido adaptando a las diferentes estructuras que
puede presentar el mismo software y funcionalidad con las que va a acompañar.
Hoy en día, aprender a programar se ha vuelto un requisito en aquellas compañías con una presencia
digital. Ya sea desde la perspectiva del departamento de ventas, hasta llegar al mismísimo órgano
de dirección y pasando, obviamente, por los desarrolladores de software de cada proyecto.

Cada año el uso de un tipo de lenguaje u otro cambia, por ello, te mostramos aquellos lenguajes que
creemos van a marcar tendencia este año 2018.

Top Lenguajes de Programación

JavaScript

Probablemente sea uno de los lenguajes de programación más conocidos, utilizados, adaptados y
simples. Sin embargo, sigue ganando adeptos para ser conocida como una de los lenguajes de
programación más utilizados en internet. Es un tipo de lenguaje cuyo uso se aplica a un tipo de
páginas web más dinámicas, ya sean con pequeños textos que aparecen y desaparecen,
animaciones, sonido o acciones que se activan al pulsar, clicar en este caso, ciertos botones.

Uno de los mayores beneficios de JavaScript es que se trata de un lenguaje interpretado, por lo que
no se necesita un compilador para poder ejecutarlos. No existen procesos intermedios como un
servidor web, puedes probarlos directamente en el buscador de tu ordenador.

TypeScript

Éste, es un lenguaje de programación de código abierto desarrollado por Microsoft y que está
definido para ser un lenguaje orientado a objetos. Esto significa que permite el diseño de aplicaciones
orientadas a estos objetos.

TypeScript es un lenguaje que también es conocido por ser Superset de JavaScript, significa que “si
el navegador está basado en Javascript, este nunca llegará a saber que el código original fue
realizado con TypeScript y ejecutará el Javascript como lenguaje original”. Devcode.

Python

Fue creado a principios de los años 90 y según Stack Overflow, Python puede considerarse como el
lenguaje de programación con más crecimiento que existe actualmente. Es un lenguaje que también
está orientado a objetos, con una sintaxis más limpia y que se define por su versatilidad, simplicidad
y rapidez de desarrollo y al igual que JavaScript es un lenguaje interpretado, de ahí la rapidez en el
desarrollo.

Una de sus características más importantes es que con Python no podemos combinar variables de
distintos tipos, una cadena con un número. Además es un lenguaje de multiplataforma.

JAVA

Saber programar con Java se ha vuelto uno de los 20 principales requisitos por los líderes de
proyectos para la adopción de un nuevo miembro en el equipo.

Es un lenguaje conocido por ser rápido, seguro y fiable y que además también es multiplataforma y
orientada a objetos.

Estructuralmente es un lenguaje que es derivado del C y C++ y que se comienza por paquetes. La
definición de estos es el mecanismo de espacio de nombres del lenguaje Java. Dentro de los
paquetes se encuentran las clases y dentro de las clases se encuentran métodos, variables,
constantes, entre otros.

Kotlin
Está subiendo como la espuma y es un lenguaje que ha sido recientemente adoptado por Google.
Kotlin es un lenguaje conocido por su sencillez y facilidad a la hora de ser enseñado, lo que hace
mas ligera la curva de aprendizaje.

Es un lenguaje además operable con Java, es decir, Cualquier código escrito en Java se puede usar
directamente desde Kotlin – Xatakandroid. ComY ya que ha de ser ejecutado por Android y su peso
de APKs para cualquier dispositivo, es un lenguaje muy ligero.

C y C++

Estos dos lenguajes de programación son una continuidad del otro y son conocidos por ser Lenguaje
de programación de sistemas.

El primero, C, es uno de los lenguajes también más utilizados en todo el mundo y que debido a su
flexibilidad es ejecutado en la mayoría de sistemas operativos.

Al ser un lenguaje sencillo y no estar especializado en ninguna aplicación, lo hace realmente fácil de
aprender.C++ es la versión mas ampliada del lenguaje original C.

PHP

Una de las curiosidades de este lenguaje de programación es que no nació con ese propósito, sino
que fue creado como un utensilio para mantener páginas web dinámicas.

“El lenguaje PHP siempre va incrustado dentro del HTML y generalmente se le relaciona con el uso
de servidores linux.” – Redgrafica.com

Es un lenguaje conocido por la velocidad del mismo, no solo al ser ejecutado, sino que no afecta en
ningún retraso al ordenador. Es un sistema de fácil integración en ambientes con muchas
aplicaciones y gracias al ser robusto y estable, es muy seguro. Siempre y cuando el ordenador sea
capaz de ejecutar el código, PHP es un lenguaje multiplataforma, es decir, no tiene importancia el
tipo de sistema operativo utilizado.

Swift

En el año 2010 se dio a conocer el lenguaje de programación propio que iba a utilizar, pero no fue
hasta el año 2014 cuando Apple empezó a aplicar Swift de manera oficial para crear apps de iOS y
Mac.

Desarrollado por Chris Lattner, es un lenguaje de código abierto ya que incluso programadores con
menos experiencia en la industria pueden formar parte de la comunidad y realizar sus aportaciones.

Además este es lenguaje que dada su rapidez y sencillez es altamente eficaz para proporcionar
información a tiempo real mediante la escritura Objective-C, su predecesor.

Ya que también es uno de los lenguajes más usados en el mundo, hay una gran cantidad de
bibliotecas al alcance de la mano del usuario. Elemento de gran valor para los nuevos
programadores, ya que existe una gran comunidad para resolver dudas.

Scala

Scala es un lenguaje de programación orientado a objetos que debido a su fuerte tipeado da soporte
a un tipo de programación más funcional. Una de las características más primordiales de este
lenguaje es que, como su nombre indica, es escalable. Deja en las manos del programador el estilo
de desarrollo, ya sea programación lógica, funcional u orientada a objetos.

Es un tipo de lenguaje fácilmente integrable y con bibliotecas de Java, ya que se ejecuta sobre una
máquina virtual de la segunda.
Existen distintos lenguajes de programación, cada uno de ellos, aplicables a los distintos frameworks
del sistema que vayas a utilizar o funcionalidad de plataforma que vayas a utilizar. Estos son algunos
de los lenguajes y tendencias que más fuerza van a tener en este 2018.

Gestores de bases de datos características.

El presente documento tiene por finalidad narrar sobre los sistemas de gestión de bases de datos ya
que son un tipo de software específico, dedicado a servir de interfaz entre las bases de datos,
además se identificaran algunas características, ventajas y desventajas de los diferentes gestores
de bases de datos como: My SQL, Oracle, Microsoft SQL, Microsoft Access, Visual Fox Pro, Postgre
SQL, Apache Derby, DB2, DB2 Express C y Sqlite. Además, se podrá comparar entre gestores de
bases de datos libre y comercial, pudiendo conocer las grandes diferencias de estos dos tipos.
También se podrá conocer a profundidad que tipos de gestores de bases de datos son más efectivos
al momento de elaborar un sistema informático y se podrá comparar entre los más poderosos y
eficientes así como también entre los más inseguros y tediosos para generar una base de datos.

Características, ventajas y desventajas de gestores de bases de datos.

My SQL
Características Ventajas Desventajas
My SQL es un software es
Open Source (código abierto), Una de las principales
Contiene un sólido y amplio además ofrece velocidad al desventajas de My SQL es que
subconjunto del lenguaje SQL. realizar las operaciones, lo que es muy limitada y no soporta
le hace uno de los gestores integridad relacional ni
con mejor rendimiento. transacciones en aplicaciones
Dispone una amplia cantidad web no muy complejas que
de plataformas transacciones Bajo costo en requerimientos requieren muchos usuarios.
y claves foráneas. para la elaboración de bases
de datos, ya que debido a su
bajo consumo puede ser
Contiene una conectividad ejecutado en una máquina con
segura y una búsqueda e escasos recursos sin ningún
indexación de campos de problema también posee
texto. facilidad de configuración e
instalación y soporta gran
Integración perfecta con PHP. variedad de Sistemas
Operativos.
Oracle
Características Ventajas Desventajas

Es una herramienta de Lo más ventajoso de Oracle es Una de las principales


administración gráfica que es que puede ejecutarse en todas desventajas de Oracle es el
muy intuitiva y cómoda de las plataformas, desde una PC elevado costo económico en
utilizar. hasta un supercomputador. licencias personales. Además
una mala configuración en la
Ayuda a analizar datos y Además soporta todas las instalación de este software lo
efectuar recomendaciones funciones que se esperan de convierte en un sistema
para mejorar el rendimiento y un servidor "serio" y permiten desesperante y lento.
la eficiencia en el manejo de el uso de particiones para la
aquellos datos que se mejora de la eficiencia, de
encuentran almacenados. replicación e incluso ciertas
versiones admiten la
También apoya en el diseño y administración de bases de
optimización de modelos de datos distribuidas.
datos.
Microsoft SQL Server
Características Ventajas Desventajas

Posee una compresión de Es útil para manejar y obtener Utiliza mucho la memoria
Datos que permite que los datos de la red de redes y RAM para las instalaciones y
datos se almacenen de una compatibilidad con la mayoría utilización de software.
manera más eficiente, y de las tareas administrativas
reduzca los requisitos de de SQL Server. No se puede utilizar como
almacenamiento para sus practicas porque se prohíben
datos. Al trabajar en una red social muchas cosas, tiene
permite agregar otros restricciones en lo particular.
La Compresión de Datos servidores de SQL Server, y
también ofrece mejoras puede ver las bases de datos Tiene muchos bloqueos a
significativas en el rendimiento del otro compañero. nivel de página, un tamaño de
para grandes cargas de trabajo página fijo y demasiado
pequeño, una pésima
implementación de los tipos de
datos variables.

Microsoft Access
Características Ventajas Desventajas

Dentro del archivo, puede Otorga capacidades para No es funcional para bases de
utilizar: aprovechar la información, datos de gran calibre (en
incluso si no es experto en cuanto a volumen de datos o
Tablas para almacenar los bases de datos. Además, a de usuarios)
datos, consultas para buscar y través de bases de datos web
recuperar únicamente los recién agregadas, Access Entre sus mayores
datos que necesita. amplía la eficacia de los datos, inconvenientes figuran que no
facilitando el seguimiento, la es multiplataforma, pues sólo
Formularios para ver, agregar creación de informes y el uso está disponible para sistemas
y actualizar los datos de las compartido con otras operativos de Microsoft, Su
tablas e informes para analizar personas. Los datos nunca uso es inadecuado para
o imprimir los datos con un estarán más allá del grandes proyectos de software
diseño específico. explorador web más cercano. que requieren tiempos de
respuesta críticos

Visual FoxPro
Características Ventajas Desventajas

Ofrece a los desarrolladores Flexibilidad para Construir Visual FoxPro es deficiente


un conjunto de herramientas Todo Tipo de Soluciones de debido a su menor capacidad
para crear aplicaciones Base de Datos. de procesamiento (no funciona
de bases de datos para el adecuadamente con grandes
escritorio, entornos Fácil de Actualizar. volúmenes de información).
cliente/servidor, tablet PC o
para la Web. Además posee herramientas
Entre sus características se de productividad Entendibles
pueden enumerar: para el Programador.
Capacidades poderosas y muy
veloces para el manejo de
datos nativos y remotos.
Flexibilidad para crear todo
tipo de soluciones de bases de
datos.

PostgreSQL
Características Ventajas Desventajas

Sus características técnicas la Instalación ilimitada Es 3 veces más lento que My


hacen una de las bases de SQL.
datos más potentes y robustos Fácil de Administrar y dispone
del mercado. de la flexibilidad para hacer La sintaxis de algunos de sus
investigación y desarrollo de comandos o sentencias no es
Diseñado para ambientes de sistemas sin necesidad de nada intuitiva y es muy
alto volumen y nadie puede incurrir en costos adicionales consumista de recursos.
demandarlo por violar de licenciamiento.
acuerdos de licencia, puesto No posee ayuda en línea hay
que no hay costo asociado a la Está disponible para más de foros oficiales, pero no hay una
licencia del software. 34 plataformas y es un ayuda obligatoria.
software de código abierto.

Apache Derby
Características Ventajas Desventajas

El tamaño del programa es Fácil manejo del programa e La principal desventaja que se
muy reducido, ocupando 2.6 instalación. encuentran en este gestor de
megabytes entre el motor base base de datos, se enfoca hacia
y controlador integrado JDBC, No necesita un administrador su lenguaje programático
utilizando muy poco espacio de base de datos. Java, debido a que no todas
en el computador donde se las aplicaciones son
instalara el programa. Controla la redundancia de compatibles con este lenguaje
datos, esto ayuda a reducir los programático, trayendo como
Es un software libre. datos que ocupan espacio consecuencia que las
innecesariamente dentro de la personas que no posean
base de datos. aplicaciones compatibles no
podrán utilizar este gestor de
base de datos.

DB2
Características Ventajas Desventajas

DB2 posee monitor gráfico el Permite agilizar el tiempo de Lentitud crear y ejecutar
cual posibilita observar el respuestas de una consulta consultas.
tiempo de ejecución de una
sentencia SQL y corregir Recuperación utilizando Utiliza mucho la memoria
detalles para aumentar el accesos de sólo índices. RAM para las instalaciones y
rendimiento. utilización de software.
Predicados correlacionados.
Permite gestionar tanto datos
relacionales convencionales
como datos XML, sin Posee tablas de resumen, DB2 posee un elevado costo
necesidad de que tengan que tablas replicadas, económico en licencias
ser transformados, esta unioneshash y utiliza una personales.
capacidad es única en el combinación de seguridad
mercado. externa y control interno de
acceso a proteger datos.

DB2 Express C
Características Ventajas Desventajas

Ofrece a los desarrolladores Permite Administrar datos Lentitud crear y ejecutar


un conjunto de herramientas Relacionales o datos XML. consultas.
para crear aplicaciones
de bases de datos para el Permite la construcción de Utiliza mucho la memoria
escritorio, entornos aplicaciones independientes, RAM para las instalaciones y
cliente/servidor, tablet PC o web, cliente-servidor y utilización de software.
para la Web. empresariales.

Squlite
Características Ventajas Desventajas

Squlite se caracteriza por ser No requiere configuración. Sqlite posee deficiencias en la


un motor de base de datos ágil herramienta where esta
y robusto diseñado para No se requiere uso de servidor limitación está dada por el
ambientes de alto volumen. (proceso activo para atender la soporte para clausuras
peticiones) anidadas, de igual forma es
Fácilmente portable notoria la falta de Claves
(multiplataforma Windows, Foráneas.
Linux, MAC, dispositivos
móviles, Tablet, etc.) y posee
un acceso mucho más rápido.

Bases de datos libres y comerciales

Diferencias entre gestores de bases de datos libres y comerciales


Bases de datos Libres Bases de datos Comerciales

Los gestores de bases de datos libres son Los gestores de bases de datos comerciales
aquellos que están en la web y que en su son aquellos de de una u otra forma necesitan
mayoría no es necesario disponer de un cierto de un tipo de licencia pagada.
valor económico para poder tener acceso a
tales gestores. La mayoría de bases de datos comerciales son
dominadas por el gigante Microsoft.
Bases de datos libres se caracteriza por ser un
software Open Source (código abierto). Es un software Closed Sourse (código cerrado).

Entre gestores de bases de datos libres son Entre los gestores de bases de datos
conocidos los siguientes: Comerciales son muy populares los siguientes:
 MySQL  Microsoft Access
 Sydes (linux)  Microsoft SQL Server
 SQLIFE  Open Access
 ProsgretSQL  Oracle
 Filebird  Paradox
 ApacheDerby  Adbantase
 DBD2 express-C DB2  Dbase
 Foxpro
Es una base de datos Free que tiende a  IBMDB2
ser muy eficiente y segura.  IBM Informics
 InterBase

Conclusiones

En la actualidad los diferentes gestores de bases de datos ya sean libres y no libres se ha


convertido en el motor empresarial del mercado mundial debido a que gracias a ellos se puede
mover una infinidad de datos que luego son convertidos en información, cabe detallar que la
aparición de estos dos grandes monstros tanto como libre y comercial a entablado una guerra en el
libre mercado en la cual la mayoría de personas los vincula como una guerra entre desarrolladores
de Linux y Microsoft.

Trabajar en un gestor de bases de datos comercial significa tener que cancelar algún tipo de
licencia para su libertad de uso, de igual manera significa no poder acceder a un código ya que los
software comerciales son exclusivamente Closed Source. También se puede mencionar que el
gestor más poderoso y seguro de la línea de bases de datos comerciales es ORACLE a pesar de
que el auge de bases de datos comerciales lo tiene Microsoft, Oracle es un gestor totalmente
desligado de ellos.

Al hablar de gestores de bases de datos libres la mayoría de personas vincula la palabra


FREE con GRATIS pero no es así, en algunas ocasiones es necesario cancelar alguna cuota
simbólica por el uso de algunas herramientas de algunos gestores libres, cabe mencionar que lo
gestores libres son la contra parte de los gestores comerciales debido esto poseen la calidad de
tener un código abierto con libertad de uso. Casi el 25% de la población conocedora de gestores de
bases de datos aun vincula los gestores libres con el ingenuo desarrollo del sistema operativo Linux.

Metodologías

RUP Y RAD

RAD

El desarrollo rápido de aplicaciones o RAD (acrónimo en inglés de rapid application development) es


un proceso de desarrollo de software, desarrollado inicialmente por James Maslow en 1980. El
método comprende el desarrollo interactivo, la construcción de prototipos y el uso de utilidades CASE
(Computer Aided Software Engineering). Tradicionalmente, el desarrollo rápido de aplicaciones
tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución.

Hoy en día se suele utilizar para referirnos al desarrollo rápido de interfaces gráficas de usuario tales
como Glade, o entornos de desarrollo integrado completos. Algunas de las plataformas más
conocidas son Visual Studio, Lazarus, Gambas, Delphi, Foxpro, Anjuta, Game Maker, Velneo o
Clarion. En el área de la autoría multimedia, software como Neosoft Neoboo y MediaChance
Multimedia Builder proveen plataformas de desarrollo rápido de aplicaciones, dentro de ciertos
límites.

RUP
El Proceso Unificado de Rational (Rational Unified Process en inglés, habitualmente resumido como
RUP) es un proceso de desarrollo de software desarrollado por la empresa Rational Software,
actualmente propiedad de IBM. Junto con el Lenguaje Unificado de Modelado UML, constituye la
metodología estándar más utilizada para el análisis, diseño, implementación y documentación de
sistemas orientados a objetos.

El RUP no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías


adaptables al contexto y necesidades de cada organización.

También se conoce por este nombre al software, también desarrollado por Rational, que incluye
información entrelazada de diversos artefactos y descripciones de las diversas actividades. Está
incluido en el Rational Method Composer (RMC), que permite la personalización de acuerdo con las
necesidades.

Originalmente se diseñó un proceso genérico y de dominio público, el Proceso Unificado, y una


especificación más detallada, el Rational Unified Process, que se vendiera como producto
independiente.

Programación extrema

Es un enfoque para el desarrollo de software que utiliza buenas practicas de desarrollo y las lleva
los extremos

Se basa en valores, principios y practicas esenciales.

Los cuatro valores son:

 La comunicación
 La simplicidad
 La retroalimentación
 La valentía

Sección de matemáticas

Teoría de conjuntos

Furier

Disctrac -recorridos

Permeaciones -combinaciones

C. Gestión de proyectos de tecnologías de información

1. Administración de proyectos de tecnologías de información

¿Qué es el PMBOK y por qué es importante para la gestión de proyectos?

La gestión de proyectos ya está presente en buena parte de las empresas y un 97% de éstas cree
que un gerenciamiento de proyectos es esencial para el éxito organizacional.

Esa creencia es fruto de diversas instituciones que fomentan las mejores prácticas de gestión de
proyectos del mundo, como es el caso del PMI (Proyect Management Institute).

Teniendo en cuenta la importancia de diseminar conocimientos de gestión que ayuden a las


organizaciones a obtener mejores resultados en los proyectos, el PMI elaboró la guía PMBOK
(Project Management Body Knowledge).
Con la lectura de esta publicación, conocerás exactamente de qué se trata esta guía y por qué es
tan hablada a la hora de gestionar nuevos proyectos. ¡No te despegues!

¿Qué es la Guía PMBOK?

La Guía PMBOK, o Guía de Conocimiento en Administración de Proyectos es un compilado de las


mejores prácticas en gestión de proyectos, elaborado por el PMI, una de las instituciones de mayor
renombre internacional en gestión de proyectos.

A lo largo de las 600 páginas de esta referencia teórica y práctica, el profesional entra en contacto
con 10 áreas de administración de proyectos, donde aprende a planificar, ejecutar y controlar todas
las fases de un proyecto desarrollado en forma de cascada, en otras palabras, en fases secuenciales.

Considerado la “biblia de la gestión de proyectos”, el PMBOK posee conocimientos adquiridos por


profesionales de todo el mundo, reunidos y recopilados de forma didáctica para que cualquier
persona pueda desarrollar proyectos de complejidades que pueden ir desde bajas hasta altas.

A partir de los conceptos utilizados en el segmento, la Guía PMBOK describe el ciclo de vida de un
proyecto de forma completa, considerando los procesos, actividades y documentos relacionados.

Proporciona normas, técnicas, métodos y procesos consolidados con años de experiencia,


proporcionando subsidios para una gestión estratégica y eficaz.

Las áreas con las cuales los profesionales de proyectos aprenden a manejar son:

Gestión de alcance;

Gestión de tiempo;

Gestión de costos;

Gestión de calidad;

Gestión de adquisiciones;

Gestión de recursos humanos;

Gestión de comunicaciones;

Gestión de riesgos;

Gestión de las partes interesadas;

Gestión de integración

¿Cuál es la importancia del PMBOK en la gestión de proyectos?

A partir de los conocimientos adquiridos con el PMBOK, el gestor de proyectos tiene la posibilidad
de estandarizar los procesos, establecer directrices claras de gestión y socializar la información de
forma adecuada, garantizando una mayor confiabilidad y calidad en la gestión de proyectos.

Lea también: Los indicadores de rendimiento que no puedes perder de vista en la gestión de
proyectos

Al inicio de la implementación de un PMO (Proyect Management Office), por ejemplo, se elaboran


los documentos de registro y control, que se pueden utilizar en cualquier iniciativa de la empresa.
También se definen normas y procedimientos para que el trabajo del equipo del proyecto se ejecute,
de forma alineada a la estrategia de la organización.
La distribución de responsabilidades se vuelve más transparente y cada profesional involucrado
conoce cuáles son los inputs de sus actividades, además de sus outputs. El control de cronograma,
así como el seguimiento de la EAP (Estructura Analítica del Proyecto), dan la dimensión necesaria
para que cada colaborador sepa exactamente qué debe hacerse y cuándo debe hacerse.

El registro detallado de todas las actividades y decisiones de cada proyecto es utilizado para la
elaboración del Manual de Lecciones Aprendidas, es decir, un compilado de las experiencias
positivas y negativas vividas por el equipo en cada proyecto desarrollado.

Lea también: Comunicación efectiva y gestión de proyectos, ¿Cómo combinar ambas cosas?

Este documento forma parte del conocimiento corporativo, un historial a ser consultado siempre que
sea necesario. Con él, es posible conservar el aprendizaje de la empresa en la ejecución de
proyectos y entrenar a nuevos colaboradores para que vengan y formen parte del equipo.

Además, del PMBOK, existen otros modelos de gestión de proyectos y otros conjuntos de mejores
prácticas que se pueden implementar en su empresa. ¡Mantente alerta a todas las novedades de
Stratec, regístrate en nuestro boletín de noticias y haz que la gestión de proyectos sea parte de tu
vida.

Costos, tiempo, personas

2. Control de calidad de proyectos de tecnologías de información

Métricas :Como medir calidad del software

Cantidad de horas hombre, líneas de código, errores .

ISO Calidad 901

ISO 9001 Sistemas de Gestión de la Calidad

¿Qué es ISO 9001?

ISO 9001 es una norma de sistemas de gestión de la calidad (SGC) reconocida internacionalmente.
La norma ISO 9001 es un referente mundial en SGC, superando el millón de certificados en todo el
mundo.

¿Quién puede aplicar ISO 9001?

La norma ISO 9001 es aplicable a cualquier organización – independientemente de su tamaño y


ubicación geográfica. Una de las principales fortalezas de la norma ISO 9001 es su gran atractivo
para todo tipo de organizaciones. Al centrarse en los procesos y en la satisfacción del cliente en
lugar de en procedimientos, es igualmente aplicable tanto a proveedores de servicios como a
fabricantes.

Los sectores internacionales siguen centrando sus esfuerzos en la calidad, con SGC específicos
derivados de la norma ISO 9001, aplicables a los sectores de la automoción, aeroespacial, defensa
y medicina.

¿Por qué es importante ISO 9001 para su negocio?

La norma ISO 9001 de sistemas de gestión de la calidad proporciona la infraestructura,


procedimientos, procesos y recursos necesarios para ayudar a las organizaciones a controlar y
mejorar su rendimiento y conducirles hacia la eficiencia, servicio al cliente y excelencia en el
producto.
"Las organizaciones que aplican la norma ISO tienen mayores tasas de supervivencia, de ventas y
de crecimiento de puestos de trabajo".

Mike Toffel, Associate Professor, Harvard Business School

La certificación ISO 9001 SGC le ayuda a transmitir:

Compromiso a sus accionistas

Reputación de su organización

Satisfacción de cliente

Ventaja competitiva

En los últimos años se han realizado numerosos estudios independientes que demuestran los
beneficios de implementar la norma ISO 9001; uno de ellos es un artículo recientemente publicado
en una prestigiosa revista revisada por periodistas académicos de Harvard Business School.

Beneficios de ISO 9001 con LRQA Business Assurance

Los sistemas de gestión están cada vez más vinculados con el éxito y supervivencia de las
organizaciones. De forma paralela, directores generales y gerentes de todo el mundo enfatizan la
importancia que tienen las auditorías independientes para ayudar a asegurar que los sistemas de
gestión alcanzan sus objetivos.

Nuestra metodología única, LRQA Business Assurance, ayuda a las organizaciones a gestionar sus
sistemas y sus riesgos para mejorar y proteger sus resultados presentes y futuros. Ofrecemos
certificación y formación en las principales normas de SGC.

Para organizaciones que tienen otras normas implementadas, solemos ofrecer auditorías integradas
para ahorrar tiempo y dinero.

ENIAC

ISO/IEC 9126

La medida en que un producto o servicio satisface los requerimientos de una función dada.

Entonces, ¿qué es la calidad de un producto software? Existen dos enfoques posibles:


 Calidad funcional. Refleja en qué medida el software cumple con o se ajusta a un determinado
diseño, basado en requerimientos funcionales. Éstos abarcan las actividades del software que
involucran procesamiento de datos de entrada.
 Calidad estructural. Refleja en qué medida el software cumple con los requerimientos no
funcionales, como rendimiento, capacidad de mantenimiento o escalabilidad.
El estándar ISO/IEC 9126 presenta la calidad del software como un conjunto de seis características
globales:

 Funcionalidad. Las funciones del software son aquellas que buscan satisfacer las necesidades
del usuario.
 Confiabilidad. La capacidad del software de mantener su rendimiento bajo ciertas condiciones
durante cierto período de tiempo.
 Usabilidad. Basada en el esfuerzo necesario para utilizar el software por parte de un grupo de
usuarios.
 Eficiencia. Basada en la relación entre el nivel de rendimiento del software y el volumen de
recursos utilizado, bajo ciertas condiciones.
 Capacidad de mantenimiento. Basada en el esfuerzo necesario para realizar modificaciones
específicas.
 Portabilidad. Basada en la capacidad del software para ser transferido de un entorno a otro.
El cuidado de estos aspectos durante todo el ciclo de vida del software redundará en productos que no
sólo satisfarán las exigencias del usuario, sino que además serán más fáciles de mantener y modificar
una vez realizada la entrega al cliente.

Servidores:

que lenguajes de programación se pueden montar

IIS montar servidor

Se aplica a: Windows Server 2012 R2, Windows Server 2012


En este documento, se presenta el rol Servidor web (IIS) de Windows Server® 2012, se describen
las nuevas características de IIS 8 y se proporcionan vínculos a información adicional sobre IIS de
Microsoft y de la comunidad.
Quizá lo que busca es…

Información general sobre Servidor de aplicaciones

Información general sobre seguridad y protección

Servidor web (IIS 7)

Plataforma del servidor web de hospedaje sencillo (IIS): Información general sobre el escenario

Descripción del rol

El rol Servidor web (IIS) en Windows Server 2012 proporciona una plataforma segura, fácil de
administrar, modular y extensible donde hospedar sitios web, servicios y aplicaciones de manera
confiable. Con IIS 8, puede compartir información con usuarios en Internet, en una intranet o en una
extranet.IIS 8 es una plataforma web unificada que integra IIS, ASP.NET, servicios de FTP, PHP y
Windows Communication Foundation (WCF).

En la lista siguiente, se indican solo algunas de las ventajas que obtendrá al usar IIS 8:

La seguridad web se refuerza gracias a una superficie reducida de servidor y al aislamiento


automático de aplicaciones.

Podrá implementar y ejecutar aplicaciones web de ASP.NET, ASP clásico y PHP en el mismo
servidor de forma sencilla.

Se logra el aislamiento de aplicaciones al proporcionar a los procesos de trabajo una identidad única
y una configuración en espacio aislado de manera predeterminada, lo que reduce aún más los
riesgos de seguridad.

Podrá agregar y eliminar componentes IIS integrados e incluso reemplazarlos fácilmente por
módulos personalizados que se adapten a las necesidades del cliente.

Aumenta la velocidad del sitio web mediante el almacenamiento en caché dinámico integrado y la
compresión mejorada.
Aplicaciones prácticas

Los administradores pueden usar el rol Servidor web (IIS) para instalar y administrar varios sitios
web, aplicaciones web y sitios FTP. Estas son algunas de las características específicas:

Use el Administrador de IIS para configurar características de IIS y administrar sus sitios web.

Use el Protocolo de transferencia de archivos (FTP) para permitir que los propietarios de sitios web
carguen y descarguen archivos.

Use el aislamiento de sitios web para protegerse contra la interferencia de un sitio web con otros
sitios en el servidor.

Configure aplicaciones web que están escritas con varias tecnologías, como ASP clásico, ASP.NET
y PHP.

Use Windows PowerShell para automatizar la administración de la mayor parte de las tareas de
administración del servidor web.

Configure varios servidores web en una granja de servidores que puede administrar mediante IIS.

Aproveche al máximo el hardware NUMA y obtenga un rendimiento óptimo del servidor con NUMA
habilitado.

Sahmp .NET,PHP

D. Implementación de redes, bases de datos, sistemas operativos y lenguaje de desarrollo

1. Gestión de redes de datos

Tipos de cableado

Como conectar un hub

Configuración de redes

Dinámicas (como sé que están conectadas)

Comandos de redes ip….

Seguridad en redes

http

smtp:correos con autenticación ,sin autenticación

comandos MEGANET

Puertos que están abiertos y revisar SMTP

Introducción
La base de cualquier comunicación es una transmisión de señal. Las redes de ordenadores vienen
a cubrir estos dos aspectos: transmisión y comunicación.
A través del cableado de la red se puede transmitir señales eléctricas adecuadas de la naturaleza
del cable, pero la red no sólo debe entregar está señal en su destino, sino que además debe
garantizar que la información que originó el emisor llega al receptor, de modo que el mensaje
permanezca integró durante el recorrido.
CONCEPTOS
PROTOCOLO Es un conjunto de reglas perfectamente organizadas y convenidas de mutuo
acuerdo entre los participantes en la comunicación, cuya misión es regular
algún aspecto de esta.
SISTEMA Compuesto por uno o mas ordenadores que constituyen un sistema autónomo
ABIERTO capaz de realizar un tratamiento de la información.

Redes de área local (LAN)


Una red local LAN (local área Network) proporciona interconexión entre dispositivos en un área
privada y restringida. Sus características son las siguientes:

 Toda la red pertenece a la misma organización.


 La principal función de una red consiste en que nos ordenadores de la red puedan compartir
recursos mediante intercambio de paquetes de datos entre los distintos equipos conectados
a la línea de transmisión

Red entre iguales peer to peer o P2P


Es una red en la que todos los nodos se comportan como clientes y servidores simultáneamente de
modo que cualquier servicio brindado a la red directamente al cliente que lo solicita sin necesidad de
intermediarios.

Redes de área extensa (WAN)


Una red de área extensa extendida WAN (Wide Area Network) es una red que intercomunica equipos
en un área geográfica muy amplia.
Las transmisiones en una WAN se realizan a través de líneas públicas.
La capacidad de transmisión de estas líneas suele ser menor que las utilizadas en las redes de área
local.
Además, son compartidas por muchos usuarios a la vez, lo que exige un acuerdo en los nodos de
transmisión y en las normas de interconexión a la red.
La taza de terror de control comunicaciones en las redes de área extensa son mayores.
Internet es un ejemplo de red de servicios estructurada sobre una red de área extensa de alcance
mundial.

Computación en la nube
La computación de la nube (cloud computing) es un nuevo modelo de utilización de los recursos
informáticos de modo que todo se brinda cómo servicio deslocalizado.

La nube puede ser privada en donde toda la infraestructura necesaria es de un propietario, públicas
en donde la infraestructura se contrata con proveedores externos a la corporación que proporcionen
servicios públicos; o hibridad en las que se dispone de infraestructuras privadas complementada con
otras públicas

Redes metropolitanas (MAN)


Una red metropolitana es una red de distribución de datos para un área geográfica en el entorno de
una ciudad. Este tipo de redes es apropiado por ejemplo para la distribución de televisión por
cable.

Redes de área personal (PAN)


Es una red de computadoras para la comunicación entre distintos dispositivos (computadoras,
puntos de acceso a internet, teléfonos celulares, PDA, dispositivos de audio, impresoras) cercanos
al punto de acceso.

Redes de área local inalámbricas (WLAN)


Sistemas abiertos
Sistemas abiertos fueron propuestos inicialmente por la ISO como aquellos sistemas compuestos
por uno o más ordenadores, constituye un todo autónomo capaz de realizar un tratamiento de la
información.

FAMILIA DE PROTOCOLOS USUALES


NetBeui
Es un protocolo desarrollando IBM en 198, para resolver las comunicaciones en las redes de área
local. Usado en sistemas operativos de Windows.

AppleTalk
Es la raíz de igual diseñada para Apple. El diseño original se pensó para compartir ficheros e
impresoras entre los usuarios de la red de modo que su configuración fuera tan sencilla.
Actualmente apple utiliza un núcleo UNIX que incorpora una red TCP/IP.

TC/IP
IP es tan grande que la mayor parte de las reglas luego hablamos.

MODELO OSI
OSI es un estándar de interconexión de sistemas abiertos.
Estructura los servicios de red en 7 capas o niveles

NIVEL 1 Capa física: Se ocupa


de transmisiones de los bits
expresados cómo señales físicas.
Define las características
mecánicas, eléctricas,
funcionales y de procesamiento
para establecer y liberar
conexiones entre dos equipos de
la red.

NIVEL 2 Enlace de datos : La


capa de enlace debe fraccionar el
mensaje en bloques de datos
también se ocupara del
tratamiento de los errores que se
produzcan. Esta capa tiene dos
subniveles (MAC y LLC).
 MAC: Se encarga de
averiguar si el canal de
comunicación este libro
para proceder a efectuar
la transmisión. Está capa
se encarga del reparto de
recursos de transmisión
entre todos los nodos de
la red. Este subnivel
MAC se definen la
direccione física o
dirección MAC que
identifica una capa de
dispositivos en red
unívocamente.
 Está capa se sitúa en los
servicios que gestionan
el enlace de
comunicación por
ejemplo control de
errores de la información
Y control de dialogo entre
emisor y receptor de
direccionamiento en la
subcapa Mac.

NIVEL 3 Enrutamiento o
dirección: Se encarga del
tratamiento de elección de la ruta
adecuada para que el bloque de
datos de nivel de red o paquete
llegue a su destino.

NIVEL 4 Capa de transporte: La


capa lleva a cabo las
comunicaciones y entrenadores
es decir el en donde del emisor y
el receptor cobraran
comunicación.

NIVEL 5 Sesión: Está capa


permite el diálogo entre emisor y
receptor estableciendo una
sesión se puede llevar a cabo en
transporte de datos ordinario. La
capa de sesión mejora el servicio
de la capa de transporte.
INSTALACION DE RED

El medio de transmisión es el soporte físico que facilita el transporte de la información y supone


una parte fundamental en la comunicación de datos. La calidad de la transmisión dependerá de
sus características físicas, mecánicas, eléctricas, etc.

Cable UTP (EL QUE USAMOS Y PONCHAMOS CON ISMA, el cabeza se llama RJ45)
UTP son las siglas de Unshielded Twisted Pair. Es un cable de pares trenzado y sin recubrimiento
metálico externo, de modo que es sensible a las interferencias. Es un cable barato, flexible y
sencillo de instalar.
Este tipo de cable o conexión ( bueno la parte del cable por la que se conecta Ethernet, se le llama
EIA/TIA

CABLE STP
STP son las siglas de Shielded Twisted Pair. Este cable es semejante al UTP pero se le añade un
recubrimiento metálico para evitar las interferencias externas. Este recubrimiento debe ser
conectado a la tierra de la instalación. Por tanto, es un cable más protegido, pero menos flexible
que el UTP. El sistema de trenzado es idéntico al del cable UTP. Tiene mas enfoque para entornos
electricos.

Es mucho más fácil instalar cable UTP que STP debido a que STP, al estar apantallado, es mucho
menos flexible, lo que a veces dificulta el tendido del cable. Además, las mallas protectoras de los
cables STP deben estar conectadas a tierra, lo que multiplica el trabajo.
2. Gestión de bases de datos

3. Gestión de sistemas operativos o lenguajes de

Sistemas opertivos

Características

MICROSOFT Tradicionalmente NetBeui ha sido el protocolo de red nativo de los


WINDOWS sistemas de Microsoft accesible a través de NetBios, actualmente el
protocolo nativo adoptado por Microsoft es TCP/IP.
UNIX Sistema operativo autónomo y con máxima flexibilidad. La tecnología de
red nativa es TCP/IP .
GNU/LINUX Sistema operativo que sigue la tecnología de UNIX, pero se distribuye
gratuitamente bajo licencia GPL.
Mac OS X Mac no es mas que un sistema UNIX su protocolo nativo es UNIX.
¿Qué es?

El sistema operativo es una colección de programas que:

Inicia el hardware del equipo.

Proporciona funciones básicas para el control de dispositivos.

Proporciona administración e interacción de tareas.

Mantiene la integridad del sistema.

Funciones

Un ordenador, es controlado por un SO (Sistema Operativo), sigla utilizada para designar a esta
clase de software. En la práctica un SO es la interfaz entre el usuario y la máquina cuyas principales
funciones son:

Gestión de procesos.

Gestión de memoria.

Sistema de archivos.

Entrada y salida de datos.

Componentes

Un sistema operativo está compuesto por varios componentes que permiten el funcionamiento del
ordenador.

Los componentes más importantes son:

Núcleo o kernel.

Red.

Seguridad.

Interfaz.

El kernel o núcleo junto con los drivers y el firmware1, proporciona el nivel más básico de control
sobre los dispositivos de hardware del equipo. Esto administra los accesos a la memoria RAM y
determina qué programas tienen mayor prioridad y cuáles son los recursos del hardware al que
acceden las aplicaciones.

Tipos de sistemas operativos

Actualmente hay varios sistemas operativos: el más conocido y popular es el Windows, que se creó
en el año 1981 por la empresa Microsoft, también se destacan el Linux, Unix, AmigaOS y Mac
OS (SO cuyo creador es la empresa Apple para sus computadoras Macintosh); y para los teléfonos
móviles se encuentran el Android, Windows Phone, Bada, Symbian, Web OS y Black Berry OS.
Comandos

Cat

Cat (de concatenar), es una maravillosa utilidad que nos permite visualizar el contenido de un archivo
de texto sin la necesidad de un editor. Para utilizarlo solo debemos mencionarlo junto al archivo que
deseamos visualizar:

$ cat prueba.txt

Ls

Ls (de listar), permite listar el contenido de un directorio o fichero. La sintaxis es:

$ ls /home/directorio

El comando ls tiene varias opciones que permiten organizar la salida, lo que resulta particularmente
útil cuando es muy grande. Por ejemplo, puedes usar -a para mostrar los archivos ocultos y -l para
mostrar los usuarios, permisos y la fecha de los archivos. Así como para todos los comandos Linux,
estas opciones pueden combinarse, terminando en algo como:

$ ls -la /home/directorio

Cd

Cd (de change directory o cambiar directorio), es como su nombre lo indica el comando que
necesitarás para acceder a una ruta distinta de la que te encuentras. Por ejemplo, si estas en el
directorio /home y deseas acceder a /home/ejercicios, seria:

$ cd /home/ejercicios

Si estás en /home/ejercicios y deseas subir un nivel (es decir ir al directorio /home), ejecutas:

$ cd ..

Touch

Touch crea un archivo vacío, si el archivo existe actualiza la hora de modificación. Para crear el
archivo prueba1.txt en /home, seria:

$ touch /home/prueba1.txt

Mkdir

Mkdir (de make directory o crear directorio), crea un directorio nuevo tomando en cuenta la ubicación
actual. Por ejemplo, si estas en /home y deseas crear el directorio ejercicios, sería:

$ mkdir /home/ejercicios

Mkdir tiene una opción bastante útil que permite crear un árbol de directorios completo que no existe.
Para eso usamos la opción -p:

$ mkdir -p /home/ejercicios/prueba/uno/dos/tres

Mv

Mv (de move o mover), mueve un archivo a una ruta específica, y a diferencia de cp, lo elimina del
origen finalizada la operación. Por ejemplo:

$ mv /home/prueba.txt /home/respaldos/prueba2.txt
Al igual que cp, en la sintaxis se especifica primero el origen y luego el destino. Si indicamos un
nombre de destino diferente, mv moverá el archivo o directorio con el nuevo nombre.

Cp

Cp (de copy o copiar), copia un archivo o directorio origen a un archivo o directorio destino. Por
ejemplo, para copiar el archivo prueba.txt ubicado en /home a un directorio de respaldo, podemos
usar:

$ cp /home/prueba.txt /home/respaldo/prueba.txt

En la sintaxis siempre se especifica primero el origen y luego el destino. Si indicamos un nombre de


destino diferente, cp copiará el archivo o directorio con el nuevo nombre.

El comando también cuenta con la opción -r que copia no sólo el directorio especificado sino todos
sus directorios internos de forma recursiva. Suponiendo que deseamos hacer una copia del directorio
/home/ejercicios que a su vez tiene las carpetas ejercicio1 y ejercicio2 en su interior, en lugar de
ejecutar un comando para cada carpeta, ejecutamos:

$ cp -r /home/ejercicios /home/respaldos/

Rm

Rm (de remove o remover), es el comando necesario para borrar un archivo o directorio. Para borrar
el archivo prueba.txt ubicado en /home, ejecutamos:

$ rm /home/prueba.txt

Este comando también presenta varias opciones. La opción -r borra todos los archivos y directorios
de forma recursiva. Por otra parte, -f borra todo sin pedir confirmación. Estas opciones pueden
combinarse causando un borrado recursivo y sin confirmación del directorio que se especifique. Para
realizar esto en el directorio respaldos ubicado en el /home, usamos:

$ rm -fr /home/respaldos

Este comando es muy peligroso, por lo tanto es importante que nos documentemos bien acerca de
los efectos de estas opciones en nuestro sistema para así evitar consecuencias nefastas.

Pwd

Pwd (de print working directory o imprimir directorio de trabajo), es un conveniente comando que
imprime nuestra ruta o ubicación al momento de ejecutarlo, así evitamos perdernos si estamos
trabajando con múltiples directorios y carpetas. Su sintaxis seria:

$ pwd

Clear

Clear (de limpiar), es un sencillo comando que limpiara nuestra terminal por completo dejándola
como recién abierta. Para ello ejecutamos:

$ clear

Como bonus les recomiendo utilizar man que muestra una documentación completa de todos los
comandos. Para clear, por ejemplo:

$ man clear
Niveles de seguridad de usuarios

(777,666) solo lectura…

que son Los permisos 777 755 700 664 666 y CHMOD

Aquí hay una tabla de números que cubre todos los ajustes comunes. Los que comienzan con "7"
se utilizan con los programas (ya que permiten la ejecución) y el resto son de otros tipos de archivos.

Valor Significado

777(Rwxrwxrwx) No hay restricciones en los permisos. Cualquier persona puede hacer cualquier
cosa. Generalmente no es un escenario deseable.

755(Rwxr-xr-x) El propietario del fichero puede leer, escribir y ejecutar el archivo. Todos los otros
pueden leer y ejecutar el archivo. Este ajuste es común para los programas que son utilizados por
todos los usuarios.

700(Rwx ------) El propietario del fichero puede leer, escribir y ejecutar el archivo. Nadie más tiene
ningún derecho. Esta configuración es útil para los programas que sólo el propietario puede utilizar
y debe mantenerse privada de los demás.

666(Rw-rw-rw-) Todos los usuarios pueden leer y escribir en el archivo.

644(Rw-r - r -) El propietario puede leer y escribir en un archivo, mientras que todos los demás sólo
pueden leer el archivo. Un valor común para los archivos de datos que todo el mundo puede leer,
pero sólo el propietario puede cambiar.

600(Rw -------) El propietario puede leer y escribir en un archivo. Todos los demás no tienen
derechos. Un valor común para los archivos de datos que el propietario quiere mantener en privado.

Los permisos de directorio

El comando chmod también se puede utilizar para controlar los permisos de acceso para los
directorios. En muchos aspectos, el régimen de permisos para los directorios funciona de la misma
manera que lo hacen con los archivos. Sin embargo, el permiso de ejecución se utiliza de una manera
diferente. Proporciona control para el acceso a la lista de archivos y otras cosas. Aquí están algunas
opciones útiles para los directorios:

Valor y Significado

777(Rwxrwxrwx) No hay restricciones en los permisos. Cualquier persona puede listar los archivos,
crear nuevos archivos en el directorio y borrar archivos en el directorio. Generalmente no es una
buena puesta a punto.

755(Rwxr-xr-x) El propietario del directorio tiene acceso completo. Todos los otros pueden enumerar
el directorio, pero no pueden crear archivos ni borrarlos. Este ajuste es común para los directorios
que desee compartir con otros usuarios.

700(Rwx ------) El propietario del directorio tiene acceso completo. Nadie más tiene ningún derecho.
Esta configuración es útil para los directorios que sólo el propietario puede utilizar y debe mantenerse
privada de los demás.

chmod
El comando chmod se usa para cambiar los permisos de un archivo o directorio. Para utilizarlo, se
debe especificar la configuración deseada de permisos y el archivo o archivos que desea modificar.
Hay dos maneras de especificar los permisos, pero sólo voy a enseñar una manera.

Es fácil pensar en la configuración de permisos como una serie de bits (que es como la computadora
piensa acerca de ellos). He aquí cómo funciona:

rwx rwx rwx = 111 111 111

rw-rw-rw-= 110 110 110

rwx ------ = 111 000 000

y así sucesivamente ...

rwx = 111 en binario = 7

rw-= 110 en binario = 6

rx = 101 en binario = 5

r - = 100 en binario = 4

Vous aimerez peut-être aussi