软件开发流程

计算机软件工程 作业五

耗尽温柔 提交于 2020-04-07 21:42:12
作业要求链接 https://edu.cnblogs.com/campus/jssf/infor_computation17-31/homework/10584 课程目标 讨论软件开发方法的思潮 本作业目标 评价及统计红楼梦,水浒传中人物出现次数 参考链接 https://www.cnblogs.com/xinz/p/3852390.html https://blog.csdn.net/agilelee/article/details/5898923 https://www.cnblogs.com/lewkesy/p/5965594.html 作业正文 https://www.cnblogs.com/yanwenshen/p/12656017.html 迄今为止,我们了解了不少软件工程的方法论。 瀑布模型 瀑布模型(Waterfall Model) 是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。包括软件工程开发、企业项目开发、产品生产以及市场销售等构造瀑布模型。 其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作

营造软件开发团队

江枫思渺然 提交于 2020-04-07 03:51:20
作者:苏康胜 前言 本人从事软件行业以来,经历了多次的成功与失败的体验,总觉得中国的软件应该可以做得更好些,但结果并不是我想象中的那样,许多的项目实际都还只是以假的、虚的面孔而存在,其中原由大家都可以说得出很多很多,但怎么改呢?一些问题的存在只是因为其他问题存在而存在的,所以我想寻找中国软件行业为什么不能崛起的根源。 中国人智商不够?那绝对是错的。 中国人不够勤奋?那也绝对是错的。 科技不如其它国家发达?通讯如此发达的现代,那不是理由。 中国人做软件的少?那更加不是理由。 ...... 为什么呢?中国缺少高效的软件开发团队吗?这也许是问题的根源。 正文: 喜欢足球的朋友应该非常清楚一件事情,那就是在一场足球赛中假如球员之间缺少默契的配合或教练的指导思想执行不到位等情况下,那场比赛多半是以失败告终的,因为这支球队并不是优秀的球队。开发软件项目就象一场进行中的足球赛,是靠项目管理、系统分析设计、程序编制、测试、市场营销等不同角色人员共同协作完成的,不同角色的人执行的工作相互促进和制约着其它角色的人的工作,因此一个高效的软件开发团队是高质量软件项目或产品的保证,可如何才能营造高效软件开发团队呢?从以下几个方面来说明: 一、 高效软件开发团队的特征 高效的软件开发团队是建立在合理的开发流程及团队成员密切的合作的基础之上的,成员共同的迎接挑战、有效的计划

敏捷软件开发揭秘

人走茶凉 提交于 2020-04-03 10:27:22
前言 本篇文章将对敏捷软件开发的方法论及其应用做基本介绍,将描述团队是如何通过协作来完成共同目标的。本篇文章不仅仅适合软件开发人员阅读,同时也适合于团队负责人、项目经理、产品经理、开发经理、测试人员、QA经理、QA工程师、技术文档专员、用户体验设计师等任何涉及软件交付的人员。文章重点介绍技术团队是如何通力协作来计划、构建和交付软件的。但文中没有具体代码的编写,也没有对特定技术的介绍,并且也不会介绍任何微软技术。希望这篇文章可以帮助你改善专业性和团队的效率。 背景 Winston Royce 瀑布模型 引自 1970 年的 IEEE 论文 "Managing the Development of Large Software Systems" 该论文中阐述了,在计算机程序设计开发过程中,无论软件的规模和复杂度如何,都会经过两个必不可少的阶段:软件分析和编码。而许多其他额外的开发步骤,虽然也是需要的,但却都没有像软件分析与编码一样对最终产品作出最直接的贡献,反而增加的开发过程的支出。 然后,Royce 介绍了需要额外的将 5 个重要的步骤添加到整个开发流程中,用于最大化地消除软件开发中的风险: 步骤1:程序设计优先 一个软件程序的初步设计阶段,将被插入到软件需求和软件分析阶段之间。程序设计人员将在此阶段开始进行软件整体的初步设计,包括设计、定义和指定数据处理模型,定义系统间的接口

带领软件开发项目团队

↘锁芯ラ 提交于 2020-04-03 04:34:32
在国内软件行业从业人员的成长流程( 一般是这样的,1年可以做到总监的高技能人才也有): 1.程序员,刚毕业的学生,一般独立完成工作有些困难; 2.工程师,毕业2~3年,有一些项目经验,能够独立完成开发; 3.高级工程师,毕业4~5年,能独立开发、能参与设计、能编写文档、能在技术上指导他人; 4.初级项目经理,能带领10人一下的团队; 5.中级项目经理,能带领20人左右的团队; 6.高级项目经理,能带领40人以上的团队; 7.再往上就是职能经理,由人事部门任命,负责公司一个部门的运营。 其中最难的一次进阶是由高级工程师向初级项目经理的过度。 有的高级工程师很难很难或者不愿意迈过这道坎,所以做了很多年SE。 也有非技术型的项目经理(不过一般很少),这个项目组一般会再配备一个或多个SE来负责技术方面。 项目是什么? 项目是一个临时性的工作,项目经理是被临时指派的项目负责人,一般很少会有人事部的任命。 项目经理类似于军队里的班长,他既是个“官”也不是个“官”。 项目经理可以调用的资源很少,除了手底下几个人外,几乎得不到其它支援。 从技术做上来的初级项目经理,一般技术都很全面,管理的知识基本没有,带队只要靠人品,就是平时多帮助手下的小兄弟攒人品。 初级项目经理想提高,一般是靠学习PMP,5个过程组,10个过程域,47个过程,每个过程的输入、输出和工具。 这是一本天书,看了几遍也没掌握要领

探讨敏捷开发在软件开发中的应用

懵懂的女人 提交于 2020-03-30 16:22:18
在软件工程领域,有过很多软件开发模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、喷泉模型、RAD模型、敏捷软件开发模型、XP极端模型。这么多的模型各有各的应用场景、各有各的适用范围,但我认为最实用开发模型还是敏捷软件开发。 中国式软件开发思路是什么样的呢?从我接触过的大多软件项目来看,基本都有一个共同特点——就是必须快,客户都是急脾气,恨不得今天立项,明天就要你拿出产品来。 面对公司和客户如此快节奏的要求,我们有办法吗?人们从生产、生活中总结出来一套即高效又优质的开发模式——敏捷软件开发。 什么是敏捷软件开发呢? 敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系、而又可以独立运行的小项目,并分别完成,从而实现快速开发的目的。 还是具体来说下敏捷开发是如何实现的? 1、将大的系统拆分成子项目。 以前我们接受过的思想是立项后先要需求调研、分析,调研后出各种调研报告及需求说明书,需求搞定后,再进行概要设计(UE设计、UI设计、交互设计、数据库设计、框架设计),概要设计完成后再进行详细设计……这样一个周期下来,耗费太长,当进度进入下一阶段,当上一阶段有问题时,会影响到整个项目流程的各个阶段。

软件开发:需求分析的20条法则(zt)

女生的网名这么多〃 提交于 2020-03-28 11:04:49
对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。软件开发的意义也就在于此。而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。 ---  经理:“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告。” --  -分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。” --  -经理觉得奇怪:“我不是刚告诉你我的需求了吗?” --  -分析员:“实际上,您只说明了整个项目的概念和目标。这些高层次的业务需求不足以提供开发的内容和时间。我需要与实际将要使用系统的业务人员进行讨论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。” --  -经理:“业务人员都在招商。他们非常忙,没有时间与你们详细讨论各种细节。你能不能说明一下你们现有的系统?” --- 

软件开发:需求分析的20条法则

北慕城南 提交于 2020-03-28 11:02:58
对商业用户来说,他们后面是成百上千个供应商,前面是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是商业企业需要信息管理系统的理由。软件开发的意义也就在于此。而弄清商业用户如此复杂需求的真面目,正是软件开发成功的关键所在。 ---  经理:“我们要建立一套完整的商业管理软件系统,包括商品的进、销、调、存管理,是总部-门店的连锁经营模式。通过通信手段门店自动订货,供应商自动结算,卖场通过扫条码实现销售,管理人员能够随时查询门店商品销售和库存情况。另外,我们也得为政府部门提供关于商品营运的报告。” --  -分析员:“我已经明白这个项目的大体结构框架,这非常重要,但在制定计划之前,我们必须收集一些需求。” --  -经理觉得奇怪:“我不是刚告诉你我的需求了吗?” --  -分析员:“实际上,您只说明了整个项目的概念和目标。这些高层次的业务需求不足以提供开发的内容和时间。我需要与实际将要使用系统的业务人员进行讨论,然后才能真正明白达到业务目标所需功能和用户要求,了解清楚后,才可以发现哪些是现有组件即可实现的,哪些是需要开发的,这样可节省很多时间。” --  -经理:“业务人员都在招商。他们非常忙,没有时间与你们详细讨论各种细节。你能不能说明一下你们现有的系统?” --- 

探讨敏捷开发在软件开发中的应用

微笑、不失礼 提交于 2020-03-27 14:50:21
在软件工程领域,有过很多软件开发模型,如瀑布模型、快速原型模型、增量模型、螺旋模型、演化模型、喷泉模型、RAD模型、敏捷软件开发模型、XP极端模型。这么多的模型各有各的应用场景、各有各的适用范围,但我认为最实用开发模型还是敏捷软件开发。 中国式软件开发思路是什么样的呢?从我接触过的大多软件项目来看,基本都有一个共同特点——就是必须快,客户都是急脾气,恨不得今天立项,明天就要你拿出产品来。 面对公司和客户如此快节奏的要求,我们有办法吗?人们从生产、生活中总结出来一套即高效又优质的开发模式——敏捷软件开发。 什么是敏捷软件开发呢? 敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系、而又可以独立运行的小项目,并分别完成,从而实现快速开发的目的。 还是具体来说下敏捷开发是如何实现的? 1、 将大的系统拆分成子项目。 以前我们接受过的思想是立项后先要需求调研、分析,调研后出各种调研报告及需求说明书,需求搞定后,再进行概要设计(UE设计、UI设计、交互设计、数据库设计、框架设计),概要设计完成后再进行详细设计……这样一个周期下来,耗费太长,当进度进入下一阶段,当上一阶段有问题时,会影响到整个项目流程的各个阶段。

个人学期总结

可紊 提交于 2020-03-27 04:02:59
一、学期初,实验一中的任务4,大家拟定了5个准备从课程学习中找到答案的问题,通过一个学期的学习,相信大家已经有了答案,请根据自己的学习实践回答自己当初提的问题,并提出一个新的问题。 1.在第二章技术个人技术和流程中,对于单元测试,什么是单元测试,以及单元测试要怎么做。 答:单元测试是一个方法层面上的测试,也是最细粒度的测试。用于测试一个类的每一个方法都已经满足了方法的功能要求。在开发中,对于自己开发的模块,只有在通过单元测试之后,才能提交到 SVN 库 或者 Git 库。 在代码编写完成后的单元测试工作主要分为两个步骤人工静态检查和动态执行跟踪。   人工静态检查是测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性(尽量通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性、算法高效性。并尽可能的发现程序中没有发现的错误。 第二步是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。经验表明,使用人工静态检查法能够有效的发现30%到70%的逻辑设计和编码错误。但是代码中仍会有大量的隐性错误无法通过视觉检查发现,必须通过跟踪调试法细心分析才能够捕捉到。所以,动态跟踪调试方法也成了单元测试的重点与难点。 2. 什么是软件危机,为什么产生软件危机?。 答:软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求

从程序员到软件工程师

懵懂的女人 提交于 2020-03-18 11:59:03
软件产业发展到今天,分工越来越细。程序员做为一个通用的称谓已经无法确切定义各种工作的特点和分类。正因为软件开发中各种职责区分不清,无论是刚刚写代码的新手还是具有多年经验的老手,一概被扣上程序员的通用名称,这也使得很多进入这个领域的软件开发人员无法制定自己未来的技术职业发展之路。 实际上,软件公司也逐渐认识到了对程序员分类的重要性,开始将各种职位定义的更加准确。对于从事软件开发的程序员来说,更需要尽快明确自己的发展方向,并在此方向上将专业知识积累的更深厚,这能让你尽快逃脱对未来发展方向的迷茫。为此,我们专门推出程序员成长系列的特别策划,将分别深入探讨软件设计师、测试工程师、文档工程师、项目经理、产品经理几种角色的成长之路。 程序员成长系列之一 软件设计师可以预先构建软件结构,如同建筑架构师一般。比尔·盖茨被称为微软公司的首席软件设计师,首先是因为他是一个优秀的架构设计师,中国同样需要这样的人才。-微软大中国区总经理黄存义 从程序员到软件设计师 2000年1月13日下午,世界软件业巨人、美国微软公司突然在位于华盛顿州雷德蒙德市的总部举行新闻发布会。比尔·盖茨把微软CEO宝座拱手让给长期伙伴史蒂夫-巴尔默,只保留董事局主席一职,但同时出任新职务“首席软件设计师”。比尔·盖茨说:“今后我将全力设计开发面向未来的新软件,同时研究制定微软的总体技术发展战略。” 比尔