软件工程实验报告-科研管理系统
- 格式:doc
- 大小:225.00 KB
- 文档页数:14
软件工程实习报告(共6篇)软件工程实习报告(共6篇)第1篇:软件工程实_报告年软件工程实_报告实_是一种实践,是理论联系实际,应用和巩固所学专业知识的一项重要环节,是培养我们能力和技能的一个重要手段。
下面整理了软件工程实_报告,欢迎大家参考!八月初,我们来到大连东软实训中心进行为期20天的实_,我们要做的是物流配送管理系统,我要做的是配送中心管理模块。
它的主要功能是完成对商品、库房和供应商的管理,缺货查询和进货安排。
由于大家负责不同的模块编写,作为组长的我需要充分考虑各个模块之间的交互,系统风格一致性等问题。
为此,项目启动之前我们小组6人开会讨论了整体的业务流程,明确了数据库表之间的关联和各个模块之间的接口。
在项目验收阶段我们顺利地通过了答辩,圆满完成了预期目标,虽然和优秀的小组开发的系统还有一些差距,但是我们发挥了每个人的能力,结果也令我们满意。
在为期20天大连东软实训中心的实_过程中,我每天都感觉很充实,从基础知识的巩固,项目整个的开发过程,我都认真学_,勤于思考,并且不断动手实践,我感到收获很大。
这是我们在学_专业课程之后走向工作岗位之前的不可缺少的实践环节。
它对于培养我们的动手能力有很大的意义。
这次实_旨在培养学生综合运用所学的软件工程专业基础理论、基本技能和专业知识分析问题和解决问题的能力,培养我们的专业素质、应用科学的思维方法和计算技巧,使我们了解科学研究工作的一般程序和方法,撰写科技论文的能力;培养我们直接参与科研活动、科研文献和资料的调研,对研究工作以及相关的研究结果分析、综合的能力;重点培养我们积极的创新精神、严肃认真的科学态度和严谨求实的工作作风,增强我们的综合素质以及对毕业后工作岗位的适应能力;有利于扩大我们的知识面,并掌握一些软件工程技术的发展前沿。
这次实_让我们走出校园,切身体会公司的企业文化,感受到了和学校里面不一样的学_方式和氛围,也可以从中学到很多社会经验,了解了很多行业需求和动态,使我们视野更加开阔。
引言概述:正文内容:1. 实验背景:- 介绍软件工程实验的背景和意义;- 强调实验在培养学生分析和解决实际问题的能力方面的重要性。
2. 实验目的:- 阐述实验的主要目标,包括软件开发过程的实践应用、团队协作能力的培养等;- 说明实验对学生未来职业发展的重要性。
3. 实验设计与实施:- 总结实验的设计和实施过程,包括实验的时间安排、实验环境和实验工具的选择等;- 介绍实验所采用的具体软件开发方法和项目管理技术。
4. 实验结果与分析:- 对实验结果进行详细分析,包括开发过程中遇到的问题和解决方法;- 展示实验的具体成果,如软件系统的功能和性能等。
5. 实验总结与启示:- 总结实验的主要收获和经验教训;- 强调实验对学生技能发展和职业规划的重要性;- 提出对未来实验改进的建议。
小点详细阐述:1.1 介绍软件工程实验的背景和意义:- 说明软件工程实验的起源和发展历程;- 引述软件工程实验在工业界中的实际应用。
1.2 阐述实验在培养学生分析和解决实际问题能力方面的重要性:- 解释为什么实践是培养学生实际能力的有效途径;- 引用相关研究数据支持实验对学生能力发展的积极影响。
2.1 解释实验的主要目标:- 强调软件开发过程的实践应用;- 强调团队协作能力的培养和重要性。
2.2 说明实验对学生未来职业发展的重要性:- 引述软件工程师的需求量和薪资水平的数据;- 举例实验如何提升学生在求职过程中的竞争力。
3.1 介绍实验的具体设计:- 详细阐述实验的时间安排和实验环境的选择;- 解释为什么选择了特定的软件开发方法和项目管理技术。
3.2 说明实验工具的选择理由:- 介绍使用的开发工具和项目管理工具的优势;- 分析这些工具如何帮助实验的成功实施。
4.1 详细分析实验过程中遇到的问题:- 解释实验中出现的困难和挑战;- 分析团队在解决问题时采取的策略和方法。
4.2 展示实验的具体成果:- 说明软件系统的功能和性能;- 展示实验成果的图表和数据,如用户满意度调查结果等。
科研管理系统实验报告开发人员:章广宇129074352 网122班周小瑜129074072 计122班指导老师:方木云1.2.总体概述1.1软件标识:软件中文名称:安徽工业大学科研管理系统版本号:1.0.01.2开发背景近年来,我校科研上了很大的台阶,横向项目、纵向项目、论文、著作、专利和获奖等不断的增加,与国家、省、厅等基金委的交往越来越多。
因此,为了科研工作的快速甚至跨越式发展,需要建立一套适合我校新模式下的科研管理信息化系统。
为校领导、科研处和广大的教职工提供快速的交流平台。
1.3 目标要求:系统要采用B/S模式,建议采用C#作为开发工具,数据库采用SQLServer2008。
1.4 开发环境介绍进行系统的开发首先要构建系统的技术架构的设计。
系统采用Browser/S ever体系结构,客户端采用ASP.NET开发工具,该工具易学易用且功能强大,开发系统方便实用。
服务器端用SQLServer 2008数据库软件来管理数据库,做到应用软件与服务器数据库的无缝集成。
是.NET开发平台中的一个重要组件,它用来开发驻留在IIS上并且使用诸如HTTP和SOAP等Internet协议的Web应用程序。
ASP.NET 是一种编程框架,建立在公共语言运行库上,用来在服务器上生成具有强大功能的Web应用程序。
它由.NET框架提供的编程类库构建而成,不但是通用语言运行环境的宿主,还是采用受控代码来开发Web站点和Internet对象的一套结构。
Web窗体和web服务都将IIS和ASP.NET作为应用程序的发布机制,并且在.NET框架中都分别支持类。
SQL Server 2008是Microsoft 公司推出的SQLServer 数据库管理系统的成熟版本,可充分利用Windows系统及进行无缝集成的高性能设计;系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置;SQLServer 2008拥有强壮的事务处理功能,采用各种方法保证数据的完整性。
目录第一章需求分析和系统功能设计 (2)1.1系统项目依据及目标 (2)1.2系统功能模型的建立 (3)第二章系统规划和概要设计 (5)2.1 系统功能模块 (5)2.2 方法概要 (7)2.3系统流程图 (7)2.3.1系统的逻辑体系结构 (7)2.3.2系统流程图 (8)第三章数据库层的设计与实现 (11)3.1 数据库概念结构设计 (11)3.2数据库表结构设计 (12)3.3 存储过程设计 (14)3.4 数据库安全设计 (16)第四章系统总结 (18)第五章心得体会 (19)第一章需求分析和系统功能设计信息系统的开发不仅仅是一个应用程序的编写过程,最重要的是在系统分析和系统设计的阶段所做的的工作,科研管理系统是基于Microsoft Visual Studio 2008系统开发的Web应用程序,它针对有关目标设计系统开发背景,运行环境等进行分析,通过数据库需求分析、系统功能模块设计等实现系统及功能模块。
科研水平逐渐成为衡量一个高校的重要指标,高校作为重要的科研机构,如何对学校大量的科研信息进行高效、安全的保存、处理、统计、加工等管理操作,将日常的科研管理工作更加规范化、科学化,建立高校科研管理系统进行科研管理工作是每一个高校必由之路。
高校科研管理系统数据库设计是高校科研管理系统设计中的一项核心工作,所有的管理工作都必须以数据库为中心,进而建立高校科研管理系统。
1.1系统项目依据及目标科研管理系统是以科研项目流程为核心,全方位通过计算机来管理科研项目申报、项目开题、项目合同、实施进度、项目结题、科研成果、项目经费、分类汇总分析和科研分计算等科研活动,以达到方便、高效地管理和控制,提高管理效能。
该系统既满足学院领导和科研决策者对科研活动的宏观管理与决策的需要,满足科研管理部门对教师科研分的统计、汇总和查询,也满足各系部单位或本人对科研项目的查询和管理工作,同时也便于和教育厅的科研管理系统的数据进行对接。
(建筑工程管理)软件工程试验报告1《软件工程上机实验》实验方案书——科研管理系统安徽工业大学计算机学院专业班级计算机科学和技术074班学号079074120姓名任胜强指导教师方木云此次试验,要求完成可视化的科研管理系统。
将自己于软件工程课程中学习到的软件设计的知识运用的实际中,加深对知识的理解,也增强自己动手的实践能力。
我采用的是运用C++语言于WINDOWS操作平台上,使用MSvc6.0和sqlserver2000完成的单机版C/S系统。
试验步骤需求分析:分析该系统需要完成的功能,需要什么开发工具和数据库管理软件数据库设计:分析系统的数据,画出数据库的E-R图,且于此基础上完成数据库表的设计和初始数据的输入数据流图的设计:仿照用户的使用习惯,分析从系统启动到系统退出系统数据的使用系统功能模块的设计:按照数据流图的需要,分析出系统需要哪些模块来完成需求分析中提出的功能需求实现和编码:于选定的平台上上运用开发工具和数据库管理软件进行系统的开发测试:每完成壹个模块和重要函数,进行相应的单元测试;系统完成之后,需要系统测试迭代:根据测试的结果进行迭代,从而形成壹个完整可用的系统需求分析2.1可行性分析系统基于windows操作系统环境,于单机上进行测试和使用,主要功能完备,能够运行。
2.2基本功能需求1.系统分成三级用户,不同用户登录界面相同,可是具有的功能不同2.超级管理员能够进行所有的增删查修操作,壹般管理员能够对项目等进行增删查修,可是不能对和自己高级同级的用户进行操作3.实现基本信息的各种操作(如学院,部门,委托单位,论文级别,专家等),需要超级管理员的权限4.管理员之上能够实现各种项目、论文、著作、专利的输入工作5.普通用户能够实现项目信息的查询工作数据流图树形结构的数据流图如下所示:第五章系统模块结构图1.登陆界面:主要功能点:从数据库中读取数据,见用户名和密码的正确性;如果用户名输入不正确,提示用户名输入错误;如果密码输入不正确,提示密码输入错误;如果登陆次数多于五次,自动退出系统;用户名和密码正确,则进入系统主界面。
软件工程实训期刊管理系统软件测试报告一、引言二、测试目标1.验证系统的功能是否与需求规格说明书一致;2.验证系统的界面是否友好、易用;3.验证系统的性能是否满足要求;4.验证系统的稳定性和可靠性;5.验证系统的安全性。
三、测试环境1. 操作系统:Windows 10;2. 开发工具:Eclipse IDE, Java;3. 测试工具:JUnit;4.测试环境:本地服务器。
四、测试内容1.功能测试2.用户界面测试测试系统的界面是否友好、易用,用户是否能够方便地操作系统。
3.性能测试测试系统在正常运行和高负载时的性能表现,包括响应速度、并发用户数等指标。
4.稳定性测试测试系统的稳定性和可靠性,确保系统在长时间运行中不出现意外崩溃或数据丢失等情况。
5.安全性测试测试系统的安全性,包括对系统的身份验证、权限管理、数据保护等方面进行测试。
五、测试方法1.单元测试使用JUnit对系统的各个模块进行测试,验证模块的正确性。
2.集成测试对系统的各模块之间的接口进行测试,确保各模块能够正确地协同工作。
3.系统测试对整个系统进行测试,确保系统能够按照需求规格说明书的要求工作。
4.回归测试对系统的功能进行修改、修复后的再次测试,确保修改不会对原有功能造成影响。
六、测试结果经过以上测试,期刊管理系统的各项功能都能够正常工作,并且界面友好、易用。
系统在正常运行和高负载时,响应速度较快,性能表现符合预期。
系统稳定性较好,长时间运行中未发现崩溃或数据丢失等情况。
系统的安全性较高,具备身份验证、权限管理和数据保护等功能。
七、改进建议在测试过程中,我们发现系统的功能和性能都能够满足需求1.界面优化可以进一步优化用户界面,提升用户的使用体验。
2.异常处理加强系统的异常处理能力,提供更友好的错误提示信息,方便用户查找问题和解决方法。
3.性能优化进一步优化系统的性能,提升系统响应速度和并发处理能力,以应对大量用户同时操作的情况。
4.更细致的安全控制加强对系统的访问权限控制和数据保护功能,提高系统的安全性和可靠性。
软件工程实验报告软件工程实验报告一、实验目的本次实验的目的是通过实践,熟悉软件工程的基本知识和方法,掌握软件开发的流程和规范。
通过完成一个小规模的软件开发项目,培养学生的软件开发能力和团队合作能力。
二、实验步骤2.1 需求分析,我们需要明确软件的需求,确定软件的功能和特性。
通过与项目发起人的沟通,了解他们的需求和期望,进而进行需求分析和规划。
在这个阶段,我们需要明确软件的功能模块、用户界面设计等。
2.2 技术选型根据需求分析的结果,我们需要选择合适的技术栈来实现软件的开发。
我们需要评估各种技术的优缺点,选择适合自己团队的技术。
,我们还需要评估各种开发工具和框架,选择合适的工具来提高开发效率。
2.3 设计阶段在设计阶段,我们需要进行系统设计和详细设计。
系统设计阶段确定软件的整体框架和结构,包括软件的层次结构、模块划分和接口设计等。
详细设计阶段则重点关注各个模块的实现细节,包括算法设计和数据结构设计等。
2.4 编码实现在完成系统设计和详细设计后,我们就可以开始进行编码实现了。
在编码实现阶段,我们需要按照事先确定的设计进行代码编写,并进行代码的和调试。
,我们还需要关注代码的质量和可读性,使用一些良好的编码规范和设计模式。
2.5 阶段在编码实现完成后,我们需要对软件进行,确保软件的功能和性能都符合要求。
阶段包括单元、集成和系统等。
我们需要编写用例,并执行用例进行,发现并修复软件中的bug。
2.6 部署与维护在通过后,我们可以将软件部署到目标机器上进行运行。
在部署之前,我们需要进行一些配置和优化工作,确保软件能够在目标环境中正常运行。
,我们还需要进行软件的维护工作,及时修复bug和优化性能。
三、实验结果经过团队的共同努力,我们成功完成了本次实验的软件开发项目。
我们按照软件工程的流程和规范进行开发,保证了软件的质量和可维护性。
软件具备了项目发起人的需求,功能和性能都符合要求。
四、实验通过本次实验,我们对软件工程的基本知识和方法有了更深入的理解。
软件工程学生管理系统实验报告1. 引言学生管理系统是一种常见的软件应用程序,用于在学校或教育机构中管理学生的信息和相关任务。
本实验旨在设计和开发一个简单的学生管理系统,并使用软件工程的方法进行需求分析、设计、编码和测试。
2. 需求分析在进行系统设计之前,我们首先对需求进行分析。
学生管理系统应具备以下功能: - 学生信息维护:包括学生的基本信息(姓名、学号、性别等)以及其他详细信息(联系方式、家庭住址等); - 成绩管理:记录学生的考试成绩,并提供成绩统计功能; - 课程管理:管理学生的选课和退课操作; - 学生出勤记录:记录学生的课堂出勤情况。
3. 设计基于需求分析,我们设计了以下系统结构: - 用户界面(UI):提供用户与系统进行交互的界面,包括菜单、表单等;- 控制层(Controller):处理用户请求,调用逻辑层进行相应的处理; - 逻辑层(Service):实现系统的业务逻辑,包括学生信息管理、成绩管理、课程管理和出勤记录管理等; - 数据访问层(DAO):负责与数据库进行交互,对数据进行增删改查操作。
4. 编码在实际开发过程中,我们使用Java编程语言进行开发,并采用了Spring Boot框架、MyBatis框架和MySQL数据库。
具体的编码过程包括以下几个步骤: 1. 创建项目:使用Spring Initializr创建一个新的Spring Boot项目; 2. 定义实体类:定义学生、成绩、课程和出勤记录等实体类,并使用注解标注属性和关联关系; 3. 实现控制层:编写Controller类,处理用户请求,并调用逻辑层进行相应的处理; 4. 实现逻辑层:编写Service类,实现系统的业务逻辑; 5. 实现数据访问层:编写DAO类,使用MyBatis框架对数据库进行操作; 6. 配置数据库连接:在application.properties文件中配置数据库连接信息; 7. 测试和调试:使用JUnit等工具进行单元测试,并调试程序,保证系统的正常运行。
软件工程实验报告软件工程实验报告一、引言在当今信息化时代,软件已经成为人们生活和工作中不可或缺的一部分。
软件工程作为一门学科,旨在通过系统化的方法和工具,提高软件的质量、可靠性和可维护性。
本实验旨在通过实际操作,加深对软件工程的理解和应用。
二、实验目的本实验的主要目的是通过软件开发过程中的需求分析、设计、编码和测试等环节,掌握软件工程的基本原理和方法。
同时,通过实验操作,培养学生的团队合作能力和解决问题的能力。
三、实验内容本次实验的内容是开发一个简单的学生信息管理系统。
该系统主要包括学生信息的录入、查询和删除功能。
具体的实验步骤如下:1. 需求分析:明确系统的功能需求和性能需求,了解用户的需求和期望。
2. 系统设计:根据需求分析的结果,设计系统的架构和模块,确定数据结构和算法。
3. 编码实现:根据系统设计的结果,使用合适的编程语言和开发工具,编写系统的源代码。
4. 软件测试:对编写完成的系统进行测试,包括单元测试、集成测试和系统测试等。
5. 系统部署:将测试通过的系统部署到实际的运行环境中,进行性能测试和用户验收测试。
四、实验结果与分析经过团队的共同努力,我们成功地完成了学生信息管理系统的开发。
系统具有良好的用户界面和交互性,能够满足用户的基本需求。
在需求分析阶段,我们与用户进行了充分的沟通和交流,确保了系统的功能和性能需求的准确性和完整性。
在系统设计阶段,我们采用了模块化设计的思想,将系统分为若干个模块,每个模块负责一个具体的功能。
这样不仅提高了系统的可维护性,还便于团队成员之间的合作和协作。
在编码实现阶段,我们选择了Java作为开发语言,并使用Eclipse作为开发工具。
通过合理地划分和组织代码,提高了代码的可读性和可重用性。
同时,我们也注重代码的注释和文档的编写,方便后续的维护和修改。
在软件测试阶段,我们采用了黑盒测试和白盒测试相结合的方法,对系统进行了全面的测试。
通过测试,我们发现了一些潜在的问题和bug,并及时修复和优化。
《软件工程上机实验》实验报告书——科研管理系统专业班级学号姓名指导教师安徽工业大学第一章简介此次试验,要求完成可视化的科研管理系统。
将自己在软件工程课程中学习到的软件设计的知识运用的实际中,加深对知识的理解,也增强自己动手的实践能力。
开发环境和开发工具:WINDOWS操作平台上,使用MS vc6.0+sql server 2000第二章试验步骤1.需求分析:分析该系统需要完成的功能,需要什么开发工具和数据库管理软件2.数据库设计:分析系统的数据,画出数据库的E-R图,并在此基础上完成数据库表的设计和初始数据的输入3.数据流图的设计:仿照用户的使用习惯,分析从系统启动到系统退出系统数据的使用4.系统功能模块的设计:按照数据流图的需要,分析出系统需要哪些模块来完成需求分析中提出的功能需求5.实现和编码:在选定的平台上上运用开发工具和数据库管理软件进行系统的开发6.测试:每完成一个模块和重要函数,进行相应的单元测试;系统完成之后,需要系统测试7.迭代:根据测试的结果进行迭代,从而形成一个完整可用的系统第三章需求分析系统将采用先进的信息化技术,并有效结合现代科研管理理念和学校科研管理实际情况。
系统的成功建设将能够轻松解决传统科研管理中难以解决的系列问题,并在多个方面实现突破:实现标准化的科研信息系统:系统将采用了国家教育部信息化标准,完全兼容了“全国普通高等学校人文社会科学研究管理系统”,同时也充分体现学校的科研管理办法和有关精神。
系统将采集和管理标准完整的科研机构、人员、项目和成果等基础数据,避免了数据的无效性和不规范性,为以后的管理工作打下坚实基础。
构建开放式的科研管理体系:系统将向全校所有从事科研活动或者科研辅助工作的老师开放,并和学校人事处等业务部分建立数据共享机制。
系统将彻底改变以前封闭式的管理模式,解决系统数据对内对外的开放性问题。
科学分析和决策支持:系统能够及时收集到学校最新的科研项目、科研成果和学术活动等业务数据,并在大量的数据基础上进行数据挖掘分析工作。
既方便学校进行各种查询,也可以提供各种分析报表。
系统能够为学校科研管理决策提供科学有效的辅助支持。
科研信息化管理的全方位整体解决方案:系统针对学校的日常管理需要,提出的是一个包括信息发布、办公自动化和科研管理等多方面的整体解决方案。
这样避免了临时的不完整的信息化建设,一次性的满足了科研管理中多方面的需要。
2.1 可行性分析系统基于windows操作系统环境,在单机上进行测试和使用,主要功能完备,可以运行。
2.2 基本功能需求1.系统分成三级用户,不同用户登录界面相同,但是具有的功能不同2.超级管理员能够进行所有的增删查修操作,一般管理员可以对项目等进行增删查修,但是不能对和自己高级同级的用户进行操作3.实现基本信息的各种操作(如学院,部门,委托单位,论文级别,专家等),需要超级管理员的权限4.管理员以上可以实现各种项目、论文、著作、专利的输入工作5.普通用户可以实现项目信息的查询工作第四章数据流图树形结构的数据流图如下所示:第五章系统模块结构图1.登陆界面:主要功能点:1.从数据库中读取数据,看用户名和密码的正确性;2.如果用户名输入不正确,提示用户名输入错误;3.如果密码输入不正确,提示密码输入错误;4.如果登陆次数多于五次,自动退出系统;5.用户名和密码正确,则进入系统主界面。
主要代码:if(m_strUsername.IsEmpty()||m_strPassword.IsEmpty()){AfxMessageBox("请将资料填写完整再登录!");return;}theApp.id=m_strUsername;theApp.m_pRS.ADOExcute("select password,uright,name from userinfo where id ='"+m_strUsername+"'");if(theApp.m_pRS.nFieldRows==1){str=theApp.m_pRS.GetFieldString(0);str.TrimLeft();str.TrimRight();if(theApp.trytime>=5){//如果登录次数超过五次不成功的话,则退出系统PostQuitMessage(WM_QUIT);}if(str!=m_strPassword){theApp.trytime++;AfxMessageBox("错误的密码!");}else{npower=theApp.m_pRS.GetFieldNumber(1);theApp.power=npower;if(npower==1)power="超级管理员";else if(npower==2)power="管理员";elsepower="普通用户";CMainDlg *maindlg;maindlg = new CMainDlg();maindlg->Create(IDD_MAINDLG_DIALOG);this->ShowWindow(SW_HIDE);maindlg->ShowWindow(SW_SHOW);maindlg->Initial(theApp.m_pRS.GetFieldString(2),power,npower);}}else{AfxMessageBox("错误的用户名!");}2.系统主界面主要功能点:1.系统功能采用树形菜单映射的方式,分为设置和管理两大部分;2.设置主要是设置一些基础信息,比如在下拉框中需要选择的信息,比如学院,委托单位,论文等级等等,需要超级管理员权限;3.管理是系统主要功能在管理菜单下,普通用户只能查看相关信息,管理员以上可以增删查改相关信息;4.主界面分成三个部分,树形目录是不会发生改变的,始终显示在界面上;列表也是始终显示在界面上的,根据用户单击树形目录选择相关的信息显示在其中;第三部分,则是根据用户单击的选项来动态变化的,若单击用户管理,则显示用户管理的界面,如下示:5.系统配有相应的菜单项,工具栏,和状态栏,前两者用来映射树形目录功能,后者则是用来显示用户ID和用户权限以及当前系统时间的。
主要代码如下:1.List表格刷新函数m_ctrlList.GetClientRect(&rect);//获取列表控件的矩形m_ctrlList.DeleteAllItems();while ( m_ctrlList.DeleteColumn (0));//先插入列号try{for(i=0;i<colums;i++){strText=theApp.m_pRS.GetFieldName(i);lvColumn.mask=LVCF_TEXT|LVCF_FMT|LVCF_WIDTH;lvColumn.fmt=LVCFMT_LEFT;lvColumn.cx=rect.right/colums;if(lvColumn.cx<100)lvColumn.cx=100;lvColumn.pszText=strText.GetBuffer(strText.GetLength());//插入列m_ctrlList.InsertColumn(i,&lvColumn);}i=0;while(!theApp.m_pRS.ADOEOF())m_ctrlList.InsertItem(i,"%d",i);for(j=0;j<colums;j++){m_ctrlList.SetItemText(i,j,theApp.m_pRS.GetFieldString(j));}theApp.m_pRS.MoveNext();i++;}}catch(...){AfxMessageBox("数据库读取失败!");return;}2.选择相应窗口函数:CString strText,strSQL;HTREEITEM hTreeItem;hTreeItem = m_ctrltree.GetSelectedItem();strText=m_ctrltree.GetItemText(hTreeItem);if(strText=="用户管理"){if(power==1)//是超级管理员的话strSQL = "select ID,name,password,uright from userinfo";elsestrSQL.Format("select * from userinfo where uright>%d or name ='%s'",power,name);userinfo.ShowWindow(SW_SHOW);horizproj.ShowWindow(SW_HIDE);vertiproj.ShowWindow(SW_HIDE);article.ShowWindow(SW_HIDE);compose.ShowWindow(SW_HIDE);patent.ShowWindow(SW_HIDE);}else if(strText=="横向管理"){userinfo.ShowWindow(SW_HIDE);horizproj.ShowWindow(SW_SHOW);vertiproj.ShowWindow(SW_HIDE);article.ShowWindow(SW_HIDE);compose.ShowWindow(SW_HIDE);patent.ShowWindow(SW_HIDE);}else if(strText=="纵向管理")strSQL = "select * from vertiproj";userinfo.ShowWindow(SW_HIDE);horizproj.ShowWindow(SW_HIDE);vertiproj.ShowWindow(SW_SHOW);article.ShowWindow(SW_HIDE);compose.ShowWindow(SW_HIDE);patent.ShowWindow(SW_HIDE);}else if(strText=="论文管理"){userinfo.ShowWindow(SW_HIDE);horizproj.ShowWindow(SW_HIDE);vertiproj.ShowWindow(SW_HIDE);article.ShowWindow(SW_SHOW);compose.ShowWindow(SW_HIDE);patent.ShowWindow(SW_HIDE);}else if(strText=="专著管理"){userinfo.ShowWindow(SW_HIDE);horizproj.ShowWindow(SW_HIDE);vertiproj.ShowWindow(SW_HIDE);article.ShowWindow(SW_HIDE);compose.ShowWindow(SW_SHOW);patent.ShowWindow(SW_HIDE);}else if(strText=="专利管理"){userinfo.ShowWindow(SW_HIDE);horizproj.ShowWindow(SW_HIDE);vertiproj.ShowWindow(SW_HIDE);article.ShowWindow(SW_HIDE);compose.ShowWindow(SW_HIDE);patent.ShowWindow(SW_SHOW);}theApp.m_pRS.ADOExcute(strSQL);RefreshList();3.单击list控件中相应项在下面的子窗体中显示详细信息的函数:CString id;int cur=m_ctrlList.GetSelectionMark();int all=m_ctrlList.GetItemCount();if(cur>=0&&cur<all){//先查看选中的是否在显示的范围之内id=m_ctrlList.GetItemText(cur,0);if(userinfo.IsWindowVisible())//判断窗口是否是显示的userinfo.Display(id);else if(vertiproj.IsWindowVisible())vertiproj.Display(id);else if(horizproj.IsWindowVisible())horizproj.Display(id);else if(article.IsWindowVisible())article.Display(id);else if(compose.IsWindowVisible())compose.Display(id);else if(patent.IsWindowVisible())patent.Display(id);}4.主窗口初始化函数:状态栏数据结构:static UINT indicators[]={ID_INDICATOR_USER,ID_INDICATOR_TIME,ID_INDICATOR_POWER,};初始化状态栏:UINT nID;CRect rect;GetClientRect(rect);this->m_nwndStatusBar.Create(this);this->m_nwndStatusBar.SetIndicators(indicators,sizeof(indicators)/sizeof(UINT));m_nwndStatusBar.MoveWindow(0,rect.bottom-20,rect.right,20);m_nwndStatusBar.SetPaneStyle(2,SBPS_STRETCH);m_nwndStatusBar.SetPaneInfo(0,nID,SBPS_STRETCH|SBPS_NOBORDERS,rect.right/3-2 0);m_nwndStatusBar.SetPaneText(0,”当前用户:”+user);m_nwndStatusBar.SetPaneInfo(1,nID,SBPS_STRETCH|SBPS_NOBORDERS,rect.right/3-2 0);m_nwndStatusBar.SetPaneText(1,”用户权限:”+spower);m_nwndStatusBar.SetPaneInfo(2,nID,SBPS_STRETCH|SBPS_NOBORDERS,rect.right/3);SetTimer(1,1000,NULL);树形目录的初始化:hRootItem=m_ctrltree.InsertItem("科研管理系统",0,2,TVI_ROOT,TVI_LAST);HTREEITEM hsetup=m_ctrltree.InsertItem("设置",1,2,hRootItem,TVI_LAST);HTREEITEM hmanage=m_ctrltree.InsertItem("管理",1,2,hRootItem,TVI_LAST);HTREEITEM hset_school=m_ctrltree.InsertItem("学院设置",2,2,hsetup,TVI_LAST);HTREEITEM hset_task_type=m_ctrltree.InsertItem("课题类型设置",2,2,hsetup,TVI_LAST);HTREEITEM hset_article_type=m_ctrltree.InsertItem("论文类型设置",2,2,hsetup,TVI_LAST);HTREEITEM hset_embody_level=m_ctrltree.InsertItem("级别收录设置",2,2,hsetup,TVI_LAST);HTREEITEM hset_submit_cor=m_ctrltree.InsertItem("委托单位设置",2,2,hsetup,TVI_LAST);HTREEITEM hma_horizinal=m_ctrltree.InsertItem("横向管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_verticle=m_ctrltree.InsertItem("纵向管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_article=m_ctrltree.InsertItem("论文管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_monography=m_ctrltree.InsertItem("专著管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_patent=m_ctrltree.InsertItem("专利管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_identification=m_ctrltree.InsertItem("鉴定管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_reward=m_ctrltree.InsertItem("获奖管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_expert=m_ctrltree.InsertItem("专家管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_basinfo=m_ctrltree.InsertItem("基本信息管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_store=m_ctrltree.InsertItem("转储管理",2,2,hmanage,TVI_LAST);HTREEITEM hma_user=m_ctrltree.InsertItem("用户管理",2,2,hmanage,TVI_LAST);时间刷新定时器设置:// TODO: Add your message handler code here and/or call defaultCTime time;int week;time = CTime::GetCurrentTime();week=time.GetDayOfWeek(); //获取星期几,注意1为星期天,7为星期六CString s = time.Format("当前时间:%Y-%m-%d %H:%M:%S 星期");//月份是小写的,分钟是大写的switch(week){case 1:s+="日";break;case 2:s+="一";break;case 3:s+="二";break;case 4:s+="三";break;case 5:s+="四";break;case 6:s+="五";break;case 7:s+="六";break;}m_nwndStatusBar.SetPaneText(2,s);第六章测试与调试1.测设用例设计用例ID问题描述输入数据预期输出实际输出1 登陆界面,用户名错误用户名:aaaa密码:aaaa提示用户名错误弹出提示框,提示用户名错误(图c_1)2 登陆界面,没有任何信息用户名:空密码:空提示为空弹出提示框,提示填写完整后再登陆(图c_2)3 登陆界面,密码错误用户名:admin密码:admi提示密码错误弹出提示框,提示密码错误(图c_3)4 登陆界面,全部正确,超级管理员用户名:admin密码:admin进入主界面状态栏显示“超级管理员”进入主界面状态栏显示“超级管理员”5 登陆界面,全部正确,一般管理员用户名:rsq密码:342601进入主界面状态栏显示“管理员”进入主界面状态栏显示“管理员”,沿树形目录打开“用户管理”时,用户权限位是“普通用户”6 登陆界面,全部正确,普通用户用户名:PT密码:PT进入主界面状态栏显示“普通用户”进入主界面状态栏显示“普通用户”,沿树形目录打开“用户管理”时,用户权限位是“普通用户”,且没有增加和删除功能用例ID问题描述输入数据预期输出实际输出7 主功能模块,增加用户,以超级管理员身份登陆用户名:ren密码:ren用户姓名:ren用户权限:普通用户提示:增加用户成功,数据库中用户记录增加一条提示:增加用户成功(图c_4),数据库中用户记录增加一条8 主功能模块,增加用户,以超级管理员身份登陆用户名:sheng密码:sheng用户姓名:sheng用户权限:普通用户资料不完整,增加用户失败提示:增加失败,资料不完整(图c_5)9 主功能模块,删除用户,管理员身份登陆在list框中选择一条要删除的记录,单击删除删除成功,数据库中减少一条记录提示:成功删除(图c_6)10 主功能模块,修改用户信息,普通用户登陆列表框中之后自己的信息,单击选中,修改信息后,选择“修改”修改成功,数据库中的数据发生相应改变提示:修改成功,数据库中的书库发生相应变化(图c_7)11 主功能模块,修改用户信息,普通用列表框中之后自己的信息,单修改失败提示:修改失败,资料不完整(图c_8);户登陆击选中,修改信息,使得用户姓名不全,单击“修改”按钮12主功能模块,单击树形控件中的其他项目,检查界面发生的变化在界面为用户管理界面时,单击“纵向管理” 界面发生改变,详细信息部分变成纵向管理的界面,同时,列表框中的数据变成纵向项目的数据 界面发生改变,详细信息部分变成纵向管理的界面,同时,列表框中的数据变成纵向项目的数据13主功能界面初始化数据单击“纵向管理”详细信息模块变成“纵向管理”模块的界面,在下来选择框中,委托单位,项目类别,以及参加人的院的待选项为从数据库基础信息中读入的信息详细信息模块变成“纵向管理”模块的界面,在下来选择框中,委托单位,项目类别,以及参加人的院的待选项为从数据库基础信息中读入的信息图c_1 图c_2 图c_3图c_4 图c_5 图c_6图c_7 图c_82. 发现的问题a. 当用户在增加或者删除一条记录后,在列表框中没有及时更新其内容,必须要到树形控件中重新单击一次该内容对应的树形目录,才能刷新。