实验01_软件工程的计算环境

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.阅读:《人月神话》作者布鲁克斯20世纪最后一年(1999年)的图灵奖授予了年已69岁的资深计算机科学家布鲁克斯(FrederickPhillipsBrooks,Jr.,图1.8)。20世纪60年代初,布鲁克斯只有29岁时就主持并领导了被称为“人类从原子能时代进入信息时代标志”的IBM/360系列计算机(图1.9)的开发工作,取得辉煌成功,从而名噪一时。以后,他作为硬件和软件的双重专家和出色的教育家始终活跃在计算机舞台上,在计算机技术的诸多领域中都做出了巨大的贡献。在计算机科学领域,布鲁克斯的名字俨然已经成了一个“神话”。布鲁克斯1931年4月19日生于北卡罗来纳州的杜哈姆。1953年从杜克大学毕业,并进入哈佛大学深造,1956年取得博士学位。他的博士论文课题工作是在哈佛著名的计算实验室进行的,最终完成的博士论文题目为“自动数据处理系统的分析设计”。在哈佛取得博士学位以后,布鲁克斯进入IBM公司设立在纽约波凯普茜的实验室当工程师,并在那里参加了Harvest和Stretch计算机的开发,任体系结构设计师。1959年出任IBM/360项目的主持人。IBM/360的开发总投资5亿美元,达到美国研究原子弹的曼哈顿计划投资的1/4。在研制期间,布鲁克斯率领着2000名程序员夜以继日地工作,单单360操作系统的开发就用了5000个人/年。因此,在IBM公司纪念其成立50周年的庆祝大会上,360系列计算机被称为“公司历史上发布的最重要的产品”。为此,布鲁克斯常常被称为“IBM/360之父”。360成功以后,布鲁克斯离开IBM回到故乡,为北卡大学创建了计算机科学系,并担任系主任长达20年(1964~1984年)。除了教学以外,他还致力于发展美国的计算机技术和计算机在国防等方面的应用,有许多社会兼职。1966~1970年,他是ACM全国委员会的委员;1973~1975年出任ACM体系结构委员会的主席;1977~1980年布实验1软件工程的计算环境2软件工程基础鲁克斯在美国国家研究院计算机科学技术部任职;1983~1984年他是美国国防科学委员会人工智能攻关领导小组的成员,1986~1987年是上述委员会另一个攻关领导小组“计算机模拟和训练”的成员;1985~1987年他担任军用软件攻关小组组长。1987年布鲁克斯当选为美国工程院院士,他同时也是英国皇家学会和荷兰皇家科学与艺术院的外籍院士。图1.8布鲁克斯图1.9IBM/360计算机在IBMSystem/360大型电脑的开发期间,由于复杂的需求,以及当时软件工程水平低下,使得System/360的开发工作陷入了前所未有的、最可怕的“软件开发泥潭”,并催生了布鲁克斯最著名的失败论著——《人月神话》(TheMythicalMan-Month)。1975年出版的《人月神话》一书,是软件工程经典名著。1995年,为纪念该书发行20周年,第二版上市,其第一次发行印数就达250,000册。资料来源:软件名人堂(),有删改。结合本课程的学习,建议你找出时间来阅读一下布鲁克斯的《人月神话》,尝试从广泛阅读中体会学习的乐趣和汲取丰富的知识。阅读后,建议你找个机会和老师、同学们来分享你所获得的体会和认识。2.习题与思考2.1试简述“软件危机”产生的原因和解决方法。答:一方面与软件本身特点有关,另一方面也和软件开发与维护的方法不正确有关。解决方法:既要有技术措施,又要有必要的组织管理措施。2.2软件危机最严重的征兆也许是低质量软件的开发。根据你自己的经验,如何区分“好的”(高质量的)软件和“差的”(低质量的)软件?实验1软件工程的计算环境3答:首先是客户需要的软件,其次是这个软件运行是是否快速、稳定,不含任何附加不需要的东西。2.3有人说:软件开发时,一个错误发现得越晚,为改正它所付出的代价就越大。对否?请解释你的回答。答:对因为前期发现错误可以很快的修改掉.这时候往往程序也还没有开发完成,和错误有关的模块也相对少点.修改起来成本就小.越到后期.相关模块就越多,可能一个错误影响到了整个程序的架构,那时候修改起来就麻烦了.2.4软件工程学的基本原则有哪些?为什么?答:1.分阶段的生命周期计划严格管理;2.坚持进行阶段评审;3.实行严格的产品控制;4.采用现代程序设计技术;5.结果应能清楚地审查;6.开发小组的人员应该少而精;原因:为了确保软件产品质量和开发效率的原理的最下集合。2.5在下列说法中,(②⑤)是造成软件危机的主要原因。供选择的答案:①用户使用不当③硬件不可靠②软件本身特点④对软件的错误认识⑤缺乏好的开发方法和手段⑥开发效率低2.6瀑布模型(WaterfallModel)突出的缺点是不适应(④)的变动。供选择的答案:①算法②平台③程序语言④用户需求3.实验:软件工程的计算环境本实验的目的是:1)理解软件工程的基本概念,熟悉软件、软件生存周期、软件生存周期过程和软件生存周期各阶段的定义和内容。2)通过因特网搜索与浏览,了解网络环境中主流的软件工程技术网站,掌握通过专业网站不断丰富软件工程最新知识的学习方法,尝试通过专业网站的辅助与支持来开展软件工程应用实践。4软件工程基础3.1工具/准备工作在开始本实验之前,请回顾教科书的相关内容。需要准备一台带有浏览器,能够访问因特网的计算机。3.2实验内容与步骤1)请查阅有关资料,给“软件”下一个权威性的定义:答:初期的软件专指计算机程序,其后将文档也包括其中,再进一步包括了程序、规程、规则和文档,并且强调文档是软件的重要组成部分。这个定义的来源是:软件工程教科书2)“软件生存周期”是软件工程技术的重要基础,是对软件的一种长远发展的看法,这种看法把软件开始开发之前和软件交付使用之后的一些活动都包括在软件生存周期之内。请查阅有关资料,给出“软件生存周期”的定义:答:软件生存周期是指从提出软件开发要求开始,直到该软件报废不用为止的整个时期。这个时期又分为若干个阶段,对软件生产的管理和进度控制有重要作用,使软件的开发有相应的模式、流程、工序和步骤。这个定义的来源是:软件工程教科书3)“软件生存周期过程”概念进一步完善了关于软件生存周期的定义,其主要内容是:软件生命周期一般分为:软件定义(问题定义,可行性研究,需求分析),软件开发(总体设计,详细设计,编码和单元测试,综合测试),软件使用与维护等三个时期.软件定义时期的任务是:确定软件开发工程必须完成的总目标;确定工程的可行性;实现目标应该采用的策略及系统必须完成的功能;工程所需的资源和成本,并制定进度表;软件定义时期通常进一步划分三个阶段:问题定义、可行性研究、需求分析;开发时期通常有四个部分组成:总体设计,详细设计,编码和单元测试,综合测试。维护时期:主要任务是使软件持久的满足客户的需要。生命周期每个阶段的基本任务;1.问题定义;要解决的问题是什么;2.可行性研究:1.对上一阶段所确定的问题有行得通的解决办法吗?;3.需求分析;为了解决这个问题,目标系统必须做什么;4.总体设计:应该怎样实现目标系统:5.详细设计:把解法具体化(应该怎样的具体实现这个系统):6.编码和单元测试:写出正确的容易理解容易维护的程序模块;7.综合测试:通过各种类型的测试使软件达到预定的要求;8.软实验1软件工程的计算环境5件维护:通过各种必要的维护活动是系统持久的满足客户的需求。这个定义内容的来源是:软件工程教科书4)由于工作对象和范围的不同以及经验的不同,对软件生存周期过程中各阶段的划分也不尽相同。但是,这些不同划分中有许多相同之处。相关的软件工程国家标准把软件生存周期划分为8个阶段,这8个阶段是:①问题定义②可行性研究③需求分析④总体设计⑤详细设计⑥编码和单元测试⑦综合测试⑧软件维护你认为把软件生存周期划分为不同阶段的意义何在:答:获得高质量的软件产品所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤,提高了软件的可用性。5)上网搜索和浏览,了解软件工程技术的应用情况,看看哪些网站在做着软件工程的技术支持工作?请在表1.1中记录你的搜索结果。提示:一些软件工程专业网站的例子包括:(软件工程专家网)(系统分析&软件工程网)(软件工程研究中心)(火龙果软件工程-UML软件工程组织)你习惯使用的网络搜索引擎是:百度你在本次搜索中使用的关键词主要是:软件工程相关网站表1.1软件工程专业网站实验记录网站名称网址内容描述CU(以下简称CU)是一个以讨论Linux/Unix类操作系统应用技术、自由软件开发应用技术、网络应用技术为主的开源社区网站6软件工程基础chinagrid帮助广大企业充分利用互联网优秀资源来为全球竞争做好准备,提高中国企业的互联网应用能力和网络竞争力。中国软件测试是目前国内人气最旺的软件测试门户网站,其为软件测试人员免费提供社区交流、人才服务、沙龙聚会、个人博客、电子杂志、资料下载等全方位信息服务。IT社区面向IT专业技术人员,提供专业、集成化的内容服务,包括最大的技术论坛,最有影响力的BLOG,最权威的技术杂志《程序员》,IT专业搜索服务等。编程爱好者网站目前拥有新闻中心、文档中心、下载中心、源码中心、刻盘服务、网友作品、电子杂志、编程论坛等众多栏目,基本可以涵盖大部分关于编程开发的内容。请记录在本实验中你感觉比较重要的2个软件工程专业网站:①网站名称:IT社区②网站名称:编程爱好者综合分析,你认为各软件工程专业网站当前的技术(如培训内容)热点是:①名称:软件开发过程指南主要内容:基于客户针对实际项目或者产品的开发,通过项目的真实实践,指导客户整体实施工程,同时为客户的项目提供一个基本的原型,作为演进的基础。在实战教练结束后,提供后续技术支持。达到在项目中实用的效果。②名称:软件测试主要内容:学员在资深软件测试工程师带领下,通过测试理论、测试方法的系统学习、以及项目测试案例的实践,使学员掌握软件测试的流程、技术、方法以及规范,熟悉常用测试工具与测试过程,使学员具备测试技术和测试管理的基本能力,并能够独立承担并实施项目测试。③名称:性能测试方法与技术主要内容:性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。实验1软件工程的计算环境73.3实验总结通过本次实验我对软件工程这门课程有了初步的认识,对软件工程的基本原理和方法有概括的本质的认识,软件生命周期全过程中应完成的任务的性质,软件过程是为了获得高质量的软件产品。3.4实验评价(教师)______________________________________________________________________________________________________________________________________________

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功