西门子(变频器)全国授权代理商
浔之漫智控技术(上海)有限公司(xzm-wqy-sqw)
是中国西门子的合作伙伴,公司主要从事工业自动化产品的集成,销售和维修,是全国的自动化设备公司。
公司坐落于中国城市上海市,我们真诚的希望在器件的销售和工程项目承接、系统开发上能和贵司开展多方面合作。
以下是我司主要代理西门子产品,欢迎您来电来函咨询,我们将为您提供优惠的价格及快捷细致的服务!
西门子(变频器)全国授权代理商
3.实行严格的产品控制
开发人员西门子头疼的事情之一是改动需求。但是实践告诉我们,需求的改动往往是不可避免的。这就要求要采用科学的产品控制技术来顺应这种要求。也就是要采用变动控制,又称基准配置管理。当需求变动时,其他各个阶段的文档或代码随之相应变动,以保证软件的一致性。
4.采纳现代程序设计技术
从20世纪六七十年代的结构化软件开发技术,到西门子近的面向对象技术,从和、第二代语言,到第四代语言,人们已经充分认识到:方法大于气力。采用先进的技术既可以提高软件开发的效率,又可以减少软件维护的成本。
5.结果应能清楚地审查
软件是一种看不见、摸不着的逻辑产品。软件开发小组的工作进展情况可见性差,难于评价和管理。为更好地进行管理,应根据软件开发的总目标及完成期限,尽量明确地规定开发小组的责任和产品标准,从而使所得到的标准能清楚地审查。许多人把软件等同于计算机程序,其实这种理解是很狭隘的。软件工程应该包括:程序和所有使程序正确运行所需要的相关文档和数据信息。一个化开发的软件系统通常远不止一个程序。系统通常包含一些单独的程序,用于设置这些程序的配置文件,可能还包括描述系统结构的系统文档和解释如何使用该系统的用户文档。1.3.1 软件工程产品分类
软件工程人员关心的是软件产品(即能卖给客户的软件)的开发。软件产品有以下两类:
1.通用软件产品
该类软件产品由软件开发机构制作,在市场上公开销售,可以独立使用。软件产品有桌面操作系统、杀毒软件、手机应用软件、数据库软件、字处理软件、绘图软件以及工程管理工具等。还包括用于特定目的的应用产品,如图书馆信息系统、网上电子商务系统、财务系统等。
2.定制软件产品
这些产品受特定的客户委托,由软件承包商专门为这类客户开发。由于市场上的成熟软件系统其功能无法满足企业个性化需求或价格过高,产品存在特殊的行业特性等原因,需要根据企业的具体情况、具体要求而定制开发软件。定制软件相比于通用软件,可以大大提高资金使用率、提高员工的工作效率、降低成本、同现有业务接轨。这类软件的典型代表是企业ERP系统。
企业资源计划即ERP(Enterprise Resource Planning),由美国Gartner Group公司于1990年提出。企业资源计划是MRP II(企业制造软件公司通过市场调研之后,认为某产品将会有巨大的市场空间,而软件公司在人力资源、设备资源、抵抗风险、资金和时间上都具备开发该产品的能力,于是决定立项,这类软件产品被称为“新产品研发类项目”,也可称为“非订单软件”。新产品研发类项目受市场定位、用户迫切需求获取、环境、研发创新能力等因素的影响,如果不了解用户场景、不了解用户的实际困难,往往很难进行。创新性是新产品开发计划的主要特点,也是开发的宗旨。创新,首先要满足用户的需要。它包括:新的市场盈利点、新的用户定位、新的性能、新的功能、新的原理和结构等。一切都是根据用户的新需要,作为创新的宗旨。
2.合同类项目
该类软件项目来源主要是软件开发公司与固定的用户签订软件开发合同。软件开发合同是指软件企业与用户针对软件开发项目依法进行订立、履行、变更、解除、转让、终止以及审查、监督、控制等一系列行为的总称。其中订立、履行、变更、解除、转让、终止是合同管理的内容;审查、监督、控制是合同管理的手段。这类软件产品被称为“订单软件”。在合同类项目签订过程中,主要有以下环节构成:
(1)招标与投标
招标是一种国际上普遍运用的、有组织的市场交易行为,是贸易中的一种工程、货物、服务的买卖方式。招标是招标人(买方)发出招标公告或投标邀请书,说明招标的工程、货物、服务的范围、标段(标包)划分、数量、投标人(卖方)的资格要求等,邀请特定或不特定的投标人(卖方)在规定的时间、地点按照一定的程序进行投标的行为。
投标是与招标相对应的概念,它是指投标人应招标人特定或不特定的邀请,按照招标文件规定的要求,在规定的时间和地点主动向招标人递交投标文件并以中标为目的的行为。
对于一个小型软件项目的开发或产品实施,一般可由销售人员直接签订合同。对于一个大中型软件项目,在签订合同之前,一般由发标单位进行招标,软件软件企业已与用户签订了项目合同,同时《项目立项建议书》已通过项目评审,作为特殊情况,软件组织的上级下达了某项目的指令性软件开发计划。例如,跨组织跨部门的某个大系统项目,它的系统总体设计组分配给软件的需求。
合同管理必须是全过程的、系统性的、动态性的。全过程就是由洽谈、草拟、签订、生效开始,直至合同失效为止。软件合同签订后,一般由总工程师从研发部门指定专门的技术人员,配合业务人员做好技术方案。
3.产品升级类项目
该类软件项目根据市场及用户的反馈,由研发部经理或总工程师确定是否进行同一个产品的不同版本升级研发。市场及用户反馈一般来源于企业对产品已有用户做的使用情况调查、对本企业产品及同类产品进行的市场调研分析,企业售后服务部门从客户处得到已有产品的使用报告或问题(故障)报告等。1.4 软件生命周期1.4.1 软件生命周期的定义
软件生命周期(Systems Development Life Cycle,SDLC)是软件的产生直到报废或停止使用的生命周期。包括软件开发过程中:问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
一项计算机软件,从出现一个构思之日起,经过这项软件开发成功投入使用,在使用中不断增补修订,直到西门子后决定停止使用,并被另一项软件产品代替之时止,被认为是该软件的一个生命周期。一个软件产品的生命周期可以划分为若干个相互区别而又有联系的阶段,每个阶段中的工作均以上一阶段的结果为依据,并为下一阶段的工作提供了前提。经验表明,失误造成的差别越是发生在生命周要求系统分析员与用户进行交流,弄清“用户需要计算机解决什么问题”,然后提出关于“系统目标与范围的说明”,提交用户审查和确认。
2.可行性研究
一方面在于把待开发的系统的目标以明确的语言描述出来,另一方面从经济、技术、法律等多方面进行可行性分析。
3.需求分析
弄清用户对软件系统的全部需求,编写需求规格说明书和初步的用户手册,提交评审。
4.开发阶段
开发阶段由三个阶段组成:软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。
软件元素包括程序代码、测试用例、设计文档、设计过程、需要分析文档甚至领域知识。通常,可重用的元素也称作软构件,可重用的软构件越大,重用的粒度越大。
为了能够在软件开发过程中重用现有的软部件,必须在此之前不断地进行软部件的积累,并将它们组织成软部件库。这就是说,软件重用不仅要讨论如何检索所需的软部件以及如何对它们进行必要的修剪,还要解决如何选取软部件、如何组织软部件库等问题。因此,软件重用方法学,通常要求软件开发项目既要考虑重用软部件的机制,又要系统地考虑生产可重用软部件的机制。这类项目通常被称为软件重用项目。
使用软件重用技术可以减少软件开发活动中大量的重复性工作,这样就能提高软件生产率,降低开发成本,缩短开发周期。同时,由于软构件大都经过严格的质量认证,并在实际运行环境中得到校验,因此,重用软构件有助于改善软件质量。此外,大量使用软构件,软件的灵活性和标准化程度也可望得到提高。
7.软件再工程
软件再工程是指对既存对象系统进行调查,并将其重构为新形式代码的开发过程。西门子大限度地重用既存系统的各种资源是再工程的西门子重要特点之一。从软件重用方法学来说,如何开发可重用软件和如何构造采用可重用软件的系统体系结构是两个西门子关键问题。不过对再工程来说前者很大一部分内容是对既存系统中非可重用构件的改造。
软件再工程是以软件工程方法学为指导,对程序全部重新设计、重新编码和测试,为此可以使用CASE工具(逆向工程和再工程工具)来帮助理解原有的设命周期过程的基于计算机的工具,通常可以设计并实现工具来支持特定的软件工程方法,减少手工方式管理的负担,让软件工程更加系统化,工具的种类包括支持单个任务的工具及囊括整个开发过程的工具。③过程是为了获得高质量的软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。1.5.2 软件工程方法学的类型
软件工程方法是软件工程学科的核心内容,从20世纪60年代末以来,出现了许多软件工程方法,其中西门子具影响的是结构化设计方法、面向对象方法和形式化方法。
(1)结构化设计方法
结构化设计方法(Structured Design,SD)是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自软件向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化方法将软件开发全过程依次划分为若干个阶段,采用结构化技术来完成每个阶段的任务。特点:①强调自软件向下顺序地完成软件开发的各阶段任务;②结构化方法要么面向行为,要么面向数据,缺乏使两者有机结合的机制。
结构化分析方法是以自软件向下、逐步求精为基点,以一系列经过实践的考验被认为是正确的原理和技术为支撑,以数据流图、数据字典、结构化语言、判定表、判定树等图形表达为主要手段,强调开发方法的结构合理性和系统的结构合理性的软件分析方法。