- •2007 Г. Задание
- •Цель курсового проекта
- •Графическое представление сценария
- •Диаграмма потоков данных
- •Физическая модель приложения Проектное решение Аппаратно-программный комплекс «5 баллов»
- •Пользовательский интерфейс программы
- •Иерархия классов
- •Разработка горизонтального прототипа
- •Оценка прототипа
- •Приёмка и метрики
- •Заключение
- •Список литературы
- •Приложение
Заключение
При разработке и тестировании аппаратно-программного комплекса были выявлены следующие его качества:
Достоинства:
Комплекс работает в соответствии с разработанными ранее требованиями.
Процесс выполнения реферата понятен, в связи со структурой графического интерфейса
Комплекс позволяет накапливать данные в БД.
Комплекс позволяет проводить он-лайн консультацию и защиту работы с преподавателем что в какой-то степени удобно как студенту так и преподавателю.
Комплекс позволяет редактировать документ, что называется «не отходя от кассы».
Время, требуемое на освоение программы – очень мало, интерфейс понятен любому пользователю хоть немного работавшем в ОС семейства Windows.
Программа легкопереводима на другие платформы
Недостатки:
Комплекс сильно завязан на Internetв случае отказа сети, работа будет полностью парализована.
Защита работы не по средствам телеконференции, не гарантирует что со стороны студента сидит студент, написавший работу.
Список литературы
Методические указания
Интернет ресурс http://python.ru/,http://ru.wikipedia.org/wiki/Python
Приложение
MainForm.py
# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
from ui_MainForm import Ui_CMainForm
from Login import CLogin
from SimpleQuery import CSimpleQuery
from AdvancedQuery import CAdvancedQuery
from Processing import CProcessing
from Consult import CConsult
from Finaly import CFinaly
from Result import CResult
import random, os
class CMainForm(QtGui.QDialog):
def __init__(self):
QtGui.QDialog.__init__(self)
self.__m_form = Ui_CMainForm()
self.__m_form.setupUi(self)
self.__m_form.m_stack.insertWidget(0,CLogin())
self.__m_form.m_stack.insertWidget(1,CSimpleQuery())
self.__m_form.m_stack.insertWidget(2,CAdvancedQuery())
self.__m_form.m_stack.insertWidget(3,CProcessing())
self.__m_form.m_stack.insertWidget(4,CConsult())
self.__m_form.m_stack.insertWidget(5,CFinaly())
self.__m_form.m_stack.insertWidget(6,CResult())
self.__m_current = 0
self.__m_form.m_prev.setEnabled(0)
self.connect(self.__m_form.m_next, QtCore.SIGNAL("clicked()"), self.goNext)
self.connect(self.__m_form.m_prev, QtCore.SIGNAL("clicked()"), self.goPrev)
self.connect(self.__m_form.m_quit, QtCore.SIGNAL("clicked()"), self.goQuit)
def goNext(self):
self.__m_current+=1
self.__m_form.m_next.setEnabled(self.__m_current!=6)
self.__m_form.m_prev.setEnabled(self.__m_current)
self.__m_form.m_stack.setCurrentIndex(self.__m_current)
def goPrev(self):
self.__m_current-=1
self.__m_form.m_next.setEnabled(self.__m_current!=6)
self.__m_form.m_prev.setEnabled(self.__m_current)
self.__m_form.m_stack.setCurrentIndex(self.__m_current)
def goQuit(self):
self.close()
AdvancedQuery.py
from PyQt4 import QtCore, QtGui
from ui_AdvancedQuery import Ui_CAdvancedQuery
class CAdvancedQuery(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.__m_form = Ui_CAdvancedQuery()
self.__m_form.setupUi(self)
Consult.py
from PyQt4 import QtCore, QtGui
from ui_Consult import Ui_CConsult
class CConsult(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.__m_form = Ui_CConsult()
self.__m_form.setupUi(self)
Finaly.py
from PyQt4 import QtCore, QtGui
from ui_Finaly import Ui_CFinaly
class CFinaly(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.__m_form = Ui_CFinaly()
self.__m_form.setupUi(self)
Login.py
from PyQt4 import QtCore, QtGui
from ui_Login import Ui_CLogin
class CLogin(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.__m_form = Ui_CLogin()
self.__m_form.setupUi(self)
Processing.py
from PyQt4 import QtCore, QtGui
from ui_Processing import Ui_CProcessing
class CProcessing(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.__m_form = Ui_CProcessing()
self.__m_form.setupUi(self)
Result.py
from PyQt4 import QtCore, QtGui
from ui_Result import Ui_CResult
class CResult(QtGui.QWidget):
def __init__(self):
QtGui.QWidget.__init__(self)
self.__m_form = Ui_CResult()
self.__m_form.setupUi(self)
MakeFile
default: ui
@echo Ready to lanch
ui_MainForm.py: MainForm.ui
@pyuic4 MainForm.ui -o ui_MainForm.py
ui_Login.py: Login.ui
@pyuic4 Login.ui -o ui_Login.py
ui_SimpleQuery.py: SimpleQuery.ui
@pyuic4 SimpleQuery.ui -o ui_SimpleQuery.py
ui_AdvancedQuery.py: AdvancedQuery.ui
@pyuic4 AdvancedQuery.ui -o ui_AdvancedQuery.py
ui_Processing.py: Processing.ui
@pyuic4 Processing.ui -o ui_Processing.py
ui_Consult.py: Consult.ui
@pyuic4 Consult.ui -o ui_Consult.py
ui_Finaly.py: Finaly.ui
@pyuic4 Finaly.ui -o ui_Finaly.py
ui_Result.py: Result.ui
@pyuic4 Result.ui -o ui_Result.py
ui: ui_Login.py ui_MainForm.py ui_SimpleQuery.py ui_AdvancedQuery.py ui_Processing.py ui_Consult.py ui_Finaly.py ui_Result.py
clean:
@echo Cleaning...
@rm -f ui_MainForm.py ui_KeyGenDialog.py *.pyc