如何选择软件开发的生命周期
把一个想法变成一个可以顺畅使用的app,有很多种方法,但是路程都一样:1. 列出产品解决的问题(提取需求)2. 列出功能点(解决方案) 3.把功能点设计成一个app原型 4.找开发团队(UI,android/ios,server) 5.测试并上线如果你目前就你一人想做这个事情的话,那么1-3步是你首先要自己搞定的事情。
重点就是第4步,做研发,,因为app有较高的专业要求,所以要么你自己出钱找专人做相应工作,,要么你自己去拉一个团队一起干这事。
1. 外包,目前中国的外包行业说实话挺乱的,质量和价格都不成正比,,价格高都不一定质量好,代码质量,UI设计等和你设想的都很大出入,所以我建议你通过朋友介绍UI和开发人员,毕竟有朋友关系在里面,质量上基本上说得过去,不会乱来,,至于那些外包平台上面的,你自己一定要仔细去外包公司考察,关于合同,这个很重要! 合同中最重点的是写清楚项目的功能点和逻辑,因为这个会成为验收的标准,双方签了字后,以后好说,不然一定会扯皮。
关于钱,这个都是按照开发工作量来评估的,这个世界上真没有啥即便宜,质量又好,服务又到位的外包团队。
多少钱买多少钱东西。
2. 自己找团队开发,这个就的看自己的说服能力了,,一般情况下,这种就是创业,大家为了干一件事而聚在一起,,所以首先你得给你团队的每一个人说明白你们要干的事情,解决什么问题,有多大的市场,需要付出多少劳动和资源,大家怎么合作等。
团队里面最好有完整做过app流程的人,有人带团队比较好,免得大家没有主心骨,不知道要干嘛,进度也跟不上,很多项目做到中途就挂了,或者因为一些小问题就散伙了。
至于怎么忽悠到团队,这个里面有很多技巧,哈哈,这里就不说啦,每个人有各自的资源和方法。
基本上就是上面这些了,要想做一个事情,要解决各种问题,人的问题比事的问题更重要。
找专业的人做专业的事。
找熟人项目必须每天都有进步,哪怕是只画了一张图
软件开发有什么理论,主要的理论
很多,主要有:编程理论:面向过程编程、面向对象编程、面向切面编程、函数式编程等等项目管理理论:瀑布模型、V模型、螺旋模型、快速原型法、agile modeling等等分析理论:需求分析理论、use case等等测试理论:单元测试、黑盒测试、白盒测试等等除此之外,还有涉及到维护、二次开发、质量管理等等方面的理论内容。
软件设计的发展方向
软件开发过程是随着开发技术的演化而随之改进的。
从早期的瀑布式(Waterfall)的开发模型到后来出现的螺旋式的迭代(Spiral)开发,以后来开始兴起的敏捷开发方法(Agile),他们展示出了在不同的时代软件产业对于开发过程的不同的认识,以及对于不同类型项目的理解方法。
注意区分软件开发过程和软件过程改进之间的重要区别。
诸如像ISO15504,ISO9000,CMM,CMMI这样的名词阐述的是一些软件过程改进框架,他们提供了一系列的标准和策略来指导软件组织如何提升软件开发过程的质量、软件组织的能力,而不是给出具体的开发过程的定义。
“敏捷开发”(AgileDevelopment)是软件工程的一个重要的发展。
它强调软件开发应当是能够对未来可能出现的变化和不确定性作出全面反应的。
敏捷开发被认为是一种“轻量级”的方法。
在轻量级方法中最负盛名的应该是“极限编程”(ExtremeProgramming),简称为XP)。
而与轻量级方法相对应的是“重量级方法”的存在。
重量级方法强调以开发过程为中心,而不是以人为中心。
重量级方法的例子比如CMM、PSP、TSP。
面向侧面的程序设计(AspectOrientedProgramming),简称(AOP)被认为是软件工程的另外一个重要发展。
这里的方面指的是完成一个功能的对象和函数的集合。
在这一方面相关的内容有泛型编程(GenericProgramming)和模板。
软件开发相关的日语翻译
软件开发环境(Software Development Environment,SDE)是指在基本硬件和宿至软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。
它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。
SDE在欧洲又叫集成式项目支援环境(Integrated Project Support Environment,IPSE)。
软件开发环境的主要组成成分是软件工具。
人机界面是软件开发环境与用户之间的一个统一的交互式对话系统,它是软件开发环境的重要质量标志。
存储各种软件工具加工所产生的软件产品或半成品(如源代码、测试数据和各种文档资料等)的软件环境数据库是软件开发环境的核心。
工具间的联系和相互理解都是通过存储在信息库中的共享数据得以实现的。
软件开发环境数据库是面向软件工作者的知识型信息数据库,其数据对象是多元化、带有智能性质的。
软件开发数据库用来支撑各种软件工具,尤其是自动设计工具、编译程序等的主动或被动的工作。
较初级的SDE数据库一般包含通用子程序库、可重组的程序加工信息库、模块描述与接口信息库、软件测试与纠错依据信息库等;较完整的SDE数据库还应包括可行性与需求信息档案、阶段设计详细档案、测试驱动数据库、软件维护档案等。
更进一步的要求是面向软件规划到实现、维护全过程的自动进行,这要求SDE数据库系统是具有智能的,其中比较基本的智能结果是软件编码的自动实现和优化、软件工程项目的多方面不同角度的自我分析与总结。
这种智能结果还应主动地被重新改造、学习,以丰富SDE数据库的知识、信息和软件积累。
这时候,软件开发环境在软件工程人员的恰当的外部控制或帮助下逐步向高度智能与自动化迈进。
软件实现的根据是计算机语言。
时至今日,计算机语言发展为算法语言、数据库语言、智能模拟语言等多种门类,在几十种重要的算法语言中,C&C++语言日益成为广大计算机软件工作人员的亲密伙伴,这不仅因为它功能强大、构造灵活,更在于它提供了高度结构化的语法、简单而统一的软件构造方式,使得以它为主构造的SDE数据库的基础成分——子程序库的设计与建设显得异常的方便。
事实上,以C&C++为背景建立的SDE子程序库能为软件工作者提供比较有效、灵活、方便、友好的自动编码基础,尤其是C++的封装等特性,更适合大项目的开发管理和维护。
软件开发环境可按以下几种角度分类: (1)按软件开发模型及开发方法分类,有支持瀑布模型、演化模型、螺旋模型、喷泉模型以及结构化方法、信息模型方法、面向对象方法等不同模型及方法的软件开发环境。
(2)按功能及结构特点分类,有单体型、协同型、分散型和并发型等多种类型的软件开发环境。
(3)按应用范围分类,有通用型和专用型软件开发环境。
其中专用型软件开发环境与应用领域有关,故又软件开发方法(Software Development Method)是指软件开发过程所遵循的办法和步骤。
软件开发活动的目的是有效地得到一些工作产物,也就是一个运行的系统及其支持文档,并且满足有关的质量要求。
软件开发是一种非常复杂的脑力劳动,所以经常更多讨论的是软件开发方法学,指的是规则、方法和工具的集成,既支持开发,也支持以后的演变过程(交付运行后,系统还会变化,或是为了改错,或是为了功能的增减)。
关于组成软件开发和系统演化的活动有着各种模型(参见软件生存周期,软件开发模型,软件过程),但是典型地都包含了以下的过程或活动:分析、设计、实现、确认(测试验收)、演化(维护)。
有些软件开发方法是专门针对某一开发阶段的,属于局部性的软件开发方法。
特别是软件开发的实践表明,在开发的早期阶段多做努力,在后来的测试和维护阶段就会使费用较大地得以缩减。
因此,针对分析和设计阶段的软件开发方法特别受到重视。
其它阶段的方法,从程序设计发展的初期起就是研究的重点,已经发展得比较成熟(参见程序设计,维护过程)。
除了分阶段的局部性软件开发方法之外,还有覆盖开发全过程的全局性方法,尤为软件开发方法学注意的重点。
对软件开发方法的一般要求:当提出一种软件开发方法时,应该考虑许多因素,包括:①覆盖开发全过程,并且便于在各阶段间的过渡;②便于在开发各阶段中有关人员之间的通信;③支持有效的解决问题的技术;④支持系统设计和开发的各种不同途径;⑤在开发过程中支持软件正确性的校验和验证;⑥便于在系统需求中列入设计、实际和性能的约束;⑦支持设计师和其他技术人员的智力劳动;⑧在系统的整个生存周期都支持它的演化;⑨受自动化工具的支持。
此外,在开发的所有阶段,有关的软件产物都应该是可见和可控的;软件开发方法应该可教学、可转移,还应该是开放的,即可以容纳新的技术、管理方法和新工具,并且与已有的标准相适应可称为应用型软件开发环境。
⑷按开发阶段分类,有前端开发环境(支持系统规划、分析、设计等阶段的活动)、后端开发环境(支持编程、测试等阶段的活动)、软件维护环境和...
什么是XP用户故事(XP:极限编程)
以下是一个用户故事的样例:故事2运行处理退款请求故事(优先级:高 技术风险:低)估算:开发时间 2周2.1 获得某时间段银行的退款明细 0.5天2.2 分页显示某时间段银行的退款明细列表,提供选择退款记录 2.5天2.3 运行处理退款 2天2.4 (约束)2.3可以补充退款信息卡号、姓名信息,如果要求输入卡号要输入2遍复核2.5 (约束)2.4输入卡号提供3个4位输入第4个不限位数的分割输入,利于校对2.6 (约束)2.4卡号栏目后面要留输入标注(本)(异)来区分本地卡和异地卡的空间2.7 (约束)2.3可以选择部分或全部明细进行退款处理2.8 (约束)2.3处理后退款明细记录状态要变更为运行已处理状态,并置运行处理日期2.9 (约束)2.3按确认后要一个确认对话框,防止误操作2.10 可以按条件获得退款明细列表 1天2.11 (约束)2.10条件可以为:银行&退款处理状态&退款请求日期段2.12 (约束)2.10条件可以为:商户&退款处理状态&退款请求日期段2.13 (约束)不需要查询还在申请状态的退款2.14 分页显示按条件获得运行已处理的退款明细列表 1.5天2.15 (约束)2.14表头里须含查询条件信息及总笔数与金额信息2.16 可以下载退款明细列表 2.5天2.17 (约束)2.16数据组织成execl表格格式2.18 (约束)2.16表可以按每个支付网关生成一份2.19 (约束)2.16表可以按每个商户生成一份2.20 (约束)2.16表中,部分支付网关除基本栏目外,一些栏目可以配置打印与否。
2.21 可以把运行已经处理过的退款交易回退给运行部门重新处理。
2.22 (约束)2.21可回退的退款交易必需是还没有被财务退过款的。
都严肃点儿