Académique Documents
Professionnel Documents
Culture Documents
Ingeniería de software asistida por computadora (Case Computer Aided Software Engineering).
Se utilizan para generar código fuente de computadora, eliminando así la necesidad de programar
el sistema
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.
Modelado de análisis
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.
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
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
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
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.
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:
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
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
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 .
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 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:
• 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 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 proporcionan plantillas que nos guían en la construcción de un sistema.
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.
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
Características
Escalable
Flexible
Extensible
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
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 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.
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 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 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.
Los atributos de cada objeto de datos señalados ene l DER se pueden describir mediante una
descripción de objetos de datos.
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.
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
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.
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
2. Desarrollo de sistemas
3. Implantación de sistemas
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.
-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".
Herramientas
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.
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.
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.
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
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
PostgreSQL
Características Ventajas Desventajas
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
Squlite
Características Ventajas Desventajas
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
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.
Metodologías
RUP Y RAD
RAD
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.
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.
Programación extrema
Es un enfoque para el desarrollo de software que utiliza buenas practicas de desarrollo y las lleva
los extremos
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
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).
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.
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.
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 comunicaciones;
Gestión de riesgos;
Gestión de integración
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
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.
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.
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.
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.
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.
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:
Plataforma del servidor web de hospedaje sencillo (IIS): Información general sobre el escenario
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:
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
Tipos de cableado
Configuración de redes
Seguridad en redes
http
comandos MEGANET
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.
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
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
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
Sistemas opertivos
Características
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.
Componentes
Un sistema operativo está compuesto por varios componentes que permiten el funcionamiento del
ordenador.
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.
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 /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
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
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.
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.
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:
rx = 101 en binario = 5
r - = 100 en binario = 4