又到了学期末了,此时此刻软件工程课业接近尾声了。时间过得太快,仿佛昨天这学期的课才开始,

开学时,老师让我们提出了不少对这门课的问题和疑惑,通过一学期的努力学习,我可以试着解开我自己的疑问了。

下面是我对我在学期开始时提出的问题的自我回答,

1:在软件设计行业竞争是否激烈。

答:软件设计行业竞争远比我想象的激烈,每个人都在努力的从一个程序员才从一个 “敲代码的” 上升到 工程师。

2:软件设计行业是否有较高的时效性,对于更新换代的时间要求严格

答:软件设计行业有非常强的时效性,更新换代对于软件设计行业是必须进行的。而且频率远远高于其他行业。

3: 在一款软件已经发布后,开发人员应该继续完成的工作有哪些?

答:我认为最重要的就是软件维护(Software maintenance)是一个软件工程名词,是指在软件产品发布后,因修正错误、提升性能或其他属性而进行的软件修改。

  1. 软件维护主要是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改,修改时应充分利用源程序。修改后要填写《程序修改登记表》,并在《程序变更通知书》上写明新旧程序的不同之处。

  2. 软件维护活动类型总起来大概有四种:纠错性维护(校正性维护)、适应性维护、完善性维护或增强、预防性维护或再工程。除此四类维护活动外,还有一些其它类型的维护活动,如:支援性维护(如用户的培训等)。针对以上几种类型的维护,可以采取一些维护策略,以控制维护成本

4:软件出现BUG的几率在什么区间内可以被接受,反之,大于什么数据就不能被发行

答:目前project上的BUG严重程度分为五个等级,按照CMM5中定义的规范,BUG严重等级可分为3-5个等级,由于我们公司的CMM水平还处于初级阶段,将BUG等级划分过细不符合我们当前的CMM水平,同时也不利于测试人员对BUG等级的精确划分。根据我们公司的情况,同时参照其它中小公司的等级划分标准,建议将BUG等级划分四个等级,分别为致命、严重、一般、提示。

● 测试发生率

  测试发生率为按照特定步骤执行多次的BUG重现率

  测试发生率=BUG重现次数/按照特定步骤执行的总次数。

  其中:对于概率性问题,执行的总次数应结果BUG的复杂程度执行(20-50次)

  用户使用发生率等级划分:

  如上所述,用户使用发生率=用户类别*业务类别*测试发生率,根据最终得到的用户使用发生率的值的不同,可以将用户使用发生率划分为如下几个等级(也可沿用旧等级划分,将<2%的问题划入等级“低”)

5:作为一个大三学生,我是否有能力参与到软件设计当中

答:我认为我现在是有能力参与到软件设计中的,虽然我可能还不能独当一面,自己独自完成一款软件的设计,但是我认为我也要积极参与,每一个软件工程师都是从菜鸟慢慢成长起来的,哪怕我现在只能帮到TEAM一些微薄之力,我也是愿意参与的,这样对我自己是中难得的经历和提高。

6:一款软件是否有固定的存活周期?能否通过人为干预影响存活周期

答:是有固定的存活周期的,通过运行与维护可以增长存活周期

生命周期阶段

软件生命期一般包括以下各阶段:
软件生存周期

·软件计划与可行性研究(问题定义、可行性研究)

·运行与维护
 
 
7:软件工程对于我们生活的意义有哪些:
答:我认为软件工程是计算机专业的一门重要的专业基础课,它对于培养学生的软件素质,提高学生的软件开发能力与软件项目管理能力具有重要的意义.1995年,Standish Group针对系统开发成功的研究表明,所有的开发项目中有32%的项目在它们结束之前被中止.此外多于一半的软件项目花费的成本相当于原来预算的2倍.软件工程只有42%的软件项目完成时达到了预期的范围和功能,事实上,许多系统只完成了部分预期的需求.因此,软件的开发是一个很困难的活动,要求很仔细的计划和执行.软件工程就是在这样的背景下,由许多计算机科学家经过多方面的探索和总结而成形的.目前发展十分迅速 近二十年来计算机软件已经成为现代科学研究和解决工程问题的基础,以及管理部门,生产部门,和服务行业中的关键因素,渗透到了各个领域,成为当今世界不可缺少的一部分.展望二十一世纪,软件仍将成为驱动任何事情从基础教育到遗传工程取得新进展的动力.学习研究工程化的软件开发方法,使开发过程更加规范.软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。  (1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。  (2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。  (3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。

8: 软件有哪些分析与实现的方法?
答:需求分析法介绍: 深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。

需求分析可分为需求提出、需求描述及需求评审三个阶段。

需求提出

主要集中于描述系统目的。需求提出和分析仅仅集中在使用者对系统的观点上。开发人员和用户确定一个问题领域,并定义一个描述该问题的系统。这样的定义称作系统规格说明,并且它在用户和开发人员之间充当合同。

需求描述

在问题分析阶段分析人员的主要任务是:对用户的需求进行鉴别、综合和建模,清除用户需求的模糊性、歧义性和不一致性,分析系统的数据要求,为原始问题及目标软件建立逻辑模型。分析人员要将对原始问题的理解与软件开发经验结合起来,以便发现哪些要求是由于用户的片面性或短期行为所导致的不合理要求,哪些是用户尚未提出但具有真正价值的潜在需求。

需求评审

在需求评审阶段,分析人员要在用户和软件设计人员的配合下对自己生成的需求规格说明和初步的用户手册进行复核,以确保软件需求的完整、准确、清晰、具体,并使用户和软件设计人员对需求规格说明和初步的用户手册的理解达成一致。一旦发现遗漏或模糊点,必须尽快更正,再行检查。

以上就是我对学期开始时对自己提出的问题的解答,诚然有的答案并不是通过这一个学期学到的,但是通过我自己的学习和查找最后也找到了答案,我认为这也是老师对我们的良苦用心,让我们不仅仅局限与课堂上,更通过自己的发现欲学到了更多的知识。

 课程总结: 刚开始学软件工程这门课的时候以为就是跟之前学的语言一样编写代码,没想到这么复杂。需要创建框架,结构,分析数据,需求分析的任务是理解和表达用户的需求,描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的借口细节,定义软件的其他有效性需求。概要设计把每个组成部分的功能都给出意义明确的模块,每个模块都和一部分需求相对应。但是不考虑细节。详细设计,把每个模块的功能实现详细的表示出来,为源程序的编写打下基础。然后就是编程阶段等等步骤才可以完成一次软件工程。而团队合作更需要分工明确,按时完成并且富有责任心。还要积极的跟小组成员讨论,一起完成项目的规划,如果不是小组的共同努力我想我肯定在这么短时间内完成不了这个项目在此感谢冯华平老师和我的小组成员。

 这次项目让我学到很多东西,不仅在理论上让我对IT领域有了全新的认识,在实践能力上也得到了很大的提高,真正的学到了学以致用,更学到很多做人的道理,对我来说受益匪浅。我意识到自己知识的缺少,这激励我在以后的学习、工作、生活中要不断了解信息技术发展动态以及信息发展中出现的新的技术。

  不仅如此,这个学期我印象最深的一句话就是老师的一句:“不要满足于做一个程序员,要从一个 “敲代码的” 上升到 工程师” 。我对这句话真的是受益匪浅,所以我认为我不应该把这门课当成一个任务,或者毕业后当成一个谋生的工具而已,我不是一个单纯敲代码的而已,虽然我现在只有很基础的知识和技能,但俗话说得好,不想当将军的士兵不是好士兵。这句话激励着我,努力的打好现在的基础,有一天学成后,当一位软件设计的艺术家,就像音乐家,就像大厨,就像画家,他们都可以因为自己的魅力被称作艺术家,我也想成为一名艺术家!一名有自己创意,有自己头脑在软件中的“代码艺术家”!

软件工程总结(Final)的更多相关文章

  1. 软件工程资料 - UCSD 怎么教软件工程

    2012年,在上软件工程课的过程中,收集到这个博客,作为学习资料. 原网站 (http://www.arc-trooper.com)已经不存在,这是一个备份. ----------------- 以下 ...

  2. 【The final】软件工程实践总结

    软件工程就这么告一段落了,竟然有那么一丢丢的舍不得-- 一.为拖延找的种种借口     [首先声明]以下纯粹是个人吐槽,仅作记录以便日后自己可以回顾一下往昔罢了,可以直接忽略,跳到第二大点:我的拖延之 ...

  3. 软件工程第三周的学习报告 html<input> final finally finalize 的比较 BigInteger

    三月十三号下午: html的<input>的三个属性pattern(限定用户的输入格式)与placeholder(显示的)与required(不能为空) 代码案例: pattern与pla ...

  4. 【Java关键字-Interface】为什么Interface中的变量只能是 public static final

    三个关键字在接口中的存在原因:public:接口可以被其他接口继承,也可以被类实现,类与接口.接口与接口可能会形成多层级关系,采用public可以满足变量的访问范围: static:如果变量不是sta ...

  5. Thunder-Beta发布-事后诸葛亮会议-2017秋-软件工程第十一次作业

    小组名称:Thunder项目名称:爱阅APP小组成员:王航 李传康 翟宇豪 邹双黛 苗威 宋雨 胡佑蓉 杨梓瑞一.设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有 ...

  6. 软件工程 part4 评价3作品 修改

    作品1 抢答器 地址: https://modao.cc/app/ylGTXobcMU7ePNi6tY53gG4iraLl0md评价: 老师有意见,我重新评价,这个作品是我测试最方便的,地址点进去直接 ...

  7. 软件工程 part4 评价3作品

    作品1 抢答器 地址: https://modao.cc/app/ylGTXobcMU7ePNi6tY53gG4iraLl0md评价: 挺好玩,但是字体大小是个缺陷,简单大方. 作品2:连连看 软件工 ...

  8. 软件工程 作业part2 采访

    Part 2 采访本课程往届同学(含外校和毕业生). 现代软件工程这门课已经上了好几年了,以前有很多学生做过团队项目(说不定包括本校的学生),请你们找一个以前的团队采访一下. 我采访的是2016级于淼 ...

  9. 2021S软件工程——结对项目第一阶段

    # 2021S软件工程--结对项目第一阶段 2021春季软件工程(罗杰 任健) 项目地址 1020 1169 --- ## 1 结对感受 总体来说,结对编程与之前的个人编程感觉有很大的不同.有如下几个 ...

随机推荐

  1. STC12C5A60S2 @ 22.0184Mhz 精确延时

    #include "STC12.h" // STC12C5A60S2 @ 22.0184Mhz 精确延时 void delay_10us(unsigned char n) { un ...

  2. Angular自定义指令directive:scope属性

    在AngularJS中,除了内置指令如ng-click等,我们还可以自定义指令.自定义指令,是为了扩展DOM元素的功能.代码中,通过指定directive中的restrict属性,来决定这个指令是作为 ...

  3. spark2.0.1 安装配置

    1. 官网下载 wget http://d3kbcqa49mib13.cloudfront.net/spark-2.0.1-bin-hadoop2.7.tgz 2. 解压 tar -zxvf spar ...

  4. PHP制作验证码

    session_start();$a = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r',' ...

  5. 1627. Join

    http://acm.timus.ru/problem.aspx?space=1&num=1627 给一个无向图,问可以有多少生成树 参照     周冬<生成树的计数及其应用> 代 ...

  6. HTML中强大的input标签属性

    用了许久的html,<input>这个标签是最常用的标签之一. <input type="">标签中type属性是必不可少的,以往我最常用的有 type=& ...

  7. 用Mockito mock普通的方法

    上面的例子是很理想化的状态,但是在实际的开发中,我们需要经常调用一些依赖特定环境的函数或者调用同事写的代码,而同事仅提供了接口.这个时候就需要利用Mockito来协助我们完成测试. 当然,你可以选择e ...

  8. linux中的内存申请函数的区别 kmalloc, vmalloc

    kmalloc是返回连续内存的内存分配函数 vmalloc是返回较大内存空间的,不需要连续的内存分配函数.其速度较慢,并且不能在中断上下文调用.

  9. Android 查缺补漏之Adapter 和 LayoutInflater

    在之前的博客我也讲过 Adapter 和 inflater,但发现讲的不够清楚,好多读者看后有疑问,今天就结合API单独讲一次. Adapter : An Adapter object acts as ...

  10. sublime text 3 快捷键大全

    Sublime Text 3 快捷键精华版 Ctrl+Shift+P:打开命令面板Ctrl+P:搜索项目中的文件Ctrl+G:跳转到第几行Ctrl+W:关闭当前打开文件Ctrl+Shift+W:关闭所 ...