学生选课管理系统(数据库课程设计)
学生选课管理系统 数据库课程设计目录第一章系统规划1.1引言..b垂1.1.1编写目的.1.1.2项目背景1.2可行性研究的前提1.2.1目枋1.2.2要求1.2.3条件假定和限制1.2.4决定可行性的主要因素1.3技术可行性分析3.1技术的支持能力.11122333333.2技术的优势.1.3.3技术的难点1.4经济可行性分析1.4.1预期支出1.4.2预期收益1.5社会可行性分析333444441.5.1法律因素.1.5.2用户使用可行性.1.6意见结论第二章需求分析2.1系统需求垂鲁垂垂垂2.2功能需求2.3数据流图..2.3.1系统顶层图2.3.2数据流程图一层分解图2.3.3数据流程图二层分解图2.4数据字典.2.4.⊥数据流条目2.4.2数据处理132.4.3数据存储.14第三章概念设计...153.1实体之间的联系153.2ER图153.2.1局部E-R图第四章逻辑设计..11概念模型向关系模型的转换194.1.11:N联系的转化的关系模式4.1.2M:N联系的转化的关系模式194.2概念模型的优化04.2.1确定范式级別04.2.2实施规范化处理20第五章物理设计.5.1数据库的存储结构.,225.1.2数据库的表设计225.1.3数据的存放位置的设计245.1.4关系模式的存取方法245.1.5.数据库安仝性.21第六章实现、运行与维护.256.1实现,,,256.1.1数据库的实现.256.1.2视图的实现256.2人机界面设计,事b··垂···,,,,,,,,276.2.1用户登陆界面276.2.2学生选课管理界面.276.2.3教师管理界面.286.2.4管理员管理界面.6.3系统测试296.3.1用户脊陆测试296.3.2学生选课管理测试,,,,,,,296.3.3教师管理测试306.3.4管理员管理测试、4运行维护....,32总结33参考文献34学生选课管理系统第一章系统规趔第一章系统规划1.1引言1.1.1编写目的可行性研究的日的是川最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考査《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。1.1.2项目背景开发软件名称:学生选课管理系统项目任务提出者:李军项目开发者:洪峰、陈梓明等用户:各大高校师生1.2可行性研究的前提1.2.1目标系统实现后,极大的方便对学生进行选课和选课后临时班级的安排管理,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的丌销。促进髙校教育的计算机信息化进程,提髙学校的工作效率。对于系统的本身而言,应该具有较高的实用性、安全性。能够极大的满足学生选课,以及学校对选课信息的管理学生选课管理系统第一章系统规趔1.2.2要求主要功能:教师和学生登陆系统的帐号和密码,初始都分别为教师和学号,登陆后密码可以修改。其屮教师的职位可以是管理员。管理员和非管理员的老师及学生对系统的操作具有不同的权限。管理员登陆系统,对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行增加、删除、修改、查询。教师脊陆系统,能査看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改。学生登陆系统,能进行选课,查看管理员发布的选课信息,自己的选课情况,本人的基本信息,以及课程的成绩。系统自动分巸学生选课后的临时班级。性能要求管理员发布的信息、学生选课的信息以及管理员和学生对系统操作的信息必须及时的反映在本系统上,且无差错输入要求:具有很好的容错性和兼容性输出要求:应迅速、准确、实吋完成期限:预计五个星期,即截止2011年12月30日。1.2.3条件假定和限制建议软件寿命:未知经费来源:自费硬件条件: Intel pentium4、lG内存同等性能及以上的硬件条件运行环境: WindowⅪP、 Tomcat5.5、JDK1.6数据库: Microsoft sQL server2005投入运行最迟时间:2012年1月5日学生选课管理系统第一章系统规趔1.2.4决定可行性的主要因素技术可行,现有技术可完全承担开发任务操作可行,软件能被操作人员快速接受绎济可行,为小型系统软件,支出较小。社会可行,使用软件全部为正版,且本软件在法律允许范围之内1.3技术可行性分析技术上的可行性分析要考虑现有技术条件能否顺利完成开发工作及将来要采用的硬件和软件技术能否满足用户提出的要求。1.3.1技术的支持能力木系统采用J2EE企业级开发方案,其中 MyEclipse8.5作为系统前台应用程序丌发工具,采用 SQL Server2005工具建立数据库,并通过JDBC使两者进行连接从而进行系统软件开发。此前,我们已使用相同技术开发过类似软件系统,具有一定开发经验。此外,从开发人员的水平考虑,本系统的软件开发人员,都具有较强软件开发能力,且之前开发都参加过类似软件系统的开发,经验卡富。3.2技术的优势、J2EE体系结构提供中间层集成框架用来满足无需人多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求、开发效率、代码重用率高;、跨平台,编写次,随处运行;四、开发界面友好,智能。1.3.3技术的难点数据库设计和维护、系统负荷和安全问题学生选课管理系统第一章系统规趔1.4经济可行性分析1.4.1预期支出基础投资计算机10台:5000*10=5万人员工资:5000儿*2月*10人=10力官传费用:1万其他不可知支出:2万支出共计:18万本学生选课管理系统其它所需的硬件(计算机及相关硬件)和软件环境MyEclipse8.5+ Tomcat.5.5+JDK1.6+ SQL Server2005),市场上都容易购买到或从相关网站下载。其屮JDK1.5为开源免费软件。而 SQL server2005本软件采用的是学习版,也是免费的, MyEclipse8.5以前已经购得,开发成本较小。1.4.2预期收益预期发售价格:2万/套目标客户:全国各大高校预期发售量:40套/年预期收益:40米2=80万预期收益>预期支出,开发本系统能够为投资者带来较高的收益。1.5社会可行性分析1.5.1法律因素开发使用的所有软件都选用正版,其中JDK1.5为开源免费软件。而SQLserver2005木软件采用的是学习版,也是免费的学生选课管理系统第一章系统规趔1.5.2用户使用可行性本软件操作简单,界面友好,功能完备,有一定计算机基础的人员就能进行操作。6意见结论根据上述分析,技术、济、社会可行性都可行,可以立即进行开发。学生选课管理系统第二章需求分析第二章需求分析2.1系统需求用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。而前台显示部分,应具有人性化的界面,方便用户操作。因各个学校的实际情况不同,系统应该具有兼容性。例如:一些学校学生人数较多,同时登陆系统,系统承载的负荷就很大。系统需要同时处理很人的数据量,这时系统不会因此崩溃。此外,系统还应该具有较强的安全性,保证身份不同的用户,不能越权操作。非合法用户不能对数据进行操作2.2功能需求通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息(1)学生的需求:能进行选课,査看管理员发布的选课信息,自己的选课凊况,本人的基本信息,课程的成绩;()教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改;〔3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行査看。管理员还可以对授课老师的信息进行管理。
- 2020-12-09下载
- 积分:1
中科院高级软件工程期末题库
文档是期末考试的题库,老师出的题目都是从这里面出的。目录概念解释.二、选择题、设计题四、简答题……………23概念解释1.敏捷开发方法与 Scrum方法2.基于计划文档开发方法(Pan-and- Document based Development)3.DRY( Dont repeat yourself)尢重复代码4.MVC(软件作为服务的开发框架)5. SMART用户故事6. TDD and红绿重构7.F|RST测试原则8.代码味道及类内方法SOFA原则(说明S、O、F、A分别代表什么?违法该原则的代码的不好特征、重构和修复的方法)9.类间关系的SOLD原则(说明每个原则的意义、违法该原则的代码的不好特征、重构和修复的方法)(1)单一责任原则(2)开闭原则(3)里氏替换原则(4)依赖注入原贝(5)迪米特法则10.持续集成及开发11.文档对象模型(DoM)和 jQuery12. JavaScript函数特点13. HTML14.ruby面向对象15.ruby访问控制 public、 private和 protected16.CSs规则构成17.ruby中的数组18.Ruby哈希(Hash)19.Ruby迭代器:each和 collect20.Git工作流程、选择题21工具/语言1.下面哪个git命令用来帮助跟踪谁修改了什么文件和什么时候修改的?A. git listB. git manageC. git pushD. git blame2.如何比较两个文件或当前文件和以前版木的修订?A. git diffB. git compareglt cloneD. git checkout3.如果提小提交内容为空、不能提交,则最为合适的处理方式是a)执行 glt status查看状态,再执行 git add命令选择要提交的文件,然后提交。b)执行 glt commit- allow- empty,允许空提交。c)执行 glt commit-a,提交所有改动。d)执行 glt commit- amend进行修补提交4.如果把项目中文件hel1o.c的内容破坏了,如何使其还原至原始版本?0 git reset--hellocb) git checkout HEAD--hellocc) git revert hello.cd)git update hello.c5.修改的文栏 meeting.doc尚未提交,因为错误地执行了 glt reset-hard导致数据丢失。丢失的数据能找回么?a)不能。执行硬重置使工作区文件被覆盖,导致数据丢失无法找回。b)能。可以通过 git checkout hEAD@{1}- meeting.doc找回。c)不确定。如果在重置前执行∫ git add命令将 meeting.doc加入了暂存Ⅸ,则可以在对象厍中处于悬空状态的文件中找到d)不能。因为未提交所以无法找回。6.仅将工作区中修改的文件添加到暂有区(新增文件不添加),以备提交,用什么命令标记最快?a) git add -Ab) git add→pc git addd git add下面哪一个命令不会改变提交历史?a) git resct --hard HEAD1b) git checkout HEADc) git rebase -i HEADd) git commit --amend8.下面的描述中不属于Ruby特性的是A.Ruby是一种功能强大的面向对象的脚本语言B.Ruby遵守GPL协议并且是免费的。C.Ruy具有自动内存管理机制。D.Ruby是基于MVC架构的。9.下面的描述中不属于 Rails特性的是A. Rails是一个使用Ruby语言写的开源网络应用框架。B. Rails具有强大的反射札制与后设编程C.“不要重复自u”和“约定胜丁配置”是 Rails的设计原则。D. Rails具有实时映射技术和模板编程技术。10.Ruby提供了多种字符串的表示方法,下面哪一种是错误的?A.str=在线学习乐园”B.str-niwww.itzcn.comlC.str=%/t免费教学和视频D.str="窗内网11.在命令控制台要查看Ruby的版本应该使用命令A. rubyB. ruby versionC. ruby -hD. ruby /12.下列不属丁 Ruby Gems提供命令的是A. gem listB. gem install railsC. gemD. gem -update rails13.下面关于Ruby编译器的使用方法,错误的是A. ruby hi. rbB. ruby -e print hC. ruby -h hi. rbD. ruby -c hi. rb14.调用方法可以去除用户输入的换行符。A. chompB. trC.D. to i22需求分析15.下面哪些用户故事描述是满足的 SMART原则要求的?A.用户能用影片名查找电影信息。B.作为一个用户,我想看前10个按价格从低到高排序的影片列表,以便我买到最便宜的电景票。C. Rotten potatoes app应该有好的用户界面D. Rotten potatoes app应该有好的用户界面和快的响应时间6.下面哪个是对,就用户故事而言?()它们应该措述该应软件是如何使用的。()它们应该有业务价值。(i)它们不必要是可以测试的。它们应该在敏捷软件开发生命周期的各阶段都能实施或实现。A. ionlyB. i and iic, i and iyD, i iii, and iv7.相对强调过程的场景描述而言,声眀性场景描述特点是:A.有更复杂语句和步骤。B.个是DRY。C.史段、易理解和维护。D.关注在低层步骤上,这些步骤需要初始化设置和执行测试。8.对隐性和显性需求而言,下面哪些说法是对的?A.无论隐性和显性需求,你都不能写用户故事。B.隐性需求更简洁,而显性需求更啰嗦。C.隐性需求是显性需求的逻辑结果,通常对应于综合性测试D.显性需求通常可以用场景化过程性语言描述,而隐性需求通常用声明性语言描述。19.为什么很多软件项目失败?软件不是用户所要的。(i)延迟交付。(i)软件超出预算。(y)软件演化后容易维护和升级A. i andB. iii and iyC. i ii and iiiD. i, ii, iii, and iv20.下面哪些是表达了BDD的不足。.与客户交互沟通的成本。i.客户满意不等于该软件有一个好的架构。ⅲ编写功能代码前,先写测试代码。.缺乏相关工具。A. i and iiB. iii and ivC. ii and iiiD. i ii, iii, and iy21.需求分析最终结果是产生()A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书22.需求分析中,开发人员要从用户那里解决的最重要的问趣是()A.让软件做什么B.要给软件供哪些信息C.需求软件工作效率怎样D.让软件具有何种结构23.需求规格说明书的内容不应包括对()的描述。A.主要功能B.算法的详絀过程C.用户界面的运行环境D.软件性能24.软件需求分析阶段的工作,可以分成4个方面:需求获取,需求分析,编与需求规格说明书以及()A.用户B.需求评审C.总结D.都不正确25.在原型法中,开发人员根据()的需求不断修改原型,直到满足客户要求为止A.用户B.开发人员C.系统分析员D.程序员26.需求验证应该从下述几个方面进行验证:A.可靠性、可用性、易用性、重用性B.可维护性、可移植性、可重用性、可丬则试性C.一致性、现实性、完整性、有效性D.功能性、非功能性22设计27.敏捷开发者崇尚的价值点是A.过程和工具胜于个人与团队交流B.可工作的软件系统胜于全面的文档C.合同谈判胜于与客户协作D.遵循计划胜于响应需求变化28.瀑冇软件开模型与螺旋软件开发模型的区别?A.瀑布模型包括了大量的计划文档和时间跨度大的可匚作软件版本,而螺旋模型小量的计划文档和时问跨度小的可工作软件版本。B.瀑布模型从开始就写全所有的需求文档,而螺旋模型按迭代阶段写需求文档.C.瀑布模型有教长的迭代周期,而蠓旋模型有较短和快的迭代周期。D.瀑布模型的在每个阶段完成后进行保障测试,最后验证阶段包括了验收测试;而螺旋模型的侏障测试在每2个月内进行。29.哪种类型的代码是最坏的?A.遗留代码( legacy code)B.静态代码( static code)C.与期望不一致的短命代码( unexpectedly short-lived code)D.优美代码( beautiful code)30.“系统中的每一个知识(功能或特性)必须有单一的、无二义和明确的表示。”是对下面的哪条原则的表达?RESTBSAASC. SOADDRY31.如果一个项日延期后,为什么说增加人于不是一个好主意。因为:A.程序员太贵B.不能用大团队来承建SaS软件C.交流成本会下降D.让新程序员上手需要较多时间32. Model- View-Controller(Mvc)架杓/设计模式有什么好处?A.支持多用户存取和更新模型数据,对每个用户提供各自的视图。B.确保模型与视图有一对一的映射。C.为了调试日的,提供模型和控制器的调试窗口。D.像其他设计模式一样,遵循这类架构可以得到更简洼的代码。33.下面哪一ˉ种提晑软件生产效率的方法比较能体现面向服务架构的软件?A.通过简洁达到清晰( Clarity via concisenessB.代码合成( Synthesis)C.可重用( Reuse)D.自动化和工具( Automation and tools)34.一个服务直接访问另外一个服务的数据时可能出现不稳定的情况一般是以下哪一种情况的特点之A. Rails应用框架B.面向服务的架构C.面向对象编程D.敏捷开发过程35.假设有两个HTTP请求的URI是·样,但调用的方法(GET与POST)不同。对于Rails路由而言,卜面哪个说法是对的。A.两个请求可以对应不同控制器的方法,但不是必须的。
- 2020-12-08下载
- 积分:1