软件工程SoftwareEngineering合肥工业大学理学院成绩=卷面成绩*70%+平时成绩*30%平时成绩:考勤+上机1〉考研2〉系统分析员考试的主体内容通过本课程的学习,使学生掌握系统的软件开发理论、技术和方法,使用正确的工程方法开发出成本低、可靠性好并在机器上能高效运行的软件,为今后从事软件开发和维护打下坚实的基础。软件工程的地位学习软件工程要转换视角《C语言》与《数据结构》注重的是个人编程能力;《软件工程》注重的是整体作战的能力。软件工程涉及到的内容1〉软件开发技术(方法、工具、过程)2〉软件工程管理(软件管理学和软件经济学)本学科的特点:广、泛学习软件工程的注意事项:1〉沉下心来,不能浮躁2〉思考任何问题的前提是:“假如我是一个软件公司的主管或项目经理”3〉广泛阅读(书籍及论文)Ourlife,andfuture职业规划生涯规划……………??Now,Let’sBegin…AnOverviewofSoftwareEngineering……………..第一章软件工程学概述软件软件危机软件工程软件生命周期软件生命周期模型80年代初期,BusinessWeeklyBusinessWeekly杂志在头版给出了这样一个大标题:“软件:新的驱动力”,编辑们当时根本没有意识到他们的预见是多么的正确。那时,大多数人对软件还一无所知,出售包装好的软件的计算机超市闻所未闻;在电视上为操作系统作60秒的商业广告的想法是可笑的;互联网仅为个别研究所和部分高校所知……20年的时间里,这些甚至更多已经成为现实。1软件在Bricklin1979年公布了他的第一个软件包的20年之后,没有软件的生活是很难想象的。但这不过是软件影响力的开始,在整个工业范围内,软件都在促使和加速了经济增长。1995年问世的Boeing777客机,是一项40亿美元、高度复杂的设计,包含了“以紧密地结合飞翔的300万个部件”,波音计算机服务部总裁JohnWarner在波士顿的一次软件会议上这样形容“设计飞机需要数千名专家,加上许多人工智能,在完成之前,美国和日本的1700个工作站已经运行了专门的CAD软件,一旦飞机飞在空中,有400万条完全没有错误的指令在驱动它。软件专家EdwardYourdon在其1997年关于软件工程的书《死亡征程》中评述到“Boeing777可以被看作是一串带翼的软件”。20年后……健康软件……带翼的软件公路上的代码计算机软件已经成为一种驱动力进行商业活动的引擎现代科学研究和工程问题解决的基础区分现代产品和服务的关键因素现代社会中不可缺少的应用于:交通、医药、通讯、军事、娱乐、办公……软件—定义•能够完成预定功能和性能的可执行的指令指令(计算机程序)软件是•使得程序能够适当地操作信息的数据数据结构结构•描述程序的操作和使用的文档文档现在,被普遍接受的软件的定义是:软件软件(software)(software)是计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)。Software=Program+Data+Document软件—软件的发展早期((程序设程序设计阶段计阶段))•面向批处理•有限的分布•自定义软件第二阶段((程程序系统阶段序系统阶段))•多用户•实时•数据库•软件产品第三阶段((软软件工程阶段件工程阶段))•分布式系统•嵌入“智能”•低成本硬件•消费者的影响第四阶段((软件软件工程阶段工程阶段))•强大的桌面系统•面向对象技术•专家系统•人工神经网络•并行计算•网路计算机195019601970198019902000软件—软件特征软件是一种逻辑实体,具有抽象性软件没有明显的制造过程软件在使用过程中,没有磨损、老化的问题软件对硬件和环境有着不同程度的依赖性软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低软件是复杂的,而且以后会更加复杂软件的成本相当昂贵大多数软件是自定的,而不是通过已有的构件组装而来的软件工作牵涉到很多社会因素软件的分类按软件的功能进行划分系统软件支撑软件应用软件系统软件操作系统数据库管理系统设备驱动程序通信处理程序等支撑软件文本编辑程序文件格式化程序磁盘向磁带数据传输的程序程序库系统支持需求分析、设计、...