作业九:软件工程课程总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了作业九:软件工程课程总结相关的知识,希望对你有一定的参考价值。

  时间过的很快,软件工程的课程已经接近尾声将要告一段落,回顾这一学期关于软件工程的学习,我已经为最初学习时所遇到的问题找到了相应的答案。

问题回答:

  问题1:在教材当中提到了软件工程师的成长之路,书中说到了软件工程师的考级与认证,我的问题是:考级是否必要,什么时候去考级会比较合适,考级我们都需要掌握哪些技能?

  操作系统领域的产品提供商主要有Microsoft、Novell、IBM、HP、Sun、Red Hat等。影响深远比较经典的认证有Microsoft MCSE、MCSA、Sun CSA等。 
  应用软件开发领域的产品提供商主要有Sun、Microsoft、IBM、BEA、Borland等。影响深远比较经典的认证有Sun SCJP/SCWCD/SCEA ,Microsoft MCAD/MCSD等。 
  数据库领域的产品提供商主要有Oracle、Sybase、Microsoft、IBM等!

  问题2:大多数软件的成功案例都是在团队协作的模式下开发成功的,如何建立一个团队,应该选择怎样的团队模式,怎样才能让这个团队避免“吵”?

  在学习了敏捷开发后,我发现建立一个团队想要避免一些不必要的麻烦就需要每日的站立会议去协调沟通。将遇到的问题进行集中的解决就可以避免冲突的。

  问题3:敏捷开发比较之瀑布开发有什么优势?

  1.任何软件类系统或项目,即使你前期花在需求上的时间足够长,你也很难在需求阶段真正的分析和挖掘出所有的需求。有些需求注定会在设计实现或用户使用过程中才逐渐出现。要承认软件开发中存在这种不确定性。而瀑布模型将这种识别变化延迟到最好的测试或用户使用阶段才发现,极大的增加了返工或变更成本。敏捷思想里面通过短周期迭代,尽可能早的交付可用的迭代版本来拥抱和适应变化。

  2.任何一个软件项目,需求或设计做完我们并不清楚进度是否真正完成了60%或者更多,任何不是经过测试通过的功能我们都很难把握真正的完成进度情况。因此在敏捷里面换了一种思路,如讲这个项目拆分为100个粒度差不多的功能点,如果有60个功能点全部完成并通过验证和测试,我们就比较有把握说整体进度完成了60%。这种可视化的评估进度模式在瀑布里面较难以做到。

  问题4:在软件需求分析中,我们更应该着重哪一方面进行分析?

  软件需求分析是软件工程过程中计划阶段的一个决定性步骤,在这一步将把含糊的软件概念转变成具体的规格说明,从而奠定了软件开发的基础。本文通过对需求的定义、需求的类型、需求分析的任务、需求分析的方法、需求的变更以及应用实例等几个方面的介绍,对于在软件开发中做好需求分析有一定的借鉴作用。

  问题5:如何能够成为一个合格的项目经理?项目经理都有什么责任? 

  项目经理的职责:

  1、 对整个项目负完全责任。
  2、 确保全部工作在预算范围内按时优质地完成,使客户满意。
  3、 领导项目的计划、组织和控制工作,以实现项目目标。
  4、 严格执行公司对项目管理的规范、对于软件开发项目执行公司制定的统一的软件开发规范。
  5、 负责整个项目干系人(客户、上级领导、团队成员等)之间关系的协调。
  6、 制定工作计划、项目执行计划、人员配置计划、工作分解结构、成本计划等,同时报上级组长,并报公司审批。。
  7、 定期向公司组长报告项目进度,一般为一周一次。
  8、 对团队成员进行工作安排、督查。
  9、 定期召开团队成员会议,在可能的情况下邀请客户、上级组长参加。
  10、 项目结束时,进行结项工作,整理各种相关文件。

  问题6:什么是黑盒测试,什么是白盒测试?

  黑盒测试:软件黑盒测试也是软件测试的主要方法之一,也可以称为功能测试、数据驱动测试或基于规格说明的测试。测试者不了解程序的内部情况,只知道程序的输入、输出和系统的功能,这是从用户的角度针对软件界面、功能及外部结构进行测试,而不考虑程序内部逻辑结构。

  白盒测试:这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。

  问题7:如何才能使一个程序更加贴近于用户,怎么才能吸引更多的用户?

  如果想要一个程序更加贴近客户的需求吸引更多的用户去使用这时就需要对用户群进行合理的需求分析,软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。

  问题8:软件再工程如何进行?

  软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程。最大限度地重用既存系统的各种资源是再工程的最重要特点之一。从软件重用方法学来说,如何开发可重用软件和如何构造采用可重用软件的系统体系结构是两个最关键问题。不过对再工程来说前者很大一部分内容是对既存系统中非可重用构件的改造。软件工程再工程是以软件工程方法学为指导,对程序全部重新设计、重新编码和测试,为此可以使用case工具(逆向工程和再工程工具)来帮助理解原有的设计。在软件再工程的各个阶段,软件的可重用程度都将决定软件再工程的工作量。

学期总结:

  在上课的时候我还是很认真地去听老师所讲述的内容的,我觉得他的思想和我一向而来的培养计算机学生综合素质的理解还是在一定程度上不谋而合了,所谓的需求获取,那就是一个谈判,辩论,交流的过程,已经不是单纯的编编程序就能解决的问题了。从我所看到的听到的来说,我最怕的就是计算机系的学生被别人说成是个带着厚眼镜的,只能够在电脑前编编程序的,在交际场上不知道说什么而一个字都说不出来的人。我觉得这样的人进入社会之后是没有什么前途的,起码他们缺乏了与人沟通交流的能力。而这门课程在一定程度上给了我们这些学生一个机会来锻炼自己在另一方面的能力,设想一下,一个又有技术又能够与人交流合作的人所取得的成就自然要比一个单单只会编程序的人要大得多。

  给我印象最深的是结对编程的部分,那种和别人同时合作开发的时候有很多新的体会,了解多人编程的好处与便利,能使我们在将来工作和生活中有更加好的团队意识。

以上是关于作业九:软件工程课程总结的主要内容,如果未能解决你的问题,请参考以下文章

作业九:《软件工程》课程的总结

作业九 《软件工程》课程的总结

作业九———《软件工程》课程的总结

作业九-课程总结

作业九 课程总结(附加补充)

作业九:《软件工程》课程总结