当一个软件项目摆在人们面前时,进行系统的分析是首当其冲的,正如我们的一句古语:三思而后行。因此,无论做任何事都应考虑是否有意义以及它的可行性。在过去,人们将“软件”与“程序”、“开发软件”与“编程序”划等号,粗略的进行估计和设计软件产品势必会影响软件的质量和生产效率。然而现在,随着信息化产业的发展,软件企业的增多,尤其是当面对一些大中型的软件项目,对软件生命周期的各个环节进行系统详细的分析将更加重要,而且会提高软件的质量和效率。
一、软件系统开发
无论动物、植物,作为一个完整的事物,都有它的生命周期、或者说它的轨迹。作为先进高科技的产物---软件产品,自然也不例外。这期间,要经过一系列的过程,例如,开发者首先要考虑它的可行性,是否能坚决当前问题或是将来是否能有更大的发展,当然要有详细的规划和设计,要形成书面的文档记录下来,以便开发员之间的交流。其次关键的是能否满足用户的需求,因为判断开发出来的软件是否成功的标准之一就是看它有无实用性。之后便是一系列的实施,例如程序设计,系统测试,以及接下来的后续工作---维护与修改工作。
软件生命周期的各个环节将软件系统开发大致分为四个阶段,用图示的方式表现出来即通常所说的“瀑布模型”,如图:
二、系统分析
系统分析是软件生命周期的一个关键环节,其目标是将对计算机应用系统的需求转化成实际的物理实现。然而实际面太多,增加了软件分析的复杂度,那么究竟在系统分析的过程中需要考虑那些因素呢?
1、系统目的。在考虑系统目的时,应更多的侧重于系统的最终目标考虑,因为一个系统不可能在最初就是完美的,要为系统留些余地。
2、系统参与者。在整个项目中,要考虑有哪些方面参与了系统,这些参与者人可能在系统建设中起重要作用,他们采取什么样的态度将会对系统有一定的影响。另外,还要了解各参与者的初衷是什么。
3、明确的评价标准。最好从参与的各方面都进行考虑,要知道他们对这个系统是否有一个明确的评价标准。
4、系统开发计划的完善度。计划表要有明确的阶段,每一阶段要有详细的完成计划,以及对阶段完成情况进行的评价。
当然还有很多因素值得考虑,可以根据面对的项目的不同而改变,譬如与软件开发人员的交流等等。
三、开发内容
开发软件系统最为困难的部分,就是准确说明开发什么。这就需要在开发的过程中不断的与用户进行交流与探讨,使系统更加详尽,准确到位。这就需要确定用户是否需要这样的产品类型以及获取每个用户类的需求。需求类型包括三个:
1、业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目的要求,它们在项目视图与范围文档中予以说明。
2、用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例文档或方案脚本说明中予以说明。
3、功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。
总之,无论是商业性或非商业目的的产品,都应具备完整的说明书,以避免发生状况时引起不必要的损失。
四、分析设计和系统方案
在考虑完各方面的实际因素后,就要对项目进行总体的分析设计。简单的讲,总体设计需要确定的内容应当包括:
1、系统需要实现哪些功能;
?2、开发使用什么软件,在什么样的硬件环境;
3、需要多少人,多少时间;
4、需要遵循的规则和标准有哪些。
一般情况下,在总体设计出来后,就需要给客户一个系统的方案。如果在客户需求不是十分明确的情况下提交方案,往往和实际制作后的结果会有很大差异。所以应该尽量取得客户的理解,在明确需求并总体设计后提交方案,这样对双方都有益处。而方案则应包括以下几个部分:
1.客户情况分析;
2.系统需要实现的目的和目标;
3.系统各个模块与结构;
4.使用软件,硬件和技术分析说明;
5.开发时间进度表;
6.维护方案;
7.制作费用。
总之,总体设计阶段是以比较抽象概括的方式提出了解决问题的办法;而详细设计阶段的任务,也就是把解法具体化。详细设计主要是针对程序开发部分来说的,但这个阶段的不是真正编写程序,而是设计出程序的详细规格说明。这种规格说明的作用很类似于其他工程领域中工程师经常使用的工程蓝图,它们应该包含必要的细节,例如:程序界面、表单、需要的数据等,程序员可以根据它们写出实际的程序代码;而至于后续的工作,就有程序员来完成编写程序,系统测试员来完成测试,还有之后的维护和修改。
五、运用策略
伟人有治国的策略,商人有致富的财路,巧妇有理家的本领,鹤发童颜的老人有长生的秘诀。在进行软件开发系统分析时,也要本着一些策略:
1.“简单—复杂—简单”。 这是技术型分析人员经常碰到的情况,认为分析出错综复杂的关系,花哨的图表才能显示出分析水平高,其实,分析经常要经历"简单-复杂-简单"的过程,前一个简单表现为分析人员"认为简单";随着分析的深入,原以为简单的问题会越来越复杂;最后,经过概括、消化、分解,使得需求简单明了。
2.软件复用技术。新开发的软件,要从一开始就考虑其可演化性,以便以后的再工程和构件提取。随着软件复用技术的不断发展,从头开始的软件大量减少,使用的遗产系统相应增多,这就避免了重复的工作,使得已完善的模块遗传下去。
3.模块化概念。模块化可以增强系统的独立性,使耦合度降低,实现“高内聚-松耦合”。对于模块的内部,使其高度集中,而模块与模块间的联系相对减少,这样使系统各模块独立的进行运转。
任何雄才伟略的人都能纵观全局,有一览众山小之气魄。若想有出色的成果必然要有对事物进行总的分析的能力,这就包括是否着眼于长远利益,是否能对其很好的管理掌控。系统并不是简单的计算机代替手工劳作的一种方式,它是一种高于现实的管理模式。因此,系统分析是软件开发过程中必不可少的一个环节,它为高质量软件产品的开发奠定了基础。
相关推荐
软件系统架构的方法论是构建大型复杂软件系统的关键步骤,它涉及到多个层次的抽象和决策,旨在确保系统的稳定性和可扩展性。系统架构可以分为几个主要的视图:逻辑架构、开发架构、运行架构和数据架构。 逻辑架构...
《系统分析师优秀论文精选》是针对计算机软件资格和水平考试中的系统分析师级别提供的一份宝贵参考资料。这份集合包含了大量经过精心挑选的论文,旨在为准备此类考试的考生提供深入理解和实践指导。系统分析师这一...
《系统分析师考试论文试题分类分析与范文2010年第3版》是针对软考系统分析师这一专业领域的重要参考资料,旨在帮助考生深入了解考试中的论文题目类型,并提供有效的备考策略。该资源包含了对历年论文试题的深入分析...
软件系统分析师在这些环节中需要具备扎实的技术基础,理解和应用各种软件工程方法,如敏捷开发、瀑布模型等,以确保项目的顺利进行。 “系统分析师”这一关键词意味着论文将深入探讨如何进行系统规划、需求挖掘、...
这个集合很显然是为准备系统分析师考试的考生们提供的参考资料,旨在帮助他们理解并掌握系统分析师的角色、职责以及在实际工作中可能遇到的问题和解决策略。以下是基于这些文件名所涉及的系统分析师考试相关的知识点...
论软件需求分析方法和工具的选用——企业人事信息系统的应用;论软件需求分析方法和工具的选用--企业集团的信息管理系统应用;论软件需求分析方法和工具的选用--通信行业的应用;论软件需求分析方法和工具的选用--IC...
在【论软件需求分析方法和工具的选用】部分,作者强调了面向对象方法在企业人事信息系统项目中的应用,指出这种方法能更好地反映现实世界的复杂性和变化性,提高系统的适应性和扩展性。通过引入人才评估系统的设计...
《系统分析师优秀论文精选二》是一份集合了计算机软件资格和水平考试中系统分析师级别优秀论文的资源。这些论文不仅代表了系统分析师在实际工作中的专业素养,也展现了他们在解决问题、设计系统和规划项目方面的独特...
通过这些解答方法和策略,考生能够更好地准备和应对系统分析员级下午的论文试题,展现出自己的专业素养和综合能力。论文试题不仅测试了知识,也评估了应试者的实践能力、问题解决技巧以及书面表达能力,是全面评价...
系统分析师考试是中国计算机技术与软件专业技术资格(水平)考试的一部分,旨在评估考生在系统分析、设计和实施等方面的能力。本压缩包“系统分析师考试论文范文资料集合.rar”提供了丰富的备考资源,包括指导书籍、...
### 软件系统软件测试方法论 #### 测试的目的 在软件开发过程中,测试扮演着至关重要的角色。测试的主要目标是为了确保软件产品的质量达到预期标准。具体来说,测试的目的可以归纳为以下几点: 1. **查找错误**:...
通过“系统分析师论文精选1.pdf”,读者可以接触到实际案例,学习如何处理各种复杂问题,理解系统分析师在不同情境下的工作方法和思维方式,从而提高自己的专业素养。此外,这些论文还可能涵盖了新的研究发现和技术...
在系统分析中,Java 技术可以用来实现不同的层次结构,例如表示层、中间件层和数据层。在表示层中,Java Script 可以用来实现页面输出,而在中间件层中,Java 可以用来实现 CORBA,即实现 Component,主要实现业务...
结合这三个文件,学习者可以深入理解软件需求的获取、定义和管理方法,掌握系统分析的技巧和策略。这些知识有助于IT专业人士,特别是系统分析师、项目经理和软件开发者,在实际项目中有效地执行需求工程和系统分析...
从软件工程到信息工程的演进,反映出系统分析和设计方法的深化。 系统分析员的角色和培养也是该教程内容的一部分。系统分析员是负责对信息系统进行需求分析、设计和评估的专业人员,他们需要具备丰富的专业知识、...
### 系统分析师考试论文的应试策略 #### 一、引言 系统分析师作为信息技术领域的重要职业之一,其认证考试对于评估考生的专业能力和实践经验具有重要意义。考试中的论文部分被视为最具挑战性的环节之一,它要求考生...
"2004-11-XFSW1.pdf"和"2004-11-XFSW2.pdf"可能是针对特定技术领域的试题或案例分析,可能涉及了系统分析师需要掌握的某一类专业技术知识,如信息系统设计、软件工程、项目管理等。通过这些文件,考生可以深化对这些...
软件项目实施方法论是一种“闭环”的系统开发和实施方法,以确保及时的、高效的、统一的、成功的实施结果。该方法基于每个用户的需求是独特的和重要的这个概念。快威公司需要与用户一起磋商,具体情况具体分析地裁剪...