01 Material .net
Short Description
Basico sobre C# fundamentos...
Description
Conceptos básicos de programación
Capítulo 1 Conceptos básicos de programación programación
Objetivo Al finalizar el capítulo, capítulo, el alumno: alumno:
Conoce los principales principales conceptos referentes a la programación. Identifica qué es un sistema informático y su importancia para las empresas modernas. Reconoce los principales lenguajes de programación y sus herramientas para el desarrollo de aplicaciones. aplicaciones. Establece las fases en la elaboración de un programa.
Temas 1. 2. 3. 4. 5.
¿Qué es un programa? ¿Qué es un sistema informático? Lenguajes de programación Herramientas de desarrollo desarrollo actuales Fases en la elaboración de un programa
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
1
Conceptos básicos de programación
1.
¿Qué es un programa?
Existen muchas definiciones de programa, algunas más complejas que otras, pero podemos al fin y al cabo resumir todos estos conceptos en uno solo: “ Conjunto
de sentencias dadas en un orden lógico y en un determinado lenguaje de programación que tienen como propósito fundamental dar respuesta a un problema dado, mediante el uso del computador ”. Consideramos que, dadas las herramientas actuales, no es complicado elaborar un programa, siempre y cuando quien lo elabore tenga los conceptos claros y sólidos con respecto a la programación y siempre y cuando sea una persona que le apasione y esté predispuesta a desarrollar soluciones por medio del computador. Recuerde
No necesita ser un erudito en matemáticas, ni un científico de prestigio para ser un programador. Lo importante es tener una lógica clara y abierta a percibir criterios nuevos y aplicarlos a las soluciones que quiera implementar.
1.1
La programación Se entiende por programación a la técnica mediante la cual un programador adquiere las pautas y conceptos para poder desarrollar programas. A través de los años, se han dado muchas de estas técnicas, siendo las más conocidas las siguientes:
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
2
Conceptos básicos de programación
Programación Estructurada (PE) La programación estructurada está compuesta por un conjunto de técnicas que han ido evolucionando, aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo. Un programa está estructurado si posee un único punto de entrada y solo uno de salida, existen de “1 a n” caminos desde el principio hasta el fin del programa y por último, que todas las instrucciones son ejecutables sin que aparezcan bucles infinitos.
Programación Modular La programación modular consta de varias secciones divididas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad. En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros. A su vez, cada módulo puede contener sus propios datos y llamar a otros módulos o funciones.
Programación Orientada a Objetos (POO) Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos. El elemento principal de la programación orientada a objetos es el objeto. Este es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización. Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.
Programación Concurrente Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez. Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma simultánea. Se trata de una programación más lenta y laboriosa, obteniendo unos resultados lentos en las acciones.
Programación Funcional Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras funciones.
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
3
Conceptos básicos de programación
Programación Lógica Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una programación basada en el cálculo de predicados (una teoría matemática que permite lograr que un ordenador, basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).
En vez de hablar de técnicas o tipos de programación, se habla también de paradigmas de programación, los cuales son una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitados. Referencia
En el caso desee conocer cuáles son los paradigmas de programación, puede consultar el siguiente link: https://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n
1.2
Los desarrolladores El término p r o g r a m a d o r fue empleado por mucho tiempo para identificar a la persona encargada de elaborar los programas. En un inicio, su responsabilidad solo era esa, dejando las tareas de análisis y diseño a otros especialistas. Hoy en día, la competitividad nos obliga a tener un perfil completo en cuanto a la elaboración de soluciones informáticas y no encasillarnos en un solo aspecto. Es por eso que ahora nace el perfil del “desarrollador de aplicaciones”, como un perfil que abarca los conocimientos más importantes del profesional en el rubro. Este perfil cubre los aspectos de análisis y diseño de sistemas, así como la programación, pasando por temas como modelamiento de base de datos y arquitectura de aplicaciones, teniendo sólido conocimiento sobre el proceso de desarrollo de software. El nivel de conocimientos debe ser evolutivo y actualizado con el paso del tiempo, dado que la aparición de herramientas nuevas nos obliga a ello.
1.3
Características de un buen programa Las siguientes son las principales características que todo buen programa debe tener:
Corrección. El programa debe resolver correctamente la tarea encomendada. Portabilidad. El programa debe comportarse del mismo modo, independientemente de donde lo ejecutemos. Eficiente. Además de cumplir con corrección, debe hacer un uso eficiente de los recursos del computador. Claridad. Debe ser fácil de entender y de mantener.
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
4
Conceptos básicos de programación
2.
¿Qué es un sistema informático?
La definición más popular y divulgada de sistema es el siguiente: “conjunto de elementos relacionados entre sí para la obtención de un objetivo común”. Podremos afirmar entonces que, un sistema informático es el “conjunto de
elementos de hardware y software que procesan datos para obtener información resultante que permita mantener la eficacia en la toma de decisiones dentro de una organización”. Hoy en día, las empresas modernas destinan una partida alta de su presupuesto a la elaboración de sistemas informáticos, porque son conscientes que la tecnología aplicada a sus procesos administrativos, le permitirán una mejor gestión de su información, manteniendo al día su contabilidad, sus registros financieros, sus stocks, su control de pagos, etc.; aspectos que redundan en una buena toma de decisiones y mejor imagen de la empresa ante el mercado, que la verá como una empresa sólida y de vanguardia tecnológica. Recuerde
La tecnología es indispensable para el funcionamiento eficiente de una organización, sea cual sea su rubro. Es por eso importante que, los profesionales con perfil en el desarrollo de aplicaciones comerciales estén preparados para enfrentar retos que en la actualidad las empresas necesitan asumir.
2.1
Beneficios de un sistema informático Los beneficios se pueden establecer en los siguientes aspectos de la organización, los cuales se conocen como las “5C” :
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
5
Conceptos básicos de programación
Capacidad -
Comunicación -
Evitar pérdidas Saber qué tenemos, en qué estado y dónde lo tenemos Evitar procesos caóticos y conflictivos
Competitividad -
2.2
Reducción de costos Saber en que invertimos Planificación de los compromisos a terceros
Control -
Integración entre las áreas del negocio Compartir información Mejores y más seguros conductos de comunicación
Costos -
Mayor volumen de información a procesar Mayor cobertura Mayor cantidad de transacciones soportadas
Nos hará más fuertes ante la competencia El mercado nos considerará como una empresa innovadora, que se adapta fácilmente a las necesidades cada vez más cambiantes de los clientes.
Ámbitos de aplicación de los sistemas informáticos Los ámbitos de acción de los sistemas informáticos son muy amplios. Desde la parte comercial o financiera, hasta la gestión de información científica o estadística, pasando por los temas logísticos, de recursos humanos, académicos, artísticos, deportivos, etc. Como ya se indicó, en la actualidad, cualquier actividad del ser humano está presta a poder ser procesada por un sistema, de tal forma que se pueda obtener el máximo provecho en el aspecto de información y control de las actividades a administrar.
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
6
Conceptos básicos de programación
3.
Lenguajes de programación
Un lenguaje de programación es un lenguaje artificial que permite elaborar programas para computadores. Poseen sus propias reglas sintácticas y semánticas, como cualquier otro lenguaje. A través de sus sentencias podemos implementar algoritmos y desarrollar programas de diverso tipo o campo de aplicación. Una vez que los programas son codificados, se someten a un proceso denominado compilación en el cual se detectan, de acuerdo al lenguaje empleado, errores sintácticos que deberán ser corregidos en un proceso de depuración, hasta que la compilación ya no genere ningún error. En muchos casos, podrán existir errores lógicos que recién son denotados cuando el programa se ejecuta. De este tema se tratará más adelante.
Recuerde
No hay lenguaje mejor o peor que otro, depende de cómo y en qué circunstancias lo aprovechemos
3.1
Lenguajes de programación más empleados
VB.Net (Visual Basic .Net) Lenguaje visual desarrollado por Microsoft que desciende del lenguaje de programación BASIC. http://msdn.microsoft.com/en-us/vstudio/hh388573.aspx
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
7
Conceptos básicos de programación
PHP Un lenguaje de programación utilizado mayormente para desarrollar aplicaciones WEB. PHP es un lenguaje de fácil aprendizaje, distribuido en forma gratuita, que permite interactuar con muchos sistemas de gestión de base de datos. http://php.net
C#
Lenguaje de programación orientado a objetos, evolución del lenguaje C++, desarrollado por Microsoft. http://msdn.microsoft.com/en-us/vstudio/hh341490.aspx
JavaScript Programa escrito en el lenguaje script de Java que es interpretado por la aplicación cliente, normalmente un navegador (Browser). http://www.ecma-international.org/publications/standards/Ecma-262.htm
Perl Lenguaje más utilizado para la creación de programas CGI en los servidores web. http://www.perl.org/
Ruby on Rails Ruby es un lenguaje de scripts para una programación orientada a objetos rápida y sencilla. Ruby in Rails es un framework de aplicaciones web de código abierto escrito en Ruby. http://rubyonrails.org
Java Lenguaje de programación orientado a objetos creado por Sun Microsystem y adquirido por Oracle, permite crear aplicaciones de todo tipo de envergadura en diferentes tipos de ordenadores y sistemas operativos. http://www.oracle.com/es/technologies/java/index.html
Power Builder Uno de los lenguajes de programación pionero en el tema “cliente/servidor” que permitió la separación de capas de una aplicación. Uno de sus objetos más populares es el “DataWindow” http://www.sybase.com/products/modelingdevelopment/powerbuilder Referencia
Extraído del siguiente enlace http://www.ribosomatic.com/articulos/10-lenguajes-de-programacion-quedebemos-saber/
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
8
Conceptos básicos de programación
En el caso deseemos conocer cuál es el lenguaje de programación más utilizado, podremos encontrar el TIOBE Programming Language Community Index for Octubre 2015, donde figura que Java es el lenguaje más utilizado teniendo un 19% del mercado, seguido de C con un 16% y en tercer lugar C++ con un 5%. Referencia
Extraído del siguiente enlace: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
9
Conceptos básicos de programación
4.
Herramientas de desarrollo actuales
Un entorno de desarrollo integrado, llamado también IDE (sigla en inglés de integrated development enviroment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios. Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI), Los IDEs, pueden ser aplicaciones por si solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word. Los IDE proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++, PHP, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C. Entre los IDEs más populares tenemos Visual Studio y Eclipse, Visual Estudio es el IDE elaborado por Microsoft, y permite trabajar en múltiples lenguajes, como C#, C++, VB .Net, entre otros, ofreciendo un gran número de ventajas gracias al uso de la herramienta que se utilizará en el desarrollo del curso.
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
10
Conceptos básicos de programación
Eclipse es un IDE Open Source, el cual es utilizado para programar en distintos lenguajes, como Java, PHP, etc. Mayor información en http://www.eclipse.org Referencia
Extraído del siguiente enlace: http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado
4.1
Manejadores de base de datos Son aquellos productos destinados a la administración de bases de datos. Proveen un soporte a nivel de desarrollo y administración que otorgan la facilidad de gestionar datos desde nuestras aplicaciones, citamos entre otros de importancia a los siguientes:
SQL Server, es el gestor de base de datos fabricado por Microsoft. Es un producto que nos otorga una serie de posibilidades para la gestión de datos, almacenamiento y minería de datos (aplicaciones de inteligencia de negocios). Tiene una alta demanda en el nivel local y es el complemento perfecto para aplicaciones elaboradas en Visual Studio. La versión de SQL que se ejecuta en este producto se denomina Transact-SQL, actualmente se encuentra en la versión 2014.
Oracle, es básicamente una herramienta cliente/servidor para la gestión de base de datos. Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hacen que solo se emplee en organizaciones muy grandes, de ámbito multinacionales. La versión de SQL que se ejecuta en Oracle se llama PL-SQL.
MySQL, nace como un software free que corre sobre plataforma LINUX en esencia como alternativa para los productos con licencia, aunque también se puede ejecutar sobre plataforma Windows. En sus inicios era bastante limitado, pero en los últimos años ha ido evolucionando hasta convertirse en un producto de mucha acogida del mercado informático.
4.2
Herramientas CASE Las sigas CASE se refieren a Computer Aided Software Enginnering (Ingeniería de Software Asistida por Computadora) y son productos muy sofisticados que cumplen los 3 perfiles siguientes:
Documentan, permiten elaborar modelos que representan el escenario o la problemática a resolver.
Generan código, en base a los modelos creados permiten la generación automática de código que puede ser en C#, Visual Basic o Java.
Generan interfaces, muchas de las herramientas CASE permiten la elaboración de interfaces de usuario (formularios, reportes, menús, etc.).
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
11
Conceptos básicos de programación
Los más importantes productos dentro de este rubro son los siguientes:
Rational Rose, producto elaborado para la aplicación de la metodología orientada a objetos, bajo el lenguaje denominado UML (Lenguaje de modelamiento unificado). Permite elaborar los diagramas más importantes de la metodología, así como la posibilidad de generar código en C# o Visual Basic.
Erwin, quizás el más popular software de modelamiento de datos. Permite elaborar modelos Entidad-Relación y, en base a estos, la generación de scripts SQL para la generación inmediata de la base de datos, ya sea para SQL Server, Oracle, Access, Informix, entre otros.
TOAD, otra importante herramienta para el modelado de datos. Al igual que Erwin nos permite elaborar el modelo y en función de este la generación del código para implementar la base de datos.
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
12
Conceptos básicos de programación
5.
Fases en la elaboración de un programa
El arte de programar como lo describen muchos, implica una metodología que debemos seguir de tal forma que, se nos asegure el éxito en la tarea encomendada. Las metodologías vienen acompañadas de herramientas que posibilitan su implementación. Por ejemplo, no le podemos exigir a un maestro en la carpintería que nos construya un mueble tipo “Luis XV” sino le alcanzamos las herramientas para hacerlo (entiéndase cortadora, cepillos, tornos, etc.). El maestro carpintero podrá ser muy conocedor de una metodología, pero sin herramientas no llega a elaborar el producto final. A continuación, citamos el paso a paso en la metodología de la elaboración de un programa por computadora.
5.1
Análisis del problema Como en todo aspecto asociado a la solución de problema, el paso inicial es entender a qué nos enfrentamos. Analizar el problema nos permitirá definir el alcance y dimensión del mismo, elementos que nos darán una mejor perspectiva para llegar a la solución. Una herramienta de mucha ayuda es la elaboración de algoritmos. Estos no son nada más que modelos de cómo solucionar el problema, sin emplear aún ningún lenguaje de programación. Podemos desde pseudocódigo o modelos gráficos como los DFD (Diagrama de flujo de datos). Estos modelos permiten obtener una primera versión de la solución que podemos mejorarla o debatirla para llegar al objetivo esperado.
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
13
Conceptos básicos de programación
5.2
Codificación Con un modelo ya elaborado (algoritmo) se debe codificar el modelo, ahora sí empleando la sintaxis de un lenguaje de programación. Mientras más claro haya sido elaborado el algoritmo, será menos complicado su codificación. Recuerde que los lenguajes de programación se prestan a desarrollar cualquier tipo de solución, pero algunos se prestan más que otros dependiendo de la problemática.
5.3
Elaboración de los datos de prueba Con el programa ya codificado debemos probar si el programa cumple o no con los requisitos funcionales planteados. Para ello, es importante preparar datos de prueba para validarlos con los resultados que el programa, en la etapa de prueba, arrojará. El cuidado y rigurosidad en la preparación de estos datos garantizará que la prueba detecte cualquier problema, antes de que el programa pase a su puesta en marcha, donde será más complicada cualquier modificación.
5.4
Depuración e implementación Es muy posible que en la prueba de su programa se hayan encontrado errores (no se preocupe, es lo más normal). Esto nos llevará a un proceso de depuración de errores para subsanar estas incoherencias y de una manera iterativa ir comprobando que los errores detectados ya no aparecen. Es por ello, muy importante la documentación de los errores, de tal forma que serán más fáciles de detectar y solucionar. Depuradas todas las inconsistencias, el programa ya puede ponerse en marcha y ser de utilidad dentro del sistema donde se le requiera. Recuerde que aquí no acaba todo. Es muy posible que, en el transcurso del tiempo, los usuarios exijan nuevas características funcionales al programa que debemos satisfacer lo más pronto posible iniciando nuevamente el ciclo.
Cibertec Perú S.A.C - Visual Studio 2015 Fundamentals – C#
14
View more...
Comments