PDF de programación - Metodología y tecnología de la programación I

Imágen de pdf Metodología y tecnología de la programación I

Metodología y tecnología de la programación Igráfica de visualizaciones

Publicado el 21 de Noviembre del 2018
2.563 visualizaciones desde el 21 de Noviembre del 2018
183,2 KB
10 paginas
Creado hace 15a (12/11/2008)
METODOLOGÍA
Y
TECNOLOGÍA
DE
LA


PROGRAMACIÓN
I

Ingeniería
Informática

Curso
Primero.
2008‐09






las


Documentación


Introducción




La
creación
de
nuevo
sistema
informático
conlleva
diversas
fases
que
van
más
allá

de
la
codificación
del
mismo.
Un
modelo
tradicional
de
diseño
establece
cinco
fases:

análisis,
diseño,
codificación,
pruebas
y
mantenimiento.
En
la
primera
se
realiza
un

estudio
de
los
requisitos
del
sistema
y
la
viabilidad
del
mismo.
La
fase
de
diseño

identifica
y
define
los
elementos
que
precisa

el
proyecto
y
la
interconexión
entre
los

mismos.
Del
resultado
de
estas
dos
fases
se
obtiene
un
plan
que
se
utilizará
como

guía
para
la
codificación
del
sistema.
El
producto
resultante
de
la
codificación
se

verá
sometido
a
una
batería
de
pruebas
que
aseguren
la
fiabilidad
del
mismo.

Finalmente,
el
ciclo
de
vida
de
un
sistema
informático
no
termina
en
las
pruebas,
si

no
que
se
extiende
mientras
que
esté
en
uso.
Así,
es
necesario
realizar
y
preveer
un

fases
 deberían
 estar
 debidamente

mantenimiento
 del
 mismos.
 Todas

documentadas,
permitiendo
que
en
futuro,
se
puedan
acometer
cambios
y
mejoras

en
el
sistema
de
manera
sencilla.
En
este
modelo
clásico
se
contempla,
además,

que

se
pueden
pasar
por
las
distintas
fases
más
de
una
vez,
permitiendo
retroceder
a

una
fase
anterior
si
se
descubre
una
deficiencia
que
impida
continuar.
De
esta

manera,
el
producto
final
se
obtiene
mediante
una
serie
de
refinamientos
sucesivos.

Al
finalizar
cada
una
de
las
fases,
se
cumple
un
hito
del
proyecto,
el
cual,
suele
venir

acompañado
de
un
entregable.
Este
puede
ser,
por
ejemplo,
un
nuevo
documento
o

un
listado
de
código,
o
una
nueva
versión
de
un
entregable
anterior.



En
el
presente
documento
nos
centramos
en
explicar
como
se
describirían
las

estructuras
de
datos
y
la
algoritmia
de
un
proyecto.
Ambas
podrían
incluirse
en

entregables,
por
ejemplo,
tanto
en
la
fase
de
diseño
como
en
la
de
documentación.

Ahora
bien,
suponemos
que
se
ha
escogido
un
diseño
estructurado
para
acometer
el

proyecto,
y
en
este
sentido
irán
las
indicaciones.
Existen
otros
paradigmas
de

programación,
tales
como
orientación
a
objetos,
que
requieren
un
enfoque
distinto

en

la
 elaboración
 de

los
 documentos.
 Dentro
 del
 diseño
 estructurado,

la

herramientas
que
vamos
a
plantear
permiten
una
descripción
detallada
del
proyecto

Existen
otros
modelos
(ej,
DFD,
DEC…)
que
permiten
realizar
una
descripción
de

más
alto
nivel,

pero
que
quedan
fuera
de
este
documento.


Nicolas
Wirth
acuño
el
famoso
lema
de
la
programación
estructurada:


Algoritmos
+
Estructuras
de
Datos
=
Programas


En
este
apartado
nos
centraremos
en
describir
las
estructuras
de
datos,
mientras

que
en
el
segundo
lo
dedicaremos
a
la
parte
algorítmica,
ya
que
es
ese
en
el
orden
en

el
que
deberían
aparecer
explicadas
en
la
documentación.
Aunque
durante
la
fase
de

diseño
la
elección
de
las
estructuras
de
datos
y
algoritmos,
de
nuevo,
consiste
en
un


1



Estructuras
de
datos


METODOLOGÍA
Y
TECNOLOGÍA
DE
LA


PROGRAMACIÓN
I

Ingeniería
Informática

Curso
Primero.
2008‐09







proceso
de
refinamiento,
a
la
hora
presentar
el
resultado
final
se
plantean

primeramente
las
estructuras
de
datos,
y
a
continuación,
los
algoritmos
que
se

desprenden.


La
definición
de
las
estructuras
parte
de
conjunto
de
tipos
de
datos
básicos,
y
de

mecanismos
que
nos
permitan
generar
nuevos
tipos
de
datos.
Uno
de
nuestros

objetivos
es
conseguir
una
descripción
del
proyecto
independiente
del
lenguaje
de

programación
escogido.
Para
ello,
se
proponen
emplear
una
serie
de
tipos
de
datos

genéricos
que
son
comunes
a
la
mayor
parte
de
lenguajes
estructurados.



Tipos
básicos:


‐ entero


real

‐ booleano


carácter

‐ enumerado


Tipos
compuesto:

‐ array
(matriz)

‐ estructura


cadena


La
declaración
de
las
estructuras
de
datos
constará
de
dos
partes.
En
la
primera
se

definirán
las
constantes
disponibles.
En
la
segunda,
los
tipos
de
datos
que
se
van
a

emplear.
Cada
constante,
tipo
o
campo
de
un
nuevo
tipo
irá
acompañado
de
un

comentario
que
explique
la
necesidad
del
mismo.


Ejemplo
1:
Tres
en
raya


Las
tres
en
rayas
es
juego
de
dos
jugadores.
Se
juega
sobre
un
tablero
de
NxM,
y
con

dos
tipos
de
fichas
(tradicionalmente
un
X
ó
O).
Cada
jugador
coloca
en
turnos

sucesivos
una
ficha
sobre
alguna
de
las
casillas
vacías
del
tablero.
El
juego
finaliza

cuando
o
bien
algún
jugador
consigue
alinear
tres
de
sus
fichas
en
cualquiera
de
las

direcciones
posibles
(vertical,
horizontal
o
diagonal),
o
bien
cuando
no
queda

ninguna
casilla
vacía
dónde
colocar
ficha.



A
continuación
se
van
a
describir
las
posible
estructuras
de
datos
necesarias
para
un

implementara
 dicho

programa
 que

juego.
 Primero
 se
 realiza
 una
 breve

presentación,
y
a
continuación
una
descripción
detallada
de
las
mismas.


Para
representar
el
tablero
se
ha
definido
el
tipo
tablero,
que
consiste
en
un
registro

que
contiene
una
matriz
de
NxM
de
casillas,
el
número
de
casillas
ocupadas
y
cuál
de

los
jugadores
posee
el
turno.
Cada
casilla
puede
estar
vacía,
ocupada
por
una
ficha

del
usuario,
o
por
una
ficha
del
ordenador.
Por
último,
el
tipo
de
datos
acción
recoge

las
posibles
acciones
del
usuario.


2


METODOLOGÍA
Y
TECNOLOGÍA
DE
LA


PROGRAMACIÓN
I

Ingeniería
Informática

Curso
Primero.
2008‐09






Constantes


Tipos









N

M






Estado

Accion

Casilla

Matriz

Tablero


Nombre1
 Tipo


Descripción


Definición


Valor
por
defecto


que


Nombre
 Descripción


Número
de
filas
que
tiene
el
tablero

3

Número
de
columnas
que
tiene
el
tablero

3

enumerado

Posibles
estados
en
los
que
se
puede

encontrar
la
partida

enumerado

Diferentes

puede

acciones

realizar
el
usuario

enumerado

Posibles
valores
que
puede
almacenar

una
casilla
del
tablero.


la
 casilla
 está

libre;

VACIA
 =
 si

la
 casilla
 contiene






























































USUARIO
 =
 si

una
ficha
del
usuario;


ORDENADOR
=
ficha
del
ordenador

array

Tabla
que
contiene
las
casillas
del

tablero.

Estructura
que
define
el
tablero
y
el

estructura

estado
del
mismo.

‐
casillas
=
Tablero
de
NxM
casillas;

‐
ocupadas
=
Número
de
casillas

ocupadas
en
cada
momento,
es
decir,

casilla
<>
VACIA;

‐
turno:

VERDADERO
si
juega
el

ordenador
y
FALSO
si
juega
el
usuario















































































1
Todos
los
nuevos
tipos
de
datos
definidos
se
nombran
empezando
por
mayúscula.

Las
constantes
se
escriben
con
todas
las
letras
en
mayúsculas.



3


INICIO_PARTIDA,

JUGANDO,


PAUSADA

FIN_PARTIDA

JUGAR,


SALVAR,

CARGAR,

TERMINAR,

CONTINUAR,

PAUSAR

VACIA,


USUARIO,

ORDENADOR

[1..N,
 1..M]
 de

Casilla

casillas:
Matriz
;

ocupadas:
Entero



turno
:
Booleano






METODOLOGÍA
Y
TECNOLOGÍA
DE
LA


PROGRAMACIÓN
I

Ingeniería
Informática

Curso
Primero.
2008‐09






Pseudocódigo




Entendemos
por
pseudocódigo
un
lenguaje
semiformal
que
facilita
la
descripción

algorítmica
de
un
programa.
El
pseudocódigo
se
entiende
como
lenguaje
técnico,
así

que
se
espera
que
el
lector
posea
conocimientos
de
programación
(ej.

analistas,

desarrolladores).
En
este
sentido,
obedece
a
unas
reglas
mínimas
conocidas
por
la

comunidad.
Ahora
bien,
no
es
necesaria
emplear
una
validación
formal,
como
puede

ser
el
caso
de
un
lenguaje
de
programación
de
alto
nivel
(ej.
C
ó
Pascal),
si
no
que
se

permite
cierta
flexibilidad
a
la
hora
de
expresarse.
Esto
es
así,
en
tanto
en
cuanto

que
el
interprete
del
código
no
es
una
máquina
si
no
un
humano.



Otra
ventaja
del
pseudocódigo
es
que
permite
independizar
la
descripción
del

programa
de
los
lenguajes
de
programación.
Un
mismo
pseudocódigo
debería
poder

ser
implementado
mediante
varios
lenguajes.
La
flexibilidad
que
aporta
el

pseudocódigo
permite
al
programador
realizar
una
descripción
bastante
ajustada

del
diseño
del
programa,
sin
tener
que
ocuparse
de
los
detalles
de
implementación.

De
echo,
un
mismo
algoritmo
se
puede
describir
empleando
distintos
niveles
de

detalle.
Así,
se
hace
especialmente
conveniente
como
herramienta
de
diseño

descendente.



Un
posible
pseudocódigo



Existen
múltiples
propuestas
de
pseudocódigo.
Cualquiera
que
consiga
expresar
un

programa
de
manera
precisa
nos
valdría.
Hemos
elegido
una

propuesta
en
concreta

basada
en
el
libro
de
Cormen
et
al
2
que
nos
sirva
de
modelo
para
las
explicaciones

tanto
en
teoría
como
en
prácticas.
Ahora
bien,
cuando
tengáis
que
emplear
una

descripción
en
pseudocódigo
no
es
obligatorio
seguir
esta
propuesta,
sino
que

podéis,
si
os
sentéis
más
cómodos,
elegir
otra
que
fuera
igual
de
válida.


En
el
siguiente
apartado
se
indican
una
serie
de
convenciones
mínimas
que
definen

la
propuesta
de
pseudocódigo.
Es
posible
que,
en
determinados
programas,
sea

necesario
expandir
la
propuesta
para
poder
expresarse
correctamente.



En
el
siguiente
apartado
se
incluyen
diversos
ejemplos
en
los
que
se
muestra
el

modo
de
empleo
y
la
potencialidad
del
mismo.


1. La
indentación
(o
sangrado)
se
emplea
para
señalar
el
comienzo
y
fin
de
un

bloque
(véanse
ejemplos).
Esta
regla
también
se
aplica
a
la
sentencia

condicional
si…si
no.



























































2
T.
H.
Cormen,
C.L.
Leiserson,
R.L.
Rivest,
C.
Stein.
Introduction
to
Algorithms.

Second
Edition.
The
MIT
Press.
2003,
pp.
19‐20




Convenciones
del
pseudocódigo


4


METODOLOGÍA
Y
TECNOLOGÍA
DE
LA


PROGRAMACIÓN
I

Ingeniería
Informática

Curso
Primero.
2008‐09






2. Las
sentencias
de
repetición
desde…hasta,
mientras
y
haz…mientras,
y
las

estructura
condicionales
si…si
no
y
segun
tienen
una
interpretación
similar

a
la
que
se
da
en
C
a
las
estructuras
for,
while,
do‐while,
if‐then‐else,
case

(véanse
ejemplos)

3. La
asignación
de
un
valor
a
una
variable
se
realiza
mediante
el
símbolo
‘←’.


Ej.
i
←
30


Se
puede
asignar
un
mismo
valor
a
varias
variables
en
una
única
línea

concatenando
sucesivas
asignaciones:

Ej.
i
←
j
←
30

Asi
  • Links de descarga
http://lwp-l.com/pdf14272

Comentarios de: Metodología y tecnología de la programación I (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad