Consejo para desarrollo de aplicación con base de datos SQL Server

Necesito ayuda de un experto que me de unos consejos.
Tengo la tarea de realizar un pequeño desarrollo pero también se requiere almacenar información en bases de datos, actualmente he desarrollado sistemas en .net pero siempre me quedo algo inconforme porque siento que mis desarrollos no son buenos, por eso pido la ayuda de un experto que me de algunos consejos de como se deben construir, desarrollar las aplicaciones de una manera segunda y aprueba de error.
Espero me ayuden con esto, se que para ustedes es algo sencillo...

1 Respuesta

Respuesta
1

Desarrollar una aplicación de manera segura y aprueba de errores, eso es ingeniería del software. O sólo quieres centrarte en la programación.

Muchas gracias por responder.

Las actividades que realizare son las siguientes:

*Base de datos SQL Server

*Interfaz en Visual Basic .net

*Que sea multiusuario.

Pero mas bien mi duda es cual sera la mejor manera de desarrollar la aplicación? Como hacer el método multiusuarios?

En sí cual sera la mejor manera para que el usuario le parezca excelente.

Te comento que yo aun estoy estudiando me falta 1 año por acabar pero actualmente estoy juntando dinero para entrar y terminar. Aprendí muchas cosas por mi cuenta leyendo libros y tutoriales, pero en todo eso te dicen la programación y el diseño de la base de datos, pero lo que no te dicen es en base a que iniciar un desarrollo, como hacerla segura, como seria el esquema multiusuario.

espero me explique.

Correcto, estamos hablando de la ingeniería de software, te recomiendo este libro "Ingenieroa del Software un Enfoque Práctico" 7ma Ed. De Rogger Pressan. Con este libro aprenderás las diversas metodologías de desarrollo de software, así como también las técnicas y artefactos que para lograr un software de calidad.

Aquí unos tips de mi parte:

Para tener un software de calidad, no será suficiente con ser un excelente programador, debes conocer diversas técnicas, métodos y estándares para ello.

Siempre ten en cuenta que el software lo usará un tercero y no nosotros. Con esto trato de decir que la calidad depende de la satisfacción del usuario.

Mientras más sencillo sea de usar, el usuario quedará mucho más satisfecho y la calidad de tu software, aumentará.

Sólo has lo que necesario, sólo lo que necesita el usuario. Los valores agregados son importantes, pero deberás de analizar en qué tareas harás un valor agregado.

Debes conocer bien le procedimiento a automatizar y las tareas que involucran en ella.

Para e diseño de la base de datos, bien normalizada, las relaciones y los tipos de datos bien puestos.

Usa store procedures, funciones, vistas, etc. Todo lo que el motor te brinde. Procura tener la parte de las instrucciones sql en tu motor.

Con respecto a la programación. Siempre multiusuarios y multiventanas. El software lo usan siempre varias persona y están realizando diversas tareas.

Programación OO o estructurada, las 2 son buenas, pero siempre debes ser ordenado.

Por defecto, todo software tiene la arquitectura C/S de 2 capas, pero ya depende de las necesidades si las haces en 3, n capas o distribuido.

En fin, estas son pequeños tips que puedes tener en cuenta e investigar mas afondo.

Con el tiempo y al obtener mas experiencia, te darás cuenta que los tips que te estoy mencionando son en la mayoría condicionales. Pero no quisiera entrar en ello para no confundirte.

Para tener un software de calidad, nunca te centres sólo en la programación, sino, en cómo desarrollarlo y para ello existen diversos libros como el que te recomendé.

Ya tienes un libro para construir un software de calidad, ya has leído libros de programación, no te olvides de leer un libro con respecto a base de datos. Esos tres libros te enseñarán a como empezar con el desarrollo del software, cómo diseñar la base de datos y cómo programarlo.

Espero haberte ayudado, de todas maneras cualquier inquietud o insatisfacción a mi respuesta me la haces.

Muchas gracias en seguida voy a empezar a leer este libro, pero tengo algo de duda en lo que comentas:

El software como son las capas que se manejan dices que actualmente son 2 capas y que opcionalmente se pude hacer en 3, pero como me doy cuenta lo que es una capa? como se realiza ese método y para que sirve?

Los niveles que se maneja ya depende de la arquitectura.

Capa de Datos (base de datos), Capa Negocio (administra las peticiones del cliente) y la Capa de Cliente (interfaces de presentación).

No confundir las capas con los niveles. Las capas se separan lógicamente, mientras qué, los niveles se separan físicamente,

Por ejemplo, en tu laptop tienes tu base de dato y tu aplicación junto con tus instrucciones sql. 2 capas.

Si en tu laptop empiezas a separar las instrucciones sql y tus ventanas de usuario mediante componentes, estarías usando 3 capas.

Pero si tienes servidores distintos para cada caso, estamos hablando de niveles. El tema de la arquitectura ya va de la mano con redes, pues no sólo es programación, si no comunicación entre servidores y terminales.

Cuando desarrollas un software, siempre ten en cuenta que se conectarán varios usuarios, decenas, cientos, miles, millones, estos dos últimos ya son web.

No es lo mismo una aplicación de agenda con access, que sabemos que todo eso estará en una sola pc, a un software empresarial, que se conectarán varios usuarios y por ende habrá cientos de peticiones diarios a la base de datos.

El modo de programación es distinto, tendrías que manejar bloqueos, manipular tus transacciones.

Deberás investigar mucho mas a cerca de las arquitecturas, de repente recién te enseñarán, es extraño, pues sólo te falta un año para ello.

Para que vayas teniendo un poco de practica, has un pequeño sistema, con insert, update, select y todo eso. Fácil de hacer, fácil de administrar. Luego coge tu base de datos y ponlo en otra PC y usa la aplicación en dos PC's, en una ve consultando, mientras que en otra vas registrando. Veras la diferencia.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas