﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-tinguo002-随笔分类-软件工程</title><link>http://www.blogjava.net/tinguo002/category/53565.html</link><description>&lt;script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"&gt;&lt;/script&gt;
&lt;!-- iteye 460 60 --&gt;
&lt;ins class="adsbygoogle"
     style="display:inline-block;width:468px;height:60px"
     data-ad-client="ca-pub-2876867208357149"
     data-ad-slot="0418982663"&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;
</description><language>zh-cn</language><lastBuildDate>Wed, 25 Mar 2015 15:27:07 GMT</lastBuildDate><pubDate>Wed, 25 Mar 2015 15:27:07 GMT</pubDate><ttl>60</ttl><item><title>开发任务执行准则</title><link>http://www.blogjava.net/tinguo002/archive/2015/03/25/423834.html</link><dc:creator>一堣而安</dc:creator><author>一堣而安</author><pubDate>Wed, 25 Mar 2015 11:44:00 GMT</pubDate><guid>http://www.blogjava.net/tinguo002/archive/2015/03/25/423834.html</guid><wfw:comment>http://www.blogjava.net/tinguo002/comments/423834.html</wfw:comment><comments>http://www.blogjava.net/tinguo002/archive/2015/03/25/423834.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tinguo002/comments/commentRss/423834.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tinguo002/services/trackbacks/423834.html</trackback:ping><description><![CDATA[<div>开发了一段时间，挺有感触了，记一些下来，慢慢完善补充，比如补充一些好用的模板，好用的方法，技巧进来。<br />==================================================================<br />原始需求：</div><div><span style="white-space:pre">	</span>判定，此需求是否可由我单独接收、确认</div><div><span style="white-space:pre">	</span>确认是否我该做的</div><div><span style="white-space:pre">	</span>确认需求带来的好处（错误修改类、无错优化类）</div><div><span style="white-space:pre">	</span>考虑好处是否可以扩大化（把这&#8220;个&#8221;错误修正，变成这&#8220;类&#8221;错误修正；把这个页面的优化，变成这类页面的优化）</div><div><span style="white-space:pre">	</span>注：需求的确认通常都需要时间，有不确定地方，刚不要当场否定或接收。</div><div><span style="white-space:pre">	</span></div><div>开发完成效果描述：</div><div><span style="white-space:pre">	</span>显示要素要齐全</div><div><span style="white-space:pre">	</span>操作步骤要齐全</div><div><span style="white-space:pre">	</span>生成可被查看，可被操作的东西</div><div><span style="white-space:pre">	</span></div><div>开发完成效果可行性验证：</div><div><span style="white-space:pre">	</span>验证效果是否满足原始需求</div><div><span style="white-space:pre">	</span>验证效果是否可能无法完成</div><div><span style="white-space:pre">	</span>验证效果是否最优方案（同类案例对比）</div><div><span style="white-space:pre">	</span>确定最终效果，三方确认（原始需求提出人-甲方，开发人-乙方技术人员，项目负责人-乙方非技术人员）</div><div><span style="white-space:pre">	</span></div><div>开发完成效果实现：</div><div><span style="white-space:pre">	</span>设计</div><div><span style="white-space:pre">		</span>可复用性</div><div><span style="white-space:pre">		</span>命名规范化<span style="white-space: pre;">		</span><br /><span style="white-space:pre">		</span>一个功能一个方法，同一类方法放到一个类中<br /><div><span style="white-space:pre">		</span>类名、方法名、出参入参名要确定</div></div><div><span style="white-space:pre">		</span>有文档，可拿来交流，可拿来追溯</div><div><span style="white-space:pre">	</span>审核</div><div><span style="white-space:pre">		</span>让参与人员或技术主管审核</div><div><span style="white-space:pre">	</span>测试要素设定</div><div><span style="white-space:pre">		</span>顺序操作步骤场景设定</div><div><span style="white-space:pre">		</span>强制插入步骤场景设定</div><div><span style="white-space:pre">	</span>开发</div><div><span style="white-space:pre">	</span>测试</div><img src ="http://www.blogjava.net/tinguo002/aggbug/423834.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tinguo002/" target="_blank">一堣而安</a> 2015-03-25 19:44 <a href="http://www.blogjava.net/tinguo002/archive/2015/03/25/423834.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>介绍概要设计和详细设计该写成什么程度（转）</title><link>http://www.blogjava.net/tinguo002/archive/2013/05/07/398944.html</link><dc:creator>一堣而安</dc:creator><author>一堣而安</author><pubDate>Tue, 07 May 2013 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/tinguo002/archive/2013/05/07/398944.html</guid><wfw:comment>http://www.blogjava.net/tinguo002/comments/398944.html</wfw:comment><comments>http://www.blogjava.net/tinguo002/archive/2013/05/07/398944.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tinguo002/comments/commentRss/398944.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tinguo002/services/trackbacks/398944.html</trackback:ping><description><![CDATA[<a href="http://wenku.baidu.com/view/78ed49eae009581b6bd9ebae.html">http://wenku.baidu.com/view/78ed49eae009581b6bd9ebae.html</a><img src ="http://www.blogjava.net/tinguo002/aggbug/398944.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tinguo002/" target="_blank">一堣而安</a> 2013-05-07 17:18 <a href="http://www.blogjava.net/tinguo002/archive/2013/05/07/398944.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件工程中的图（转）</title><link>http://www.blogjava.net/tinguo002/archive/2013/05/07/398942.html</link><dc:creator>一堣而安</dc:creator><author>一堣而安</author><pubDate>Tue, 07 May 2013 09:16:00 GMT</pubDate><guid>http://www.blogjava.net/tinguo002/archive/2013/05/07/398942.html</guid><wfw:comment>http://www.blogjava.net/tinguo002/comments/398942.html</wfw:comment><comments>http://www.blogjava.net/tinguo002/archive/2013/05/07/398942.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tinguo002/comments/commentRss/398942.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tinguo002/services/trackbacks/398942.html</trackback:ping><description><![CDATA[<a id="cb_post_title_url" href="http://www.cnblogs.com/bukudekong/archive/2012/05/05/2484498.html">软件工程中的图</a><div id="cnblogs_post_body"><p>我们通常都是对图形化的东西情有独钟，我们小时候的启蒙教育基本上也都是从图形化开始的，我们曾经看过的连环画、漫画、看图识字等等。因为图形能将一个抽象的东西具体化、形象化，图形化的表述能将一个用文字语言无法表达清楚或很难表达的观点、事物、科学概念等清晰的呈现出来。这就是为什么我们相比晦涩难懂文字更喜欢形象生动的图形的原因。</p><p>　　软件工程导论作为软件工程中非常重要的一门课程，通常因为其偏文科性、理论性、概念性而得不到人们的重视，但幸运的是在软件工程导论中有我们非常易于接受、理解的东西&#8212;&#8212;图，否则我们自己会把自己害得很惨（软件工程导论真的很重要哦！）。</p><p>　　软件工程导论中一般把软件的开发分为八个阶段：１.问题定义 ２.可行性研究 ３.需求分析 ４.总体设计（概要设计） ５.详细设计 ６.编码和单元测试 ７.综合测试 ８.软件维护。下面我们就说说各个阶段中与图的难解难分。</p><p><strong>　　１.</strong><strong> 问题定义 </strong></p><p>　　问题定义阶段主要是根据用户的需求来定义用户需要解决的问题，用户要实现哪些功能。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p><p><strong>　　２.</strong><strong> 可行性研究 </strong></p><p>　　可行性研究阶段就是看是否有一种使其在最小的代价，尽可能短的时间内，利益最大化的情况下解决问题的方案。这个阶段的分析主要涉及以下几个图形工具。</p><p><strong><em>　　2.1 系统流程图</em></strong></p><p>　　系统流程图是描述系统物理模型的一种传统工具。它是表达数据在系统各部件之间流动的情况，而不是对数据加工处理的控制过程，它是物理数据流图而不是程序流程图。系统流程图形象的呈现了软件的功能，即使不懂软件的人也可以轻松的看懂，可以说它是软件设计师与用户之间沟通、交流的有效工具。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062809490313.jpg" width="500" height="300" /></p><p><strong><em>　　2.2 数据流图 </em></strong></p><p>　　数据流图是从数据传递和加工角度，以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程，是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。如果说系统流程图能让用户更好的明白系统的功能，那么数据流图则让用户更加明白系统的工作原理。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062809512224.jpg" width="500" height="300" /></p><p><strong>　　2.3 数据字典</strong></p><p>　　数据字典就是数据的信息的集合，也可以说就是对上面提到的数据流图中的所有元素的定义的集合。数据字典的主要作用就是在软件的分析与设计阶段方便我们查阅不甚了解的数据的描述信息。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062809525511.jpg" width="500" height="300" /></p><p><strong>　　３. 需求分析 </strong></p><p>　　需求分析阶段主要确定系统必须做什么。比如用户对系统的要求，确定目标系统所有的功能，确定系统运行的硬件和软件环境，系统性能要求，出错处理要求，接口需求，验证软件需求等等。</p><p><em><strong>　　3.1 E-r图</strong></em></p><p>　　E-r图的主要作用就是把用户的数据要求用可视化的图形呈现出来。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062809545926.jpg" width="500" height="300" /></p><p><em><strong>　　3.2 状态转换图</strong></em></p><p>　　状态转换图说白了就是系统的行为建模，就是通过描述系统的状态以及引起状态变化的事件来表示系统的行为，将系统运行时详细的状态变化呈现给用户。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062809555049.jpg" width="500" height="300" /></p><p><em><strong>　　3.3 层次方框图</strong></em></p><p>　　层次方框图像用户呈现的是数据的层次结构。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062809572055.jpg" width="500" height="300" /></p><p><em><strong>　　3.4 Warnier图</strong></em></p><p>　　Warnier图的作用和层次方框图的作用基本相同，只不过Warnier图的描述手段更多。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062809581724.jpg" width="500" height="300" /></p><p><em><strong>　　3.5 IPO图</strong></em></p><p>　　IPO图是输入、处理和输出图的简称，它清楚的描述了输入数据、处理数据、输出数据之间的关系。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062809593174.gif" width="500" height="300" /></p><p><strong>　　４.</strong><strong> 总体设计</strong></p><p>　　需求分析阶段已经确定了系统要做什么的问题，而总体设计就是要弄明白怎么做的问题，总体设计的目的就是从宏观上概括的说系统应该怎样实现，具体一点就是要明确系统有哪些模块组成，以及这些模块之间的关系是怎样的。</p><p><em><strong>　　4.1 层次图</strong></em></p><p>　　层次图是用来描述软件的层次结构的。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062810010466.jpg" width="500" height="300" /></p><p><em><strong>　　4.2 HIPO图</strong></em></p><p>　　HIPO图 = 层次图+输入+处理+输出</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062810023141.jpg" width="500" height="300" /></p><p><em><strong>　　4.3 结构图</strong></em></p><p>　　结构图和层次图类似，都是描述软件结构的图形工具。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062810032567.jpg" width="500" height="300" /></p><p><strong>　　５.</strong><strong> 详细设计</strong></p><p>　　详细设计阶段就是在总体设计的基础上要确定怎样具体的详细的实现系统所要求的功能，要对系统进行精确的描述。</p><p><em><strong>　　5.1 程序流程图</strong></em></p><p>　　程序流程图是对程序控制流程的直观描述。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062810063936.jpg" width="500" height="300" /></p><p><em><strong>　　5.2 盒图</strong></em></p><p>　　出于要有种不允许违背结构设计精神图形工具考虑Nassi和shneiderman提出了盒图又称为N&#8212;S图。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062810075210.jpg" width="500" height="300" /></p><p><em><strong>　　5.3 问题分析PAD图</strong></em></p><p>　　PAD图就是用二维树形结构图来表示程序的控制流。</p><p><img style="border: 1px solid black; margin-right: auto; margin-left: auto; display: block;" alt="" src="http://pic002.cnblogs.com/images/2011/304671/2011062810083631.jpg" width="500" height="300" /></p><p><strong>　　６.</strong><strong> 编码和单元测试</strong></p><p>　　编码和单元测试阶段主要是对详细设计阶段的详细描述给以具体的实现和模块的测试。　　</p><p><strong>　　７.</strong><strong> 综合测试</strong></p><p>　　综合测试包括对系统的各个组件和功能的测试，要求覆盖软件系统的各个功能点，并根据被测软件的需求测试软件的性能、易用性等方面的内容，达到对软件全方面测试的目的。</p><p><strong>　　８.</strong><strong> 软件维护</strong></p><p>　　软件维护阶段是软件生命周期中最后的一个阶段，也是最长的一个阶段，软件维护主要任务是指根据需求变化或硬件环境的变化对应用程序进行部分或全部的修改，修改时应充分利用源程序。修改后要填写程序改登记表，并在程序变更通知书上写明新旧程序的不同之处。</p><p>　　<strong>参考文献：</strong></p><p>　　1. 文中的部分定义参考于百度百科<a href="http://baike.baidu.com/">http://baike.baidu.com/</a>。</p><p>　　2. 文中的一部分图片来源于《软件工程导论》第五版（张海藩 编著），一部分来源于互联网。</p><p> </p><p><a href="http://kb.cnblogs.com/page/107286/">http://kb.cnblogs.com/page/107286/</a></p></div> <img src ="http://www.blogjava.net/tinguo002/aggbug/398942.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tinguo002/" target="_blank">一堣而安</a> 2013-05-07 17:16 <a href="http://www.blogjava.net/tinguo002/archive/2013/05/07/398942.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>