




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件设计报告 姓名:姓名: 方方轶轶琦琦 学号:学号: 2013 年年 6 月月 18 日日2013 年年 6 月月 28 日日 目目 录录 第一章 软件设计介绍.1 第三章 软件设计的内容.4 3.1分数统计软件(A1).4 3.1.1 设计题目及要求 .4 3.1.2 设计思想及程序流程框图 .4 3.1.3 逻辑功能程序 .5 3.1.4 结果及完善方向 .8 3.2打字软件(A2).9 3.2.1 设计题目及要求 .9 3.2.2 设计思想及程序流程框图 .9 3.2.3 逻辑功能程序 .10 3.2.4 结果及完善方向 .12 3.3文本编辑器(A3).13 3.3.1 设计题目及要求 .13 3.3.2 设计思想及程序流程框图 .13 3.3.3 逻辑功能程序 .14 3.3.4 结果及完善方向 .17 3.4加密软件(A4).18 3.4.1 设计题目及要求 .18 3.4.2 设计思想及程序流程框图 .19 3.4.3 逻辑功能程序 .19 3.4.4 结果及完善方向 .21 3.5进制转换器(A5).22 3.5.1 设计题目及要求 .22 3.5.2 设计思想及程序流程框图 .22 3.5.3 逻辑功能程序 .24 3.5.4 结果及完善方向 .29 3.6学生成绩核算系统的设计与实现(B1).30 3.6.1 设计题目及要求 .30 3.6.2 设计思想及程序流程框图 .30 3.6.3 逻辑功能程序 .32 3.6.4 结果及完善方向 .42 3.7模拟电信计费系统的设计与实现(B2).48 3.7.1 设计题目及要求 .48 3.7.2 设计思想及程序流程框图 .48 3.7.3 逻辑功能程序 .50 3.7.4 结果及完善方向 .66 第四章 心得体会.72 软件设计报告 方轶琦 1 软件设计介绍软件设计介绍 一一 软软件件的的设设计计概概念念 软件设计是把许多事物和问题抽象起来,并且抽象它们不同的 层次和角度。建议用数学语言来抽象事务和问题,因为数学是最好 的抽象语言,并且它的本质就是抽象。将复杂的问题分解成可以管 理的片断会更容易。将问题或事物分解并模块化这使得解决问题变 得容易,分解的越细模块数量也就越多,它的副作用就是使得设计 者考虑更多的模块之间耦合度的情况。 二软件设计的性质、目的:二软件设计的性质、目的: 本课程是一门技能训练课,为在校学生的必修课程。通过设计 培养学生良好的编程习惯,使学生掌握编程的基本步骤,规范学生 的编写程序的格式,锻炼学生编写程序的能力,为将来编写较大程 序的打好基础。 三软件设计总时间:三软件设计总时间:二周 四实验设备:四实验设备:南京邮电大学微机室微机。 五软件设计的任务五软件设计的任务 通过集中时间上机实验,使学生充分发挥已有的编程能力,熟 悉编译环境,选择若干课题,进行审题、分析、设计和调试,并根 据要求写出实验报告。 六实验内容六实验内容 软件设计课题共分 A 、B 两档。A 档共 5 题,第一周完成;B 档共 2 题,第二周完成。 软件设计报告 方轶琦 2 第二章第二章 软件开发平台简介软件开发平台简介 Visual Studio 2008 简介简介 Microsoft Visual Studio 2008 使开发人员能够快速创建高质量、用户体 验丰富而又紧密联系的应用程序,充分展示了 Microsoft 开发智能客户端应用 程序的构想。借助 Visual Studio 2008,采集和分析信息将变得更为简单便捷, 业务决策也会因此变得更为有效。任何规模的组织都可以使用 Visual Studio 2008 快速创建能够利用 Windows Vista 和 2007 Visual Studio system 的更安 全、更易于管理并且更可靠的应用程序。 Visual Studio 2008 提供了高级开发工具、调试功能、数据库功能和创新功 能,帮助在各种平台上快速创建当前最先进的应用程序。 Visual Studio 2008 包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发) 、对 Web 开发工具的大量改进,以及能够加速开发 和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所 有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松 构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提 供程序、在任何当前浏览器内运行并完全访问 ASP.NET 应用程序服务和 Microsoft 平台。 Visual Studio 2008 具备如下优势: 快速开发新突破 从建模到编码,再到调试,Visual Studio 2008 提供了增强的编程语言、设 计器、编辑器以及和数据相关的新功能,可以帮助您体验到生产力的突破。 创建杰出的用户体验 Visual Studio 2008 为开发人员提供了新的工具,通过使用最新的平台,如 Web, Windows Vista、2007 Microsoft Office System、Microsoft SQL Server 2008、Windows Mobile以及 Windows Server2008,开发人员可以快速创建个 性化很强的用户体验以及互联的应用程序。 跨越开发周期的协作 Visual Studio 2008 可以让开发人员、设计人员、测试人员、架构师以及项 目经理通过共享工具以及过程整合的方式,实现协同工作,从而减少了解决方 案所花费的时间。 采用统一整合的方式处理数据 Visual Studio 2008 可以显著的改进开发人员处理数据的方法。传统方式中, 开发人员不得不根据数据的存储位置以及用户的连接方法,对数据进行不同的 操作。通过语言集成查询(Language-Integrated Query, LINQ), 开发人员可以使用 单独的模型来查询并转换 XML, Microsoft SQL Server和对象数据,而不需要 学习或使用特定的编程语言,这样就降低了复杂度并提高了生产力。 体验全新的 Web 开发工具 Visual Studio 2008 为公司或开发团队提供了一个健壮的、端到端的平台来 构建应用程序并通过 Web 方式提供应用程序。通过 Visual Studio 2008, 开发人 员可以很容易的将最新的 Windows Presentation Foundation (WPF) 功能整合到现 有的 Windows Forms 应用程序以及新的应用程序中,并在 Windows 平台 上创建高保真的用户体验。通过额外的 ASP.NET AJAX 1.0 和 Microsoft 软件设计报告 方轶琦 3 IntelliSense以及对调试 JavaScript 8.0 的支持,构建 AJAX 应用程序将会更加 快捷。增强的 Web 设计器带有分离视图编辑功能,可以让开发人员同时看到 HTML 页面以及结果页面,从而提升了 Web 开发的体验。 将数据库功能整合到应用程序生命周期的管理中 Visual Studio 2008 为不同的团队成员提供了一系列针对架构、设计、程序 开发、数据库开发以及应用程序测试的相关工具。Microsoft Visual Studio Team System 2008 Database Edition 目前已经全部整合到了 Microsoft Visual Studio Team System 2008 Team Suite 中。 构建运行在多个版本的 .NET Framework 之上的应用程序 通过 Visual Studio 2008, 开发人员可以使用一个工具来管理并构建针对多 个版本的.NET Framework 的应用程序。Visual Studio 2008 将会自动让项目以及 设置适应开发人员所指定的.NET framework 版本。开发人员不再需要安装多个 版本的 Visual Studio 来维护运行于多个版本的 .NET Framework 之上的应用程 序。 为 Microsoft Office 系列构建可靠的、可伸缩的应用程序 Visual Studio Tools for Office 目前已经完全整合到了 Visual Studio 2008 专 业版当中。Visual Studio 2008 可以让开发人员自己定制 Microsoft Office Word, Microsoft Office Excel ,Microsoft Office PowerPoint , Microsoft Office Outlook ,Microsoft Office Visio , Microsoft Office InfoPath , 以及 Microsoft Office Project, 从而提升用户生产力并且更有效的利用了 Office 2007 中的新增功能。对 Microsoft Office 进行自定义,同时应用程序支持 ClickOnce 部署,从而使开发 人员可以采用正确的工具以及框架来实现对 Microsoft Office 解决方案进行从容 部署。 为 Windows Vista 构建完美的应用程序 Visual Studio 2008 可以让开发人员快捷的创建出同 Windows Vista 外观风 格一样炫的应用程序,并且可以利用 Windows Vista 中所提供的 8000 多种新 API. 在开发人员和设计人员之间实现无缝协作 Microsoft 已经针对设计人员发布了名为 Microsoft Expression 的工具。在 Visual Studio 2008 中,来自于 Microsoft Expression Web 以及 Microsoft Expression Blend中的设计元素可以在不更改后台代码的情况下,从 Visual Studio 中进行导入导出的操作。这就意味着开发人员和设计人员可以实时 的进行无缝协作,并且不用担心用户界面设计更改所引起的开发问题。 软件设计报告 方轶琦 4 第三章第三章 软件设计的内容软件设计的内容 3.1 分数统计软件(分数统计软件(A1) 3.1.1 设计题目及要求设计题目及要求 设计题目:分数统计 要求:(1) 、输入某班级学生的姓名、分数; (2) 、对(1)的分数进行降幂排列并输出; (3) 、具有输入输出界面。 3.1.2 设计思想及程序流程框图设计思想及程序流程框图 这道题我是用 C# 的可视化环境制作了一个分数统计系统。制作的界面如 图 3.1-1 所示: 实现的功能和设计方法: 1.在“姓名”和“分数”后面的文本框内输入学生信息,输入完毕后,按 “输入”按钮,学生信息就会显示到左下方的listbox中。 2.当用户输入若干名学生信息后,按“排序”按钮,右下方的listbox中就会 显示按成绩降幂排序后的学生信息。排序方法是使用冒泡排序法。 3.当用户输入学生信息出错时,用鼠标选择出错项,按下“删除选中的输 入项”,即可删除输错项,继续输入学生信息。方法是用 listBox.SelectedIndex找到选中的索引值,然后删除数组中该学生信息和 listbox中信息就可以了。 4.当用户想重新输入学生信息,按下“重新开始”清空数组和listbox中的信 息。 5.当用户要结束操作,按下“结束”,调用close()函数就可以跳出界面。 主程序的流程图如图3.1-2所示。 冒泡排序的流程图如图3.1-3所示。 软件设计报告 方轶琦 5 开始 输入学生 信息 排序删除重新开始结束 开始 结束 N=学生数 i=0 ii? scorej - 1 9|xi0) err=1; i+; if(err) printf(ntt 请输入数字!n); while(err); n=atoi(x); /将字符型数组 x 转换成整型 n for(i=0;in;i+) /循环 N 次输入学生信息 printf(ntt 请输入第%d 个人的信息ntt 姓名:,i+1); scanf(%s,); getchar(); printf(tt 分数:); scanf(%d, getchar(); printf(输入信息:n); printf( - n); printf( 姓名 成绩 nn); for(i=0;in;i+) printf( %s %dn,,stdi.grade); 软件设计报告 方轶琦 7 printf(nn - n); printf(n 排序后信息:n); for(m=0;mn;m+) for(i=0;in-m-1;i+) if(stdi.gradestdi+1.grade) temp=stdi; stdi=stdi+1; stdi+1=temp; /成绩按降幂排序 printf(n 您所输入的学生名次如下:nn); printf( - n); printf( 名次 姓名 成绩 nn); for(i=0;in;i+) printf( 第 %d 名 %s %dn,i+1,,stdi.grade); printf(nn - n); printf(t 您还继续吗?请按 Y 键继续:); /选择是否继续 scanf(%s,ch); while(ch0=Y|ch0=y); /与开头组成 do-while 结构循环 printf(t); return 0; 软件设计报告 方轶琦 8 图图 3.14 图 3.1- 3 运行结果 系统的完善:系统的完善: 软件设计报告 方轶琦 9 1. 当用户在分数框输入了非数字字符,则会提示用户输出正确格式的分数。 2. 当用户未完整输入姓名和分数,系统会提示用户完整输入。 完善方向完善方向 该系统虽然考虑了并完善了很多用户操作可能出现的错误,但仍然有不足 之处。比如,本系统中的删除按钮只能在用户排序前删除用户想删除的信息。 若用户排序后删除左边栏目里的学生信息,再来排序,这时排序出的结果就可 能会出错。这点是需要改进的。 另外这题和数据库 SQL 连接起来,程序会更加简单方便。这方面还需加以 学习。 3.2 打字软件(打字软件(A2) 3.2.1 设计题目及要求设计题目及要求 设计题目:打字程序 要求:(1)随即产生一字符串,每次产生的字符串内容、长度都不同; (2)根据(1)的结果,输入字符串,判断输入是否正确,输出正确 率; (3)具有输入输出界面。 3.2.2 设计思想及程序流程框图设计思想及程序流程框图 设计思想:采用 C#界面编程。 (1).从题目的要求可知,本系统要求随机产生字符串,字符串的内容和长度 都是随机的。要产生随机数,就可以使用 rand()函数。设定字符串最长为 20。 用 rand.Next(min, max)函数就可以产生 minmax 之间的随机数。 (2).为使系统随机产生字母字符,首先用 rand.Next(0,25)产生 025 的随机数, 将随机数加上 97,然后再将数字转换为相应的 ASCII 码的字母就可以了。 (3).正确率的计算。将系统产生的随机字符和用户输入的字符进行逐个比较 统计出相同的字符个数,在与系统产生的字符总数相除便可得到得正确率。 设计的用户界面如图 3.2-1 所示。主流程图如图 3.2-2 所示 开始 产生随机字符串 用户输入字符串 计算正确率 结束? 结束 Y N 图 3.2- 1 主流程图 软件设计报告 方轶琦 10 界面按钮功能设计思想:“开始”:按下后,首先清空界面的三个输入文 本框 textbox。然后再随机生成字符串显示在第一个文本框 textbox1 中。 “确定”:用户在第二个文本框 textbox2 中输入字符串后,按下确定按钮, 首先系统会读入用户的字符串,然后与系统字符串比较,计算出正确率最后输 出到正确率的文本框里。 “结束”:使用 close()函数,按下后退出系统。 3.2.3 逻辑功能程序逻辑功能程序 具体程序如下: #include #include #include #include #define max_len 40 /定义产生的字符串最长为 40 个字符 void rand_str(char *p,int length); double compare(char *p,char *s,int length); void display(); int main() char ch20; int length; double flag; srand(time(NULL); char p80=; char s80=; display(); do char p80=; char s80=; printf(nt-n); length=1+rand()%max_len; rand_str(p,length); printf(nt-n); printf(t 请输入上面的字母:n); printf(t); fflush(stdin);/减少不必要错误 scanf(%s,s); flag=compare(p,s,length); if(flag=1) printf(t 输入完全正确!n); 软件设计报告 方轶琦 11 else printf(t 输入有误,您本次输入正确率:%0.2g%n,flag*100); printf(tn); getchar(); printf(t 您还继续吗?请按任意键继续或者按 N 键结束:); scanf(%s,ch); while(ch0!=N printf(t); return 0; void rand_str(char *p,int length) int i; char ch; printf(t); for(i=0;i90 ch=num; printf(%c,num); pi=ch; double compare(char *p,char *s,int length) int j; int number=0; double rate; for(j=0;j1) printf(t 输入错误!请重新输入:); set_menu(); else switch(*n) case 1: encryption(m, c, key); break; case 2: decryption(m, c, key); break; case 3: printf(t);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 购买液压拖车合同范本
- 帮带宠物出境合同范本
- 合伙开火锅店合作协议书2篇
- 高压注水泵房配电设备维修技术协议3篇
- 考勤工作心得体会怎么写(范文10篇)
- 指导性案例的题目及答案
- 八月一日讲话参考
- 旅游行业活动策划攻略
- 2025年事业单位工勤技能考试考试题库及参考答案
- CN222980410U 一种静簧与线圈架装配结构及拍合式继电器 (四川宏发电声有限公司)
- 文化政策与法规课件
- 社区社群团购新团长培训案例课件
- 外科学教学课件:食管癌
- 露天矿开采技术课件汇总全套ppt完整版课件最全教学教程整套课件全书电子教案
- 部编人教版九年级上册初中历史 第1课 古代埃及 教案(教学设计)
- 钢结构钢梁计算(PPT33张)
- 幼儿教师——散文诗
- 创伤骨折院前急救ppt课件(PPT 50页)
- DB3302_T 1130-2022建筑垃圾运输管理规范(高清-可复制)
- 锚杆、锚索锚固力计算
- 日语话剧展演策划
评论
0/150
提交评论