- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
。 软件开发技术 误解 学习软件开发环境(偏具体环境)? 深入学习软件工程方法论(偏管理)? 。 软件开发技术 以数据库为核心的管理信息系统 系统功能以数据库的插入、更新、查询、删除等操作为核心 按照不同操作类别划分,得到几种不同的代码模式 插入功能模式 更新功能模式 查询功能模式 同一模式下不同具体功能的代码结构完全相同 。 软件开发技术 只需编写一份代码 不同具体功能的差别通过配置信息来处理 表结构 查询条件、查询显示结果等 。 软件开发技术 开发一个代码生成器 采用编译技术解析配置文件 生成实现特定功能的代码 。 软件开发技术 方向目标 软件开发技术方向的学生在学习本专业必修课的基础上,通过限修程序分析、程序测试、数据通信与计算机网络、数据库应用、软件开发技术、系统分析与设计等课程以及工程设计实践,掌握软件系统的测试、分析、维护与进化技术。毕业生可在电信、金融、石油等大型行业应用软件系统的测试、维护与进化,军用电子信息系统的测试、维护与进化,以及跨国软件外包中的测试与进化领域工作。毕业生可从事编译器优化、软件测试、程序理解、逆向工程、程序可靠性与安全性分析等多个领域的工作。 。 软件开发技术 主干课程 软件建模技术 数据通信与计算机网络 数据库应用 系统分析与设计 行业工程标准与规范 职业规划 软件开发技术方向工程设计 。 软件开发技术 软件建模技术 软件开发平台与工具 系统分析与建模 软件设计模式 IT规划与咨询 软件开发项目管理 软件开发案例分析 。 软件开发技术 程序分析课程 关注采用程序分析手段自动检测程序中的(逻辑)错误 课堂教学环节 典型静态程序分析的基本手段 主流编译器生成工具 实践教学环节 主流编译器生成工具的用法 。 程序中的安全漏洞 int main(int argc, char* argv[]) { char* buffer = (char*) malloc(sizeof(char)*100); const char* str = hello, world; const char* ptr = str; char* b_ptr = buffer; while(*ptr != \0) {/* 拷贝字符串 */ *b_ptr = *ptr; ++ptr; ++b_ptr; } /* 漏洞:没有为buffer添加\0,则buffer给出的字符串不会中止。*/ printf(%s\n, buffer); free(buffer); return 0; } 。 int main(int argc, char* argv[]) { const char* str0 = hello, world; char* str1 = (char*)malloc(sizeof(char)*20); char* str2 = str1; /* str2和str1指向相同的内存空间 */ strcpy(str1, str0); /* 为str1指向的内存赋值 */ free(str1); /* 从这里以后开始,str1和str2指向的空间已经被回收 */ /* 漏洞:此时str2指向的空间可能已经被系统挪做它用, 因此此时的访问可能引发错误,或者得到错误的数据 */ printf(%s\n, str2); return 0; } 程序中的安全漏洞 。 int main(){ char* str1; char* str2; int i; str1 = new char[10];/* 此处申请的资源可能泄漏 */ cini; if(i10){ delete []str1; } else { /* 其他操作从略 */ /* 如果此处没有调用 delete[] str1 * 则程序执行至此时将造成内存泄漏错误 */ } return 0; } 程序中的安全漏洞 。 class IntArray{ public: IntArray(int lowBound, int highBound); int size() const /* 获取数组大小 */ { return size_;} private: std::vectorint data; /* 数组元素 */ size_t size_; /*
您可能关注的文档
- 2019新学期校长寄语(4篇)-学生评语.docx
- HC防火墙FCG的NAT配置.docx
- 描写冰雪的成语.docx
- Honeywell-IP30手持RF设备与PDA配对RFID演示操作说明.doc
- 中小学社团工作计划.docx
- 转载:你的QQ是怎么被盗的-by-星空下的远望-李毅吧.docx
- 2020中学生励志广播稿.docx
- 移步换景写长城精选作文.docx
- 读别在异乡哭泣有感.docx
- 烟草青年座谈会发言稿-演讲稿.docx
- 2025普通医生工作总结.docx
- 高中数学解析几何中参数方程的教学探讨教学研究课题报告.docx
- 高中地理野外考察与地理实践能力培养策略教学研究课题报告.docx
- 《家政服务人员职业素养提升培训中的培训效果与培训内容难度关系研究》教学研究课题报告.docx
- 安全生产应知应会知识习题含参考答案 (3).docx
- 2025年注册会计师考试《会计》易错陷阱预测与模拟试题汇编及解析指南汇编解析汇编.docx
- 初高中学生综合素质档案建设与学校教育改革研究教学研究课题报告.docx
- 初中数学几何变换教学中学生创新能力的发展教学研究课题报告.docx
- 高中地理实践课堂中地理地图制作对学生地理信息处理能力的提升研究教学研究课题报告.docx
- 初中品德与法治教育课程的情感体验设计教学研究课题报告.docx
文档评论(0)