




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机实验项目管理系统概要设计课 程 名 称 班 级 授 课 教 师 教 师 职 务 教 学 单 位 学 生 姓 名 学 生 学 号 教 务 处 制课题(项目)名称: 计算机实验项目管理系统概要设计计划学时: 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验一 实验名称:计算机实验项目管理系统概要设计实验学时:6一、目的与任务目的:确定课题,组织组员,合理分工,熟悉软件开发环境,培养团队精神;确定项目的可实施性,在此基础上完成系统的逻辑功能模型的建立。任务:学习软件开发小组的组织和管理,合理分工,将项目开发各阶段的任务明确,并熟悉相应的软件开发环境;采用不同的软件开发技术,完成对项目的分析过程,给出系统的逻辑功能模型,数据字典以及规格说明书。二、内容、要求与安排方式1、实验内容与要求:(1)根据各组选择的课题,实行项目经理制,各组推荐一名组长,统一管理整个项目的实施过程,并和理调整资源和负责项目全局;根据项目的难易合理分配组员的任务,对问题达成一直的看法;针对项目的实施,熟悉相应的软件开发工具的使用环境。(2)明白项目的业务流程图,绘制数据流程图,功能分析图,编写数据字典,数据加工处理的描述,软件系统流程设想图(新系统模型),需求规格说明书。(3)获取需要分析方法小组成员分别模拟用户和开发人员的身份进程访谈与会议方式或组成联合开发小组进行.(4)按结构化设计思想,将系统分成几个子模块,分析并描述每个模块的功能及各个模块之间的联系,画出模块结构图。(5)数据结构设计:对DFD图中的数据流及数据源进行分析,确定在系统中所处理的数据项,进一细化每个数据项及数据流的数据字典。确定系统中的数据结构(存储及使用方式)(6)用一种详细设计工具(程序图、框图、PDL等)对软件系统进行详细设计:对模块进行细分(以一个模块完成一个功能为细分结束条件),对细分后的每个模块设置其数据处理过程,以及每一步对数据的处理方式。 (7)选定编程语言后,在编程环境中为每一个功能模块设计其操作界面,并说明每一个界面的处理逻辑(即界面中有哪些数据项,有哪些功能按钮,每一个功能按钮所有完成的功能以及要进行哪些数据校验等。要求为整个系统设计一个主界面。在主界面中以菜单方式或按钮事件方式完成每一个功能模块的调用。2、实验安排方式:划分小组:各组可同时进行实验,每组34人,每组一个课题(一个课题只能由一个小组完成),各小组选出一个组长负责整个实验过程。3准备参考资料和阅读相关的国家有关软件开发的标准文档。三、实验课题邮件系统开发:1、 对邮件系统进行需求分析2、 完成邮件系统软件设计四、实验要求软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计。具体要求如下:1班级按项目小组进行分组,每组不得超过4人2每个项目小组选出项目负责人或项目经理,由项目经理召集项目组成员讨论、选定开发项目3项目中的每项任务要落实到人且规定该任务的起止日期和时间4每个项目小组必须按照软件工程实验指导书附录中给定的文档规范标准提供项目文档5软件开发的方法自定(结构化或面向对象的方法学)五、思考题1、项目开发首先要做的事是什么?答:进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。2、你认为该软件应具备的最重要的特性是什么。答:形态、智能、开发、质量、环境、维护、应用3、你认为怎样分工是最合理的?答:基本原则如下: 1)划分(项目必须被划分成若干可以管理的任务和活动); 2)相互依赖性(确定各个被划分的任务和活动之间的相互关系); 3)时间分配(为每个被调度的任务分配一定数量的工作单位);4)工作量确认(每个项目都有预定数量的人员参与); 5)定义责任(指定小组负责); 6)定义结果(每个计划任务都应该有一个确定的输出结果)4、需求分析在软件开发中真的有那么重要吗?需求分析是一项软件工程活动。软件开发是要实现目标系统的物理模型,需求分析的的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。是软件开发首要做的。5、分析系统流程图,流程图和数据流图的区别和各自的特点。数据流程图:反应输就走向,它不考虑时序关系,主要用于业务分析,用作详细设计。途中的有向线段表示了数据流 系统流程图:反应主体框架 程序流程图:程序逻辑描述程序中控制流的情况,即程序中处理的执行顺序和执行序列所以来的条件,途中的有向线段表示的是控制流从一个处理走到下一个处理6、怎样写合乎规范的数据流图和数据词典?答:对于在数据流图中每一个被命名的图形元素均加以定义:其内容包括图形元素的名字,图形元素的别名或编号,图形元素类别(如加工、数据流、数据文件、数据元素、数据源点或数据汇点等)、描述、定义、位置等。7、怎样组织对该工作的评审?答:最高管理者应把管理评审的重点放在影响产品质量的关键问题;管理评审是标准对组织 最高管理者提出的重要活动之一。实验报告要求:1. 实验目的2. 实验内容及步骤3. 实验习题的源程序清单4. 写出在实验过程中遇到的问题及解决方法5. 要求字迹端正、条理清晰、概念正确系统功能设计本系统是基于B/S结构的企业电子邮件系统的设计与实现,针对企业办公中存在的信息不畅,效率低下、操作不规范等一系列问题,用信息化的手段和新一代的管理思想,提供了强有力的网络化、电子支持,把协同办公的理念、知识管理的思想带入办公生活,帮助工作单位实现信息化程度的全面提升。 本系统主要完成的功能有三大部分: 邮件夹的管理:邮件夹主要包括收件箱、发件箱、草稿箱、垃圾箱。主要进行邮件的管理。 收邮件:主要完成邮件的收取; 发送邮件:主要实现编辑邮件、选择收件人,上传附件。 对邮件系统进行需求分析(1)系统需求分析的目的 需求分析是软件开发时期的最重要阶段之一,它的基本任务是准确地回答“系统必须做什么”这个问题,是对目标系统提出完整、准确、清晰、具体的要求。对需求完全理解对于软件开发工作的成功是非常重要的,需求分析有利于提高软件开发过程中的能见度,便于对软件开发过程的控制与管理,便于采用软件工程方法学开发软件,提高软件的质量,便有开发人员、维护人员、管理人员之间的交流、协作,并且在向潜在用户传递软件功能、性能需求,使其能够判断该软件是否与自己的需求相关。需求分析是整个系统开发的重要阶段,分析的成功与否,决定着整个系统功能的完善性以及稳定性。需求分析过程应该建立3种模型,他们分别是数据模型、功能模型和行为模型。(2)系统需求用户 此企业电子邮件系统主要的用户是小中型企业。伴随着办公网络化和电子邮件对于企业运作越来越重要,企业邮箱给企业带来的众多的好处,使得企业对于拥有自己的企业邮箱越来越迫切,但是现有企业邮箱对于这话小中型企业来说过于昂贵。本系统旨在建立一个对企业来说可以完成基本的通讯需求、方便员工之间和员工和客户之间的交流的系统,没有其他复杂的不是必须的功能,以此来降低系统的开发成本,使得它对小型企业来说不会成为大的负担,而且方便了企业的工作和交流,满足了企业对于拥有自己的企业邮箱的需求。(3)系统功能需求 本系统是企业电子邮件系统,通过对现有软件的了解以及企业员工对电子邮件的需求,此系统需要完成的主要功能如下: 写信:主要实现编辑邮件、选择收件人,上传附件。新邮件:主要用于用户查看没有查看的邮件也就是新邮件,可以进行邮件的删除,查看邮件的详细信息,如果邮件有附件,用户也可以将附件下载到本地进行查看。收件箱:主要用于用户查看所接受的所有邮件,可以进行邮件的删除,查看邮件的详细信息,如果邮件有附件,用户也可以将附件下载到本地进行查看。发件箱:主要完成保存已发送邮件和显示邮件信息的功能; 草稿箱:主要完成保存未发送的邮件并在完成后发送邮件的功能。 垃圾箱:主要完成保存已删除的邮件,以防用户误删邮件,用户可以选择彻底删除和还原。 联系人:企业内部联系人列表显示。 系统功能模块设计用户登录主界面邮件系统配置邮件文件夹写信垃圾箱草稿箱发件箱收件箱新邮件流程架构用户登录 电子邮件接收系统各种提示电子邮件发送系统带有附件的邮件接收简单邮件发送带有附件的邮件接收简单邮件接收功能架构图添加发送邮件信息发送邮件保存发送邮件返回到邮件列表面结束开始保存草稿发送邮件进入邮件发送读取邮件信息内容查看草稿箱中的邮件开始结束草稿箱数据库的实现用户表:CREATE TABLE USERACCOUNT(USERID varchar(11) NOT NULL,USERNAME varchar(11) NULL,USERPASSWORD varchar(16) NULL,LOCKED int NULL,EMPID varchar(16) NULL,DESCR varchar(16) NULL)部门表:CREATE TABLE dbo.DEPT(DEPTNO varchar(11) NOT NULL,PDEPTNO varchar(11) NULL,DEPTNAME varchar(32) NULL,FULLNAME varchar(64) NULL,SEQ int NULL,PATH varchar(128) NULL)员工表:CREATE TABLE dbo.EMPLOYEES(EMPID varchar(11) NOT NULL,EMPNO varchar(11) NOT NULL,NAME varchar(22) NOT NULL,DEPTNO varchar(11) NOT NULL,SEX varchar(2) NULL,BIRTH date NULL,MARRIED nvarchar(50) NULL,IDCARD nvarchar(50) NULL,DIPLOMA nvarchar(50) NULL,GRADUATEDFROM varchar(50) NULL,POSITION varchar(50) NULL,PHOTO image NULL,SEQ int NULL,STATE varchar(1) NULL)发信表:CREATE TABLE dbo.EMAIL(MAILID varchar(11) NOT NULL,SENDER varchar(11) NULL,SENDTIME datetime NULL,TITLE varchar(120) NULL,CONTENT varchar(max) NULL,ATTACHMENT varchar(320) NULL,MAILSTATE varchar(1) NULL,RECEIVERS varchar(2000) NULL)收信表:CREATE TABLE RECEIVERS(RECID varchar(11) NOT NULL,MAILID varchar(11) NULL,RECEIVER varchar(11) NULL,READTIME datetime NULL,READSTATE varchar(1) NULL)系统的编码实现课 程 名 称 班 级 授 课 教 师 教 师 职 务 教 学 单 位 学 生 姓 名 学 生 学 号 教 务 处 制课题(项目)名称: 系统的编码实现计划学时: 实验类型: 1.演示性 2.验证性 3.综合性 4.设计性 5.其它授课日期: 年 月 日 第 周 星期 第 节实验二实验名称:系统的编码实现实验学时:6一、实验目的 根据前面设计对邮件系统进行编码实现。二、实验内容 1、为邮件系统设计功能模块设计其操作界面; 用户登录 邮件夹管理 写信 新邮件 草稿箱 收件箱界面 垃圾箱界面 发件箱界面2、完成邮件的发送、草稿暂存;/邮件的暂存 DirectMethod public void clickSave() DataBase db; db = new DataBase(ConnStr); try db.BeginTransaction(); string MAILID = GetNextMAILID(); string sql = INSERT INTO EMAIL(MAILID,SENDER,SENDTIME,TITLE,CONTENT,ATTACHMENT,MAILSTATE) VALUES (?, ?, ?, ?, ?, ?, ?); db.Execute(sql, MAILID, LoginUser.EmpId, System.DateTime.Now, txtTile.Text, htmlContent.Text, Sessionfilename, 0); string s = INSERT INTO RECEIVERS(RECID, MAILID ,RECEIVER,READSTATE) VALUES (?, ?, ?, ?); List checkedNodes = treeLinkman.CheckedNodes; recid = GetNextRECID(); if (checkedNodes != null) foreach (SubmittedNode node in checkedNodes) db.Execute(s, (recid+).ToString(), MAILID, node.NodeID, 0); db.Commit(); X.Msg.Alert(正确, 保存草稿箱成功!).Show(); txtTile.Text = ; txtReciver.Text = ; htmlContent.Text = ; treeLinkman.ClearChecked(); fpFile.Update(); catch (Exception ex) db.Rollback(); X.Msg.Alert(, ex.Message).Show(); /邮件的发送 DirectMethod public void clickPublish() DataBase db; db = new DataBase(ConnStr); try / db.BeginTransaction(); string MAILID = GetNextMAILID(); string sql = INSERT INTO EMAIL(MAILID,SENDER,SENDTIME,TITLE,CONTENT,ATTACHMENT,MAILSTATE) VALUES (?, ?, ?, ?, ?, ?, ?); db.Execute(sql, MAILID, LoginUser.EmpId, System.DateTime.Now, txtTile.Text, htmlContent.Text, Sessionfilename, 1); string s = INSERT INTO RECEIVERS(RECID, MAILID ,RECEIVER,READSTATE) VALUES (?, ?, ?, ?); List checkedNodes = treeLinkman.CheckedNodes; recid = GetNextRECID(); if (checkedNodes != null) foreach (SubmittedNode node in checkedNodes) sql = select * from EMPLOYEES where DEPTNO = ?; DataTable dt = db.GetDataTable(sql, node.NodeID); if (dt.Rows.Count != 0) foreach (DataRow dr in dt.Rows) db.Execute(s, (recid+).ToString(), MAILID, drempid, 1); else db.Execute(s, (recid+).ToString(), MAILID, node.NodeID, 1); / db.Commit(); X.Msg.Alert(正确, 发送成功!).Show(); txtTile.Text = ; txtReciver.Text = ; htmlContent.Text = ; treeLinkman.ClearChecked(); fpFile.Update(); catch (Exception ex) db.Rollback(); X.Msg.Alert(, ex.Message).Show(); 3、收件箱邮件查看、阅读、删除;public partial class RecvMail : BaseWebForm DataBase db; DataTable dt = null; /邮件查看 protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) db = new DataBase(ConnStr); string sql = select RECID,e.MAILID,SENDER,em.NAME,RECEIVER,TITLE,CONTENT,ATTACHMENT,SENDTIME,READSTATE from EMAIL e,EMPLOYEES em, (SELECT * from RECEIVERS where RECEIVER = ? and READSTATE in( 1,2) tp where tp.MAILID = e.MAILID and e.SENDER = em.EMPID order by SENDTIME desc; dt = db.GetDataTable(sql, LoginUser.EmpId); thisRECID = dt; Receivers = dt; storeRecid.DataSource = dt; storeRecid.DataBind(); /邮件删除 DirectMethod public void OnDelete(string recid) db = new DataBase(ConnStr); try db.BeginTransaction(); if (Receivers != null) string sql = UPDATE RECEIVERS SET READSTATE = 3 where recid = ?; db.Execute(sql, recid); db.Commit(); Receivers.AcceptChanges(); catch (Exception ex) db.Rollback(); X.Msg.Alert(错误, ex.Message).Show(); DataTable Receivers get return Sessionreceivers = null ? null : (DataTable)Sessionreceivers; set Sessionreceivers = value; System.Data.DataView thisDataTable dt, string filter get return new System.Data.DataView(dt, filter, null, DataViewRowState.CurrentRows); /邮件阅读public partial class MailPreview : BaseWebForm DataBase db; DataTable dt; public string content = null; System.Data.DataView dvBulletin = null; protected void Page_Load(object sender, EventArgs e) /发信的阅读 if (RequestMAILID != null) db = new DataBase(ConnStr); string filter = MAILID = 0; filter = string.Format(filter, RequestMAILID); dvBulletin = thisMAILID, filter; if (dvBulletin != null) lbTitle.Text = dvBulletin0TITLE.ToString(); dt = db.GetDataTable(select name from employees where empid = ?, dvBulletin0SENDER.ToString(); if (dt.Rows.Count != 0) foreach (DataRow drv in dt.Rows) lbPublisher.Text = drvname.ToString(); lbTime.Text = dvBulletin0SENDTIME.ToString(); dt = db.GetDataTable(select name from employees where empid = ?, dvBulletin0RECEIVERS.ToString(); if (dt.Rows.Count != 0) foreach (DataRow drv in dt.Rows) lbReceiver.Text = drvname.ToString(); content = dvBulletin0CONTENT.ToString(); if (dvBulletin0ATTACHMENT != DBNull.Value) string attachment = dvBulletin0ATTACHMENT.ToString(); string attachments = attachment.Split(;); string s = Request.Url.AbsoluteUri; string url = http:/0/Files/1; url = string.Format(url, Request.Url.Authority, attachment); string url1 = http:/0/download.aspx?filename=1; url1 = string.Format(url1, Request.Url.Authority, attachment); filter = 1 1; string trs = null; foreach (string a in attachments) trs = trs + string.Format(filter, url, a, url1); filter = 1; filter = 0; string tbs = string.Format(filter, trs); divAttach.InnerHtml = tbs; /收信的阅读 if (RequestRECID != null) db = new DataBase(ConnStr); string filter = RECID = 0; filter = string.Format(filter, RequestRECID); dvBulletin = thisRECID, filter; if (dvBulletin != null) lbTitle.Text = dvBulletin0TITLE.ToString(); dt = db.GetDataTable(select name from employees where empid = ?, dvBulletin0SENDER.ToString(); if (dt.Rows.Count != 0) foreach (DataRow drv in dt.Rows) lbPublisher.Text = drvname.ToString(); lbTime.Text = dvBulletin0SENDTIME.ToString(); dt = db.GetDataTable(select name from employees where empid = ?, dvBulletin0RECEIVER.ToString(); if (dt.Rows.Count != 0) foreach (DataRow drv in dt.Rows) lbReceiver.Text = drvname.ToString(); content = dvBulletin0CONTENT.ToString(); if (dvBulletin0ATTACHMENT != DBNull.Value) string attachment = dvBulletin0ATTACHMENT.ToString(); string attachments = attachment.Split(;); string s = Request.Url.AbsoluteUri; string url = http:/0/Files/1; url = string.Format(url, Request.Url.Authority, attachment); string url1 = http:/0/download.aspx?filename=1; url1 = string.Format(url1, Request.Url.Authority, attachment); filter = 1 1; string trs = null; foreach (string a in attachments) trs = trs + string.Format(filter, url, a, url1); filter = 1; filter = 0; string tbs = string.Format(filter, trs); divAttach.InnerHtml = tbs; db.Execute(UPDATE RECEIVERS set READSTATE = 2, READTIME =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 更新钢管井施工方案(3篇)
- 道路石材面板施工方案(3篇)
- 严管厚爱系列活动方案策划(3篇)
- 景区许愿活动策划方案模板(3篇)
- 长宁企业年会活动策划方案(3篇)
- 机械模具考试题库及答案
- 教学课件里能用党旗党徽
- 小学学科融合题目及答案
- 改写寻隐者不遇作文14篇
- 文化娱乐行业节目分类表
- 住院病人防止走失课件
- 2024年重庆永川区招聘社区工作者后备人选笔试真题
- 医学技术专业讲解
- 2025年临床助理医师考试试题及答案
- 唯奋斗最青春+课件-2026届跨入高三第一课主题班会
- 2025民办中学教师劳务合同模板
- 2025年南康面试题目及答案
- 2025年事业单位考试贵州省毕节地区纳雍县《公共基础知识》考前冲刺试题含解析
- 高中喀斯特地貌说课课件
- 留疆战士考试试题及答案
- 2019-2020江西省投资集团有限公司总部招聘试题及答案
评论
0/150
提交评论