软件开发
软件开发是构想,指定,设计的过程编程,记录,测试, 和错误修复参与创建和维护申请,构架或其他软件组件。软件发展涉及写作和维护这源代码,但从更广泛的意义上讲,它包括从所需软件的概念到该软件的最终表现的所有过程,通常在计划和计划中结构化的过程。[1]软件开发还包括研究,新开发,原型制作,修改,重用,重新设计,维护或任何导致软件产品的活动。[2]
方法论
一种系统开发方法不一定适合所有项目使用。
每种可用的方法都最适合根据各种技术,组织,项目和团队考虑的特定项目。[3]
软件开发活动
确定需求
软件产品的想法来源很多。这些想法可能来自市场调查包括人口统计在潜在的新客户,现有客户,销售前景中,他们拒绝了该产品,其他软件开发人员或创意第三方。软件产品的想法通常首先由营销经济可行性的人员,适合现有渠道分布,以对现有产品线的可能影响,需要特征,并适合公司的营销目标。在营销评估阶段,对成本和时间假设进行了评估。在第一阶段早期就达成了决定,即基于营销和开发人员产生的更详细的信息,应进一步追求该项目。[4]
在书里“伟大的软件辩论”,艾伦·戴维斯(Alan M. Davis)本章中的状态“要求”,子章“缺少软件开发”
工程学的学生学习工程学,很少接触金融或营销。市场营销的学生学习营销,很少接触金融或工程。我们大多数人都在一个领域成为专家。使事情变得复杂,我们当中很少有人会在劳动力中遇到跨学科的人,因此很少有任何角色模仿。但是,软件产品计划对发展成功至关重要,并且绝对需要了解多个学科。[5]
计划过程
创建软件的重要任务是需求分析。客户通常对他们想要的最终结果有抽象的想法,但不知道什么软件应该做。熟练和经验丰富的软件工程师在这一点上认识到不完整,模棱两可甚至矛盾的要求。经常证明实时代码可能有助于降低要求不正确的风险。
“尽管在需求阶段付出了很多努力,以确保要求是完整且一致的,但很少是这种情况;将软件设计阶段作为最小化新的或不断变化的需求的影响时,将软件设计阶段作为最有影响力的阶段。需求波动性波动具有挑战性,因为它们会影响未来或已经开始发展的工作。”[6]
软件开发人员
软件开发人员是从事的人或公司软件开发过程,包括研究,设计,编程,测试以及创建的其他方面电脑软件。具有类似含义的个人的其他职位包括程序员,软件分析师, 或者软件工程师。专门从事软件的公司可以称为软件房屋。在一家大公司中,可能有一些员工的唯一责任仅由其中一个学科组成。在较小的开发环境中,几个人甚至一个人都可以处理完整的过程。协作环境,例如开源软件,可以汇集许多开发人员。
子主题
查看模型

一个查看模型是一个提供的框架观点在系统及其环境,用于软件开发过程。它是视图基础语义的图形表示。
观点和观点的目的是使人类工程师能够非常了解复杂系统并组织围绕域的问题的元素专业知识。在里面工程在物理密集型系统中,观点通常与工程组织内的能力和职责相对应。[7]
业务流程和数据建模
图示当前信息状态提供了一种非常有效的手段,用于向用户和系统呈现信息开发人员.

- 一个商业模式说明与正在建模的业务流程相关的功能以及执行这些功能的组织。通过描述活动和信息流,为可视化,定义,理解和验证过程的性质创建了基础。
- 一个数据模型提供要存储的信息的详细信息,当最终产品是计算机的生成时,它是主要用途软件代码用于应用程序或准备功能规范以帮助计算机软件做出或购买的决定。有关业务流程和数据模型之间相互作用的示例,请参见右侧的图。[8]
通常,进行采访后创建模型,称为商业分析。访谈包括一个主持人,询问一系列问题,旨在提取描述过程的所需信息。面试官被称为促进者,强调提供信息的是参与者。主持人应该对感兴趣的过程有一定的了解,但这并不像具有结构化方法论那样重要。该方法很重要,因为通常一组促进者团队在整个设施中收集信息,并且所有面试官的信息的结果一旦完成后必须合并在一起。[8]
这些模型的开发为定义流程的当前状态,在这种情况下,最终产品称为“ AS-IS”快照模型,或者是该过程应包含的内容的集合,从而导致了“什么?-be“模型。生成过程和数据模型可用于确定现有的流程和信息系统是否是合理的,并且只需要进行较小的修改或增强,或者是否需要重新设计作为纠正措施。创建业务模型不仅仅是查看或自动化信息过程的一种方式。分析可用于从根本上重塑您的企业或组织的运营方式。[8]
计算机辅助软件工程
计算机辅助软件工程(案例),在现场软件工程,是一组软件工具和方法的科学应用软件这导致高质量,无缺陷和可维护的软件产品。[9]它还指开发的方法信息系统以及可以在软件开发过程中使用的自动化工具。[10]术语“计算机辅助软件工程”(情况)可以参考软件用于自动开发系统软件,即计算机代码。案例功能包括分析,设计和编程。案例工具自动化方法,用于设计,记录和生成所需的结构化计算机代码编程语言.[11]
计算机辅助软件系统工程(情况)的两个关键思想是:[12]
- 在软件开发方面促进计算机协助和软件维护流程和
- 一种用于软件开发和维护的工程方法。
存在典型的案例工具配置管理,数据建模,模型转换,重构,源代码生成.

建模语言
一个建模语言是任何人造语言可以用来表达信息或者知识或者系统在一个结构体这是由一致的规则集定义的。规则用于解释结构中组件的含义。建模语言可以是图形的或文本的。[13]
编程范式
一个编程范式是一种基本风格电脑编程,这通常不由项目管理方法(例如瀑布或敏捷)决定。用于表示程序元素(例如对象,函数,变量,约束)的概念和抽象的范例以及构成计算的步骤(例如分配,评估,连续性,数据流)的步骤。有时,范式主张的概念在高级系统体系结构设计中合作使用;在其他情况下,编程范式的范围仅限于特定程序或模块的内部结构。例子:Grady Booch面向对象的设计(OOD),也称为面向对象的分析和设计(OOAD)。Booch模型包括六个图:类,对象,状态过渡,交互,模块和过程。[14]
也可以看看
角色和工业
参考
- ^“定义和解释的应用程序开发(APPDEV)”。bestPriceComputers.co.uk。2007年8月13日。检索8月5日2012.
- ^DRM Associates(2002)。“新产品开发词汇表”。检索10月29日2006.
- ^支持网络的电子商务的系统开发方法:定制框架Linda V. Knight(美国Depaul大学),Theresa A. Steinbach(美国Depaul大学)和Vince Kellen(美国蓝色沃尔夫)
- ^约瑟夫·莫里斯(Joseph M. Morris)(2001)。软件行业会计。 p.1.10
- ^艾伦·戴维斯(Alan M. Davis)。伟大的软件辩论(2004年10月8日),pp:125-128 Wiley-IEEE计算机协会出版社
- ^奥特罗,卡洛斯。“软件设计挑战”.IT性能提高。泰勒和弗朗西斯有限责任公司。检索10月19日2017.
- ^Edward J. Barkmeyer EA(2003)。自动化系统集成的概念Nist 2003。
- ^一个bcdPaul R. Smith&Richard Sarfaty(1993)。使用计算机辅助软件工程(案例)工具为配置管理创建战略计划。1993年国家母鹿/承包商和设施CAD/CAE用户组的论文。
- ^Kuhn,D.L(1989)。“使用计算机辅助软件工程工具选择并有效地选择”。年度西屋计算机研讨会;1989年11月6日至7日;宾夕法尼亚州匹兹堡(美国);DOE项目。
- ^P. Loucopoulos和V. Karakostas(1995)。系统需求工程。麦格劳 - 希尔。
- ^案子存档2012-02-18在Wayback Machine定义在:电信表2000存档2005-11-22在Wayback Machine。检索2008年10月26日。
- ^K. Robinson(1992)。将软件工程置于情况。纽约:约翰·威利(John Wiley and Sons Inc.)
- ^Xiao He(2007)。 “图形建模语言表示法的元模型“。 在:计算机软件和应用会议,2007年。Compsac2007 - 第1卷。1.第31届年度国际,第1卷,问题,2007年7月24日至27日,第219-224页。
- ^Merx,Georges G。;诺曼(Ronald J.)(2006)。Java的统一软件工程.Prentice-Hall,Inc。p。201.ISBN 0130473766.
进一步阅读
- Kit,Edward(1992)。现实世界中的软件测试。 Addison-Wesley专业人士。ISBN 0201877562.
- 麦卡锡,吉姆(1995)。软件开发动力学。 Microsoft Press。ISBN 1556158238.
- Conde,Dan(2002)。软件产品管理:管理从想法到产品到营销再到销售的软件开发。 Aspatore书。ISBN 1587622025.
- Davis,A。M.(2005)。只有足够的需求管理:软件开发符合营销的地方。多塞特房屋出版公司,公司。ISBN 0932633641.
- 爱德华·哈斯特(Hasted)(2005)。销售的软件:开发和营销软件项目的实用指南。 Wiley Publishing。ISBN 0764597833.
- Hohmann,Luke(2003)。超越软件体系结构:创建和维持获奖解决方案。 Addison-Wesley专业人士。ISBN 0201775948.
- John W. Horch(2005)。“关于如何与对像一起工作的两个方向。”在:IEEE软件。卷。12,不。2,第117–118页,1995年3月。
- 约翰·里奇豪斯(Rittinghouse)(2003)。管理软件可交付成果:软件开发管理方法论。数字出版社。ISBN 155558313X.
- Wiegers,Karl E.(2005)。有关软件要求的更多信息:棘手的问题和实用建议。 Microsoft Press。ISBN 0735622671.
- Wysocki,Robert K.(2006)。有效的软件项目管理。威利。ISBN 0764596365.
外部链接
Wikimedia Commons与软件开发有关的媒体软件开发