Создание системы мониторинга уровня знаний
Разработка системы для хранения и обработки статистических данных с результатами тестов, создание модулей их прохождения, назначения и просмотра. Требования к системе, общая архитектура, инструменты и методы реализации. Разработка web-интерфейсов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 28.01.2014 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
SELECT LQ.ID_QUERY, LQ.ID_TEST, LQ.NUM, 'Вопрос № '|| INTTOSTR(LQ.NUM, '%d')
FROM L_QUERY LQ
WHERE LQ.ID_TEST = :IN_ID_TEST
INTO :OUT_ID_QUESTION, :OUT_ID_TEST, :OUT_NUM, :OUT_QUESTION_DESCRIPTION
DO SUSPEND;
END^
ALTER PROCEDURE REP_GET_VARIANT (
IN_QUESTION_NUMBER INTEGER)
RETURNS (
OUT_ID_ANSWER INTEGER,
OUT_IS_CORRECT INTEGER,
OUT_TEXT VARCHAR(128),
OUT_SCORE DOUBLE PRECISION,
OUT_NUMBER INTEGER,
OUT_AUERY_TEXT VARCHAR(512))
AS
BEGIN
/*Получаем список вариантов ответа по вопросу*/
SELECT TEXT
FROM L_QUERY
WHERE ID_QUERY = :IN_QUESTION_NUMBER
INTO :OUT_AUERY_TEXT;
out_number = 0;
FOR
SELECT la.ID_ANSWER, la.IS_CORRECT, la.TEXT, la.SCORE
FROM L_ANSWER la
WHERE la.ID_QUERY = :IN_QUESTION_NUMBER
ORDER BY ID_ANSWER
INTO :OUt_ID_ANSWER, :OUT_IS_CORRECT, :OUT_TEXT, :OUT_SCORE
DO BEGIN
OUT_NUMBER = OUT_NUMBER +1;
SUSPEND;
END
END^
ALTER PROCEDURE W_ADD_QUERY (
IN_ID_TEST INTEGER)
RETURNS (
OUT_ID_QUERY INTEGER)
AS
DECLARE VARIABLE V_NUM INTEGER;
BEGIN
/*ДОБАВЛЯЕМ ЗАПИСЬ В СПИСОК ВОПРОСОВ ТЕСТА*/
SELECT MAX(Q.NUM)+1
FROM L_QUERY Q
WHERE Q.ID_TEST = :IN_ID_TEST
INTO :V_NUM;
SELECT GEN_ID(G_ID_QUERY_TYPE,1)
FROM RDB$DATABASE
INTO :OUT_ID_QUERY;
INSERT INTO L_QUERY (ID_QUERY, ID_TEST, NUM)
VALUES (:OUT_ID_QUERY, :IN_ID_TEST, :V_NUM);
SUSPEND;
END^
ALTER PROCEDURE W_SAVE_QUERY (
IN_ID_QUERY INTEGER,
IN_QUERY_TEXT VARCHAR(512),
IN_TEXT_1 VARCHAR(128),
IN_TEXT_2 VARCHAR(128),
IN_TEXT_3 VARCHAR(128),
IN_TEXT_4 VARCHAR(128),
IN_TEXT_5 VARCHAR(128),
IN_CORRECT_1 VARCHAR(5),
IN_CORRECT_2 VARCHAR(5),
IN_CORRECT_3 VARCHAR(5),
IN_CORRECT_4 VARCHAR(5),
IN_CORRECT_5 VARCHAR(5),
IN_SCORE_1 DOUBLE PRECISION,
IN_SCORE_2 DOUBLE PRECISION,
IN_SCORE_3 DOUBLE PRECISION,
IN_SCORE_4 DOUBLE PRECISION,
IN_SCORE_5 DOUBLE PRECISION)
RETURNS (
OUT_SUCCESS INTEGER,
OUT_MESSAGE VARCHAR(128))
AS
DECLARE VARIABLE V_ID_ANSWER INTEGER;
DECLARE VARIABLE V_CORRECT INTEGER;
DECLARE VARIABLE v_num INTEGER;
BEGIN
/*Процедура сохраняет данные с формы*/
OUT_MESSAGE = 'Вопрос сохранен.';
/*запишем параметры вопроса*/
FOR
SELECT ID_ANSWER, NUM
FROM L_ANSWER
WHERE ID_QUERY = :IN_ID_QUERY
ORDER BY NUM
INTO :V_ID_ANSWER, :V_NUM
DO BEGIN
/*---------------------------------------------------------------------------*/
IF (V_NUM = 1 ) THEN
BEGIN
IF (IN_TEXT_1 = '') THEN
DELETE FROM L_ANSWER
WHERE ID_ANSWER =:V_ID_ANSWER;
ELSE
BEGIN
IF (IN_CORRECT_1= 'on')
THEN V_CORRECT = 1;
ELSE V_CORRECT = 0;
UPDATE L_ANSWER
SET TEXT = :IN_TEXT_1,
IS_CORRECT = :V_CORRECT,
SCORE = :IN_SCORE_1
WHERE ID_ANSWER =:V_ID_ANSWER;
END
END
/*---------------------------------------------------------------------------*/
IF (V_NUM = 2 ) THEN
BEGIN
IF (IN_TEXT_2 = '') THEN
DELETE FROM L_ANSWER
WHERE ID_ANSWER =:V_ID_ANSWER;
ELSE
BEGIN
IF (IN_CORRECT_2= 'on')
THEN V_CORRECT = 1;
ELSE V_CORRECT = 0;
UPDATE L_ANSWER
SET TEXT = :IN_TEXT_2,
IS_CORRECT = :V_CORRECT,
SCORE = :IN_SCORE_2
WHERE ID_ANSWER =:V_ID_ANSWER;
END
END
/*---------------------------------------------------------------------------*/
IF (V_NUM = 3 ) THEN
BEGIN
IF (IN_TEXT_3 = '') THEN
DELETE FROM L_ANSWER
WHERE ID_ANSWER =:V_ID_ANSWER;
ELSE
BEGIN
IF (IN_CORRECT_3= 'on')
THEN V_CORRECT = 1;
ELSE V_CORRECT = 0;
UPDATE L_ANSWER
SET TEXT = :IN_TEXT_3,
IS_CORRECT = :V_CORRECT,
SCORE = :IN_SCORE_3
WHERE ID_ANSWER =:V_ID_ANSWER;
END
END
/*---------------------------------------------------------------------------*/
IF (V_NUM = 4 ) THEN
BEGIN
IF (IN_TEXT_4 = '') THEN
DELETE FROM L_ANSWER
WHERE ID_ANSWER =:V_ID_ANSWER;
ELSE
BEGIN
IF (IN_CORRECT_4= 'on')
THEN V_CORRECT = 1;
ELSE V_CORRECT = 0;
UPDATE L_ANSWER
SET TEXT = :IN_TEXT_4,
IS_CORRECT = :V_CORRECT,
SCORE = :IN_SCORE_4
WHERE ID_ANSWER =:V_ID_ANSWER;
END
END
/*---------------------------------------------------------------------------*/
IF (V_NUM = 5 ) THEN
BEGIN
IF (IN_TEXT_5 = '') THEN
DELETE FROM L_ANSWER
WHERE ID_ANSWER =:V_ID_ANSWER;
ELSE
BEGIN
IF (IN_CORRECT_5= 'on')
THEN V_CORRECT = 1;
ELSE V_CORRECT = 0;
UPDATE L_ANSWER
SET TEXT = :IN_TEXT_5,
IS_CORRECT = :V_CORRECT,
SCORE = :IN_SCORE_5
WHERE ID_ANSWER =:V_ID_ANSWER;
END
END
/*---------------------------------------------------------------------------*/
END
/*сохраним текст вопроса*/
IF (C(IN_QUERY_TEXT)='') THEN
BEGIN
DELETE FROM L_QUERY
WHERE ID_QUERY = :IN_ID_QUERY;
DELETE FROM L_ANSWER
WHERE ID_QUERY = :IN_ID_QUERY;
OUT_MESSAGE = 'Вопрос удален.';
END
ELSE
UPDATE L_QUERY
SET TEXT = :IN_QUERY_TEXT
WHERE ID_QUERY = :IN_ID_QUERY;
/*исправим нумерацию если её сбили*/
V_NUM = 1;
FOR
SELECT ID_ANSWER
FROM L_ANSWER
WHERE ID_QUERY = :IN_ID_QUERY
ORDER BY NUM
INTO :V_ID_ANSWER
DO BEGIN
UPDATE L_ANSWER
SET NUM = :V_NUM
WHERE ID_ANSWER = :V_ID_ANSWER;
V_NUM = V_NUM + 1;
END
OUT_SUCCESS = 1;
SUSPEND;
END^
SET TERM; ^
## Script (Python) "Action_create"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=
##title=
##
request = container.REQUEST
RESPONSE = request.RESPONSE
""" Здесь мы сохраняем параматры """
if ( request.get('save')):
id_test = request.get('id_test')
id_query = request.get('id_quest')
var1 = request.get('q1','')
var2 = request.get('q2','')
var3 = request.get('q3','')
var4 = request.get('q4','')
var5 = request.get('q5','')
score1 = request.get('s1','')
score2 = request.get('s2','')
score3 = request.get('s3','')
score4 = request.get('s4','')
score5 = request.get('s5','')
correct1 = request.get('c1','')
correct2 = request.get('c2','')
correct3 = request.get('c3','')
correct4 = request.get('c4','')
correct5 = request.get('c5','')
sav = container.save_query(id_query = id_query, query_text = request.get('quest_name','') , t1=var1, t2=var2, t3=var3, t4 = var5, t5=var5, cor1=correct1, cor2=correct2, cor3 = correct3, cor4 = correct4, cor5 = correct5, score1 = score1, score2 = score2, score3 = score3, score4=score4 , score5= score5)
return RESPONSE.redirect('create?id_session=%s&id_test=%s&id_quest=%s' %(request.get('id_session','' ), request.get('id_test',''), request.get('id_quest','') ))
""" Добавляем новыйй незаполненный вариант """
if ( request.get('add')):
container.ADD_VARIANT(id_quest=(request.get('id_quest','')))
return RESPONSE.redirect('create?id_session=%s&id_test=%s&id_quest=%s' %(request.get('id_session','' ), request.get('id_test',''), request.get('id_quest','') ))
""" Добавляем новый вопрос пока без вариантов """
if ( request.get('new')):
add_query = container.ADD_QUERY(id_test=request.get('id_test',''))
return RESPONSE.redirect('create?id_session=%s&id_test=%s&id_quest=%s' %(request.get('id_session','' ), request.get('id_test',''), add_query[0].OUT_ID_QUERY ))
ADD_QUERY
<params>id_test</params>
select * from W_ADD_QUERY(<dtml-sqlvar id_test type="int">)
ADD_VARIANT
<params>id_quest</params>
SELECT * from ADD_VARIANT (
<dtml-sqlvar id_quest type="int" optional >,
null,
0,
0)
create
<html>
<head>
<title>
The title
</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body bgcolor=#faeedd >
<table width=95% align="center" border=1 style="background-color:#F0FFF0" >
<tr>
<td>
<p align="center" ><font size="6">Система мониторинга уровня знаний - "СМУЗ"</font> </p>
<form action="Action_create">
<input type="hidden" name="id_test" id="id_test" tal:attributes="value request/id_test">
<input type="hidden" name="id_quest" id="id_quest" tal:attributes="value request/id_quest|nothing">
<input type="hidden" name="id_questtype" id="id_questtype" tal:attributes="value request/id_questtype|nothing">
<table width=100%>
<tr>
<td width="20%" style="vertical-align: top;">
<DIV style="background:yellow " >
<B> ВОПРОСЫ </B><br>
<span tal:condition="python: request.get('id_test')"
tal:define="list python: container.REP_GET_QUESTION_LIST(id_test=request.get('id_test'))">
<span tal:repeat="item list">
<a tal:content="python: str(item.OUT_QUESTION_DESCRIPTION)"
tal:attributes="href python: 'create?id_quest='+ str(item.OUT_ID_QUESTION) +'&id_test=' + str(item.OUT_ID_TEST) ">
</a><br>
</span>
</span>
<br>
<input type="submit" name="new" value="Добавить вопрос"><br><br>
<!-- ТУТ БУДЕТ ШАБЛОН -->
</DIV>
</td>
<td width="80%" style=" vertical-align: top;">
<DIV style="background:#FFF ">
<B> РЕДАКТОР ВОПРОСОВ</B>
<!-- И ТУТ ТОЖЕ --><BR><BR>
<span tal:repeat="item python: container.SQL_QUEST_TYPE()">
<input type="radio" name="type" tal:attributes="id item/ID_QUERY_TYPE"> <span tal:content="item/NAME" /> <br>
</span>
<hr><br >
Вопрос: <br>
<textarea id="quest_name" name="quest_name" tal:content="python: container.SQL_QUERY_TEXT(id_quest= request.get('id_quest',''))[0].TEXT" >
</textarea> <br>
<span tal:repeat="item python: container.REP_GET_VARIANT(id_quest= request.get('id_quest',''))">
<input type="text" tal:attributes="id python: 'q' + str(item.out_number) ;name python: 'q' + str(item.out_number); value python: item.OUT_TEXT">
<input type="text" size=4 tal:attributes="id python: 's' + str(item.out_number) ;name python: 's' + str(item.out_number); value python: item.OUT_SCORE" >
<input type="checkbox" tal:attributes="id python: 'c' + str(item.out_number) ;name python: 'c' + str(item.out_number); checked python: item.OUT_IS_CORRECT">
<br>
</span>
<input type="submit" name="add" value="+"><br><br>
<input type="submit" name="save" value="Сохранить">
</DIV>
</td></tr>
</table>
<br>
</form>
</td>
</tr>
</table>
</body>
</html>
REP_GET_QUESTION_LIST
<params>id_test</params>
select *
from REP_GET_QUESTION_LIST(<dtml-sqlvar id_test type="int"optional >)
REP_GET_VARIANT
<params>id_quest</params>
select * from REP_GET_VARIANT (<dtml-sqlvar id_quest type="int" optional >)
SAVE_QUERY
<params>id_query query_text t1 t2 t3 t4 t5 cor1 cor2 cor3 cor4 cor5 score1 score2 score3 score4 score5</params>
select * from W_SAVE_QUERY
( <dtml-sqlvar id_query type="int" >,
<dtml-sqlvar query_text type="string" optional >,
<dtml-sqlvar t1 type="string" optional >,
<dtml-sqlvar t2 type="string" optional >,
<dtml-sqlvar t3 type="string" optional >,
<dtml-sqlvar t4 type="string" optional >,
<dtml-sqlvar t5 type="string" optional >,
<dtml-sqlvar cor1 type="string" optional >,
<dtml-sqlvar cor2 type="string" optional >,
<dtml-sqlvar cor3 type="string" optional >,
<dtml-sqlvar cor4 type="string" optional >,
<dtml-sqlvar cor5 type="string" optional >,
<dtml-sqlvar score1 type="float" optional >,
<dtml-sqlvar score2 type="float" optional >,
<dtml-sqlvar score3 type="float" optional >,
<dtml-sqlvar score4 type="float" optional >,
<dtml-sqlvar score5 type="float" optional >)
SQL_QUERY_TEXT
<params>id_quest</params>
select text from REP_GET_QUERY_TEXT (<dtml-sqlvar id_quest type="int" optional >)
SQL_QUEST_TYPE
<params></params>
select * from s_QUery_TYPE
LOGIN
<html>
<head>
<title tal:content="template/title">
Добро пожаловать в СМУЗ
</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body bgcolor=#faeedd >
<form action="Login_action" >
<table align="center" border=0 style="background-color:#F0FFF0" >
<tr>
<td>
<br>
<p align="center" style="background-color:#white" >
<font size="7">
Система мониторинга уровня знаний
</font>
</p>
<br>
<span tal:condition="python: options.get('err', '')">
<p align="center" style="background-color:#FF0000"> <b> <font size=4 color=#FFFFFF > <span tal:content="python: options.get('err','')"/>
</font> </b> </p>
</span>
Login: <br>
<input type="text" id="login" name="login"> <br>
Password:<br>
<input type="password" id="passw" name="passw" ><br>
<pre> <input type="submit" value="Войти"></pre>
</td>
</tr>
<tr>
<td>
<a href="add_user">
Зарегистрироваться
</a >
</td>
</tr>
</table>
</form>
</body>
</html>
LOGIN_ACTION
## Script (Python) "Login_action"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=
##title=
##
request = container.REQUEST
RESPONSE = request.RESPONSE
login= request.get('login','')
password = request.get('passw','')
if (login==''):
return container.Login(err='Вы не ввели логин')
elif (password==''):
return container.Login(err='Вы не ввели пароль')
else:
log = container.P_LOGIN(login=login, password=password)[0]
if (log.OUT_SUCCESS=='1'):
return RESPONSE.redirect('Iface?id_session=%s' % (log.OUT_ID_SESSION))
else:
return container.Login(err = log.OUT_MESSAGE)
Парсер для Zexp файлов
#!/usr/bin/python
from cStringIO import StringIO
from pickle import Pickler, Unpickler
from struct import pack, unpack
class Dummy:
def __call__(self,*a,**b):
print '-->',self.__dict__['xmodule'], '>>call', a,b
self.__dict__['xmodule']=self.__dict__['xmodule']+(', instance(%s,%s)' % (a,b))
return self
def __setattr__(self,name,value):
print '-->',self.__dict__['xmodule'], 'setattr', name,value
def __getattr__(self,name):
print '-->',self.__dict__['xmodule'], 'getattr', name
def __repr__(self):
return self.__dict__['xmodule']
class Dummy2:
def __init__(self,*a,**b):
#print a,b
self.argmt=[a,b]
def __repr__(self):
return '<%s dict=%s>' % (self.__class__.__name__, self.__dict__)
class CustomUnpickler(Unpickler):
def find_class(self, module, name):
#print '>>find_class', module,name
clname=('%s.%s' % (module,name)).replace('.','_')
exec('class %s(Dummy2):pass' % clname)
return eval(clname)
cls=Dummy()
cls.__dict__['xmodule']='%s.%s' % (module,name)
return cls
_oid = '\0'*8
def FileToNodes(fpath):
#Copyright (c) Zope
f=file(fpath,'rb')
f.read(4)
oids = {}
export_end_marker = '\377'*16
def new_oid():
global _oid
last = _oid
d = ord(last[-1])
if d < 255: # fast path for the usual case
last = last[:-1] + chr(d+1)
else: # there's a carry out of the last byte
last_as_long, = unpack(">Q", last)
last = pack(">Q", last_as_long + 1)
_oid = last
return last
def u64(v):
"""Unpack an 8-byte string into a 64-bit long integer."""
return unpack(">Q", v)[0]
class Ghost(object):
__slots__ = ("oid",)
def __init__(self, oid):
self.oid = oid
def __repr__(self):
return '<%s dict=%s>' % (self.__class__.__name__, self.oid)
def persistent_id(obj):
if isinstance(obj, Ghost):
return obj.oid
def persistent_load(ooid):
"""Remap a persistent id to a new ID and create a ghost for it."""
klass = None
if isinstance(ooid, tuple):
ooid, klass = ooid
if ooid in oids:
oid = oids[ooid]
else:
if klass is None:
oid = new_oid()
else:
oid = new_oid(), klass
oids[ooid] = oid
return Ghost(oid)
out=[]
while 1:
h = f.read(16)
if h == export_end_marker:
break
if len(h) != 16:
raise Exception("Truncated export file")
l = u64(h[8:16])
p = f.read(l)
if len(p) != l:
raise Exception("Truncated export file")
ooid = h[:8]
if oids:
oid = oids[ooid]
if isinstance(oid, tuple):
oid = oid[0]
else:
oids[ooid] = oid = new_oid()
pfile = StringIO(p)
unpickler = CustomUnpickler(pfile)
unpickler.persistent_load = persistent_load
a=unpickler.load()
b=unpickler.load()
#
out.append([oid,a,b])
return out
def make_filelist(node,path,flist,index):
objs=node.get('_objects',[])
xobjs={}
for i in objs:
xobjs[i['id']]=i['meta_type']
keys=xobjs.keys()
keys.sort()
for i in keys:
oid=node[i].oid
if xobjs[i] in ('Folder','Folder (Ordered)'):
flist=make_filelist(index[oid],path+[i],flist,index)
flist.append({'node':index[oid],'path':path+[i],'meta_type':xobjs[i]})
return flist
def parseZobj(objs):
index={}
for i in objs:
index[i[0]]=i[2]
root=objs[0][2]
flist=make_filelist(root,[root['id']],[],index)
out="" for item in flist:
out+='%s(%s):\n\n' % ('/'.join(item['path']),item['meta_type'])
if item['meta_type']=='File':
out+=item['node']['data']
elif item['meta_type']=='Script (Python)':
out+='params:%s\n' % item['node'].get('_params','')
out+=item['node']['_body']
elif item['meta_type']=='Page Template':
out+=item['node']['_text']
elif item['meta_type']=='Z SQL Method':
out+='params:%s\n' % item['node']['arguments_src']
out+= item['node']['src']
out+='\n\n'
return out
def get_plain_content(fpath):
""" return content of zexp-file """
objs = FileToNodes(fpath)
return parseZobj(objs)
def compareRevisions(fpath,r1,r2):
import os,tempfile
x, fileR1 = tempfile.mkstemp()
x, fileR2 = tempfile.mkstemp()
#print fileR1,fileR2
os.system('svn cat \'%s\'@%s > %s' % (fpath,r1,fileR1))
os.system('svn cat \'%s\'@%s > %s' % (fpath,r2,fileR2))
x, out1 = tempfile.mkstemp()
x, out2 = tempfile.mkstemp()
#print out1,out2
file(out1,'wb').write(get_plain_content(fileR1))
file(out2,'wb').write(get_plain_content(fileR2))
os.system('C:\Program Files\KDiff3\kdiff3.exe %s %s' % (out1,out2))
os.remove(fileR1)
os.remove(fileR2)
os.remove(out1)
os.remove(out2)
def compare_files(path1,path2):
import os,tempfile
x, out1 = tempfile.mkstemp()
x, out2 = tempfile.mkstemp()
file(out1,'wb').write(get_plain_content(path1))
file(out2,'wb').write(get_plain_content(path2))
os.system('"C:\Program Files\KDiff3\kdiff3.exe" %s %s' % (out1,out2))
os.remove(out1)
os.remove(out2)
if __name__=='__main__':
import sys
if len(sys.argv)==1:
print 'Usage: %s COMMAND [ARGUMENTS]' % __file__
print 'Available commands:\n\t compare_svn - compare revisions zexp file\n\t compare_file - compare files'
sys.exit(1)
command=sys.argv[1]
if command == 'compare_svn':
if len(sys.argv)!=5:
print 'Usage: %s %s FILEPATH REVISION1 REVISION2' % (__file__, command)
else: compareRevisions(sys.argv[2],sys.argv[3],sys.argv[4])
elif command == 'compare_file':
if len(sys.argv)!=4:
print 'Usage: %s %s FILEPATH1 FILEPATH2' % (__file__, command)
else: compare_files(sys.argv[2],sys.argv[3])
Размещено на Allbest.ru
Подобные документы
Создание автоматизированной системы – "Агентство по трудоустройству". Проектирование таблиц для хранения данных. Разработка запросов и отчетов, предназначенных для просмотра, редактирования и вывода информации. Разработка пользовательского интерфейса.
курсовая работа [4,9 M], добавлен 29.01.2011Создание автоматизированной системы для упрощения работы с данными, расчётами и отчётами, анализа и хранения поступающих в лабораторию хроматографических исследований данных. Функциональные требования к системе. Проектирование программного обеспечения.
курсовая работа [1,9 M], добавлен 23.01.2013Выбор сервера базы данных, инструментальных средств разработки клиентского интерфейса и технологий. Описание таблиц базы данных системы мониторинга. Разработка инструментальных средств создания элементов системы. Интерфейс генерации тестов. Расчет затрат.
дипломная работа [1,9 M], добавлен 12.03.2013Создание программного обеспечения автоматизированной информационной системы для учета и обработки метеорологической информации. Описание основных программных модулей. Требования к составу и параметрам технических средств, транспортированию и хранению.
дипломная работа [7,5 M], добавлен 16.08.2015Создание web-сайта для сбора статистических данных, прогнозирования возможностей системы общего образования и анализа демографического состояния региона в динамике. Проектирование базы данных, разработка компонентов, алгоритмов и программного обеспечения.
дипломная работа [3,1 M], добавлен 15.04.2013Разработка программного обеспечения, предназначенного для предоставления трех способов прохождения тестов для студентов. Построение модели потоков данных, физической базы данных. Выбор языка программирования. Условия эксплуатации, требования к надежности.
дипломная работа [2,7 M], добавлен 18.04.2014Инфологическое проектирование базы данных. Создание информационной системы "СПОРТ" для автоматизации обработки данных о проводимых соревнованиях и чемпионатах. Описание размещения в файловой системе. Создание таблиц, запросов и форм просмотра данных.
курсовая работа [4,6 M], добавлен 22.05.2012Общие сведения об автоматизированных информационных системах библиотек. Разработка графического макета, интерфейса и дизайна информационной системы. Требования к функциональной части системы. Создание программных модулей. Алгоритмы обработки данных.
дипломная работа [1,7 M], добавлен 04.11.2016Создание базы данных, построение на ее основе информационной системы в виде веб-сайта. Обоснование и выбор системы управления базой данных. Датологическое проектирование, разработка алгоритма решения задачи, создание форм. Результаты обработки данных.
отчет по практике [904,1 K], добавлен 13.04.2015Проектирование системы управления базой данных "Почтовые отделения" для создания единой информационной системы: создание таблиц для хранения данных, ввод данных, разработка элементов базы, предназначенных для просмотра, редактирования и вывода информации.
курсовая работа [1,4 M], добавлен 31.03.2010