家用防盗系统的分析和设计Word文档下载推荐.docx
- 文档编号:6601204
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:17
- 大小:381.62KB
家用防盗系统的分析和设计Word文档下载推荐.docx
《家用防盗系统的分析和设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《家用防盗系统的分析和设计Word文档下载推荐.docx(17页珍藏版)》请在冰点文库上搜索。
房主通过控制面板、计算机或浏览器窗口中显示提示信息和系统状态信息。
可行性分析:
随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。
为了让人们更加放心的工作和学习,家庭安全系统随之出现。
系统的可行性分析
(1)系统实施运行的可行性:
如今大部分的白领都已熟练掌握计算机的基本实用方法和操作技能,对新系统的开发,表现出极大的热情。
提出了很多好的建议和要求。
(2)技术可行性:
internet网已正常运行;
开发人员已熟练掌握开发工具。
技术上实现系统是可行的。
(3)经济可行性:
internet网络已经建成;
硬件投入不需要很大。
四、选择一种方法(结构化,面向对象)建立系统分析模型,并给出详细的需求分析
说明,测试计划
功能描述:
住宅安全功能应该为各种不希望出现的“情况”提供保护,如非法入侵、火灾、漏水、一氧化碳浓度超标等等。
该功能将使用无线传感器监控每种情况,户主可以编程控制,并且在发现情况时自动电话联系监控部门。
潜在类分析:
房主,传感器,控制面板,安装,系统,编号,主密码,电话号码,传感器事件,发声警报,监测服务
设备:
一个控制面板、若干烟感器、co感应器、热感应器、若干门窗感应器、若干动态检测区、一个警报器、一个已被激活的传感器、一个显示器、一台计算机若干电话号码、一个电话等。
控制面板:
一个安装在墙上的单元,尺寸大概是9*5英寸;
控制面板和传感器、计算机之间是无线连接;
通过一个12键的键盘与用户交互,通过一个2*2的LCD显示器为用户提供反馈信息;
软件将提供交互提示、回显以及类似的功能。
房主使用控制面板的情况:
1.房主观察控制面板,以确定系统是否已准备接受输入。
如果系统未就绪,“notready”消息将显示在LCD显示器上,房主必须亲自动手关闭窗户、门才能使“Notready”消息消失
2.房主使用键盘键入4位密码,改密码和系统中存储的有效密码相比较。
如果密码不正确,控制面板将鸣叫一声并自动复位以等待再次输入;
如果密码正确,控制面板等待进一步的操作。
3.房主选择“Stay”或“Away”启动系统。
“stay”只激活外部传感器。
“away”激活所有的传感器。
4.当激活时,房主可以看到一个红色的警报器。
异常情况:
1控制面板未就绪:
房主检查所有的传感器,确定哪些传感器是开着的,并将其关闭。
2密码不正确:
控制面板鸣叫一声,房主需要重新输入密码。
3密码不识别:
必须对检测和响应子系统重新设定密码。
4选择stay:
控制面板鸣叫2声且Stay灯亮,边界传感器被激活。
5选择away:
控制面板鸣叫3声并且away灯亮;
所有传感器被激活。
用例图:
初步用例图:
安全功能用例图:
用户流程图:
部署图:
安全功能环境层DFD图:
安全功能第一层DFD:
安全功能2层DFD图:
安全功能3层DFD图:
安全功能顺序图:
整体体系结构图:
五、程序源代码。
该程序实现时对硬件接口的要求较高,才开始没能通过代码实现,不过后来在老师的指点之下,自己尝试将加密这块用代码实现了。
#include"
stdafx.h"
加密.h"
加密Dlg.h"
jsq.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//CAboutDlgdialogusedforAppAbout
classCAboutDlg:
publicCDialog
{
public:
CAboutDlg();
//DialogData
//{{AFX_DATA(CAboutDlg)
enum{IDD=IDD_ABOUTBOX};
//}}AFX_DATA
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);
//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg:
:
CAboutDlg():
CDialog(CAboutDlg:
IDD)
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
voidCAboutDlg:
DoDataExchange(CDataExchange*pDX)
CDialog:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//Nomessagehandlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
//CMyDlgdialog
CMyDlg:
CMyDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CMyDlg:
IDD,pParent)
//{{AFX_DATA_INIT(CMyDlg)
m_name=_T("
"
);
m_psw=_T("
//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32
m_hIcon=AfxGetApp()->
LoadIcon(IDR_MAINFRAME);
voidCMyDlg:
//{{AFX_DATA_MAP(CMyDlg)
DDX_Text(pDX,IDC_EDIT1,m_name);
DDX_Text(pDX,IDC_EDIT2,m_psw);
BEGIN_MESSAGE_MAP(CMyDlg,CDialog)
//{{AFX_MSG_MAP(CMyDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//CMyDlgmessagehandlers
BOOLCMyDlg:
OnInitDialog()
OnInitDialog();
//Add"
About..."
menuitemtosystemmenu.
//IDM_ABOUTBOXmustbeinthesystemcommandrange.
ASSERT((IDM_ABOUTBOX&
0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX<
0xF000);
CMenu*pSysMenu=GetSystemMenu(FALSE);
if(pSysMenu!
=NULL)
{
CStringstrAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(!
strAboutMenu.IsEmpty())
{
pSysMenu->
AppendMenu(MF_SEPARATOR);
AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);
}
}
//Settheiconforthisdialog.Theframeworkdoesthisautomatically
//whentheapplication'
smainwindowisnotadialog
SetIcon(m_hIcon,TRUE);
//Setbigicon
SetIcon(m_hIcon,FALSE);
//Setsmallicon
//TODO:
Addextrainitializationhere
returnTRUE;
//returnTRUEunlessyousetthefocustoacontrol
OnSysCommand(UINTnID,LPARAMlParam)
if((nID&
0xFFF0)==IDM_ABOUTBOX)
CAboutDlgdlgAbout;
dlgAbout.DoModal();
else
CDialog:
OnSysCommand(nID,lParam);
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow
//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,
//thisisautomaticallydoneforyoubytheframework.
OnPaint()
if(IsIconic())
CPaintDCdc(this);
//devicecontextforpainting
SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);
//Centericoninclientrectangle
intcxIcon=GetSystemMetrics(SM_CXICON);
intcyIcon=GetSystemMetrics(SM_CYICON);
CRectrect;
GetClientRect(&
rect);
intx=(rect.Width()-cxIcon+1)/2;
inty=(rect.Height()-cyIcon+1)/2;
//Drawtheicon
dc.DrawIcon(x,y,m_hIcon);
OnPaint();
//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags
//theminimizedwindow.
HCURSORCMyDlg:
OnQueryDragIcon()
return(HCURSOR)m_hIcon;
OnOK()
Addextravalidationhere
UpdateData(TRUE);
if(m_name=="
admin"
&
&
m_psw=="
123456"
//MessageBox("
登录成功!
OnOK();
//关闭登录界面
MessageBox("
登录失败,请重新登录!
m_name="
;
m_psw="
UpdateData(FALSE);
//
OnCancel()
Addextracleanuphere
OnCancel();
六、给出详细的测试方案,编写测试用例
我预设的用户名为:
admin密码123456
如果密码正确,将会自动登录,否则,则会跳出提示密码错误对话框。
测试用例:
1.用户名错误我输入abc,则提示用户名错误,请重新输入。
2.密码错误当用户名输入admin密码输入070032时,则提示密码错误,只有当密码及用户名均输入正确的情况下才能登陆,并进入下一个界面。
七、课题小结
每学年期末都有一次课程设计,这对我们巩固所学的知识有着及其重要的意义。
通过课程设计,我们对以前学过的知识有了更系统的回顾,我们把前两个学年学到的知识重新回顾并用到自己所选择的课题当中。
出于对21世纪人们对安全的要求越来越高,我选择了家用防盗系统的分析和设计。
因为对硬件以其许多别的接口要求较高,我没能用代码来实现整个过程,但是我对各个用例以及分析模型和设计模型进行了详细的分析和设计,在分析和设计的过程中,我熟练的运用Microsoftvisio及RationalRose,加深自己对课题的认识。
总之,这次课程设计收获很大。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 家用 防盗 系统 分析 设计