软件开发 订阅
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。 展开全文
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。软件分为系统软件和应用软件,并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。 软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
信息
中文名
软件开发
外文名
Software development
含    义
根据用户需求编写指定软件的行为
软件开发阶段划分
对所要解决的问题进行总体定义,包括了解用户的要求及现实环境,从技术、经济和社会因素等3个方面研究并论证本软件项目的可行性,编写可行性研究报告,探讨解决问题的方案,并对可供使用的资源(如计算机硬件、系统软件、人力等)成本,可取得的效益和开发进度作出估计,制订完成开发任务的实施计划。软件需求分析就是对开发什么样的软件的一个系统的分析与设想。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元。可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。模块,然后进行模块设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的“源程序清单”。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。而且面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出色的测试用例(测试数据与功能和预期的输出结果组成了测试用例)。如何才能设计出一套出色的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。两种常用的测试方法是白盒法测试对象是源程序,依据的是程序内部的的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。白盒法和黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误。其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。维护是指在已完成对软件的研制(分析、设计、编码和测试)工作并交付使用以后,对软件产品所进行的一些软件工程的活动。即根据软件运行的情况,对软件进行适当修改,以适应新的要求,以及纠正运行中发现的错误。编写软件问题报告、软件修改报告。一个中等规模的软件,如果研制阶段需要一年至二年的时间,在它投入使用以后,其运行或工作时间可能持续五年至十年。那么它的维护阶段也是运行的这五年至十年期间。在这段时间,人们几乎需要着手解决研制阶段所遇到的各种问题,同时还要解决某些维护工作本身特有的问题。做好软件维护工作,不仅能排除障碍,使软件能正常工作,而且还可以使它扩展功能,提高性能,为用户带来明显的经济效益。然而遗憾的是,对软件维护工作的重视往往远不如对软件研制工作的重视。而事实上,和软件研制工作相比,软件维护的工作量和成本都要大得多。在实际开发过程中,软件开发并不是从第一步进行到最后一步,而是在任何阶段,在进入下一阶段前一般都有一步或几步的回溯。在测试过程中的问题可能要求修改设计,用户可能会提出一些需要来修改需求说明书等。
收起全文
精华内容
下载资源
问答
  • 软件开发打败了80%的程序员

    万次阅读 多人点赞 2021-04-14 15:52:49
    首先,我并不是说软件开发人员都是输家,我想说的是,大多数软件开发人员都没能赢得软件开发,他们都被软件开发打败了。 开发人员的痛点在于,他们不知道自己面对的是什么游戏,或者说他们不知道应该采用哪种战术。...

    作者 | Ben Hoskin

    译者 | 弯月

    出品 | CSDN(ID:CSDNnews)

    首先,我并不是说软件开发人员都是输家,我想说的是,大多数软件开发人员都没能赢得软件开发,他们都被软件开发打败了。 

    开发人员的痛点在于,他们不知道自己面对的是什么游戏,或者说他们不知道应该采用哪种战术。

    你必须知道软件开发是何种游戏,才能在游戏中获胜。

    在编写代码的过程中,重点不在于代码是否会出错,而是代码何时会出错,以及如何通过最简单的方法修复错误。

    赢家与输家

    Charles Ellis曾撰写过一篇文章《Loser’s Game》,他指出,职业网球是赢家的比赛,即选手利用自己的技能主动赢得比赛。而业余选手会使用不同的策略避免自己失误,然后等待对手出现失误,从而自己打败自己。

    “在专业网球比赛中,80%的得分是赢得的;而在业余网球比赛中,80%的得分是输掉的。换句话说,职业网球是赢家的游戏,即最终结果取决于赢家的活动;而业余网球是输家的游戏,即最终结果取决于输家的活动。这两种游戏的基本特征完全不同,甚至是相反的。”

    —— Charles Ellis

    游戏虽然相同,但你需要根据对手选择有效的策略:

    “专业网球就是我所说的赢家游戏。赢得分数更多的一方选手获胜,也就是说并不是看哪个选手得到的分数更高,而是看哪个选手赢得的分数更高。Ramo发现业余网球则完全不同。业余选手很少打败自己的对手,但是他们会自己打败自己。在这样的比赛中,得分更高的选手获胜,但他得分更高是因为他的对手输掉的分数更多。”

    —— Charles Ellis

    软件开发游戏

    我从事软件开发工作已20载有余,曾与许多软件开发人员一起从事过许多项目。我认为80%的开发人员都是业余玩家,只有20%的是专业玩家。

    我为什么这么说?

    业余软件开发人员不喜欢:

    • 标准

    • 单元测试

    • 设计模式/ SOLID原则

    • 学习和设置开发运维和产品生命周期管理(他们喜欢使用)

    • 修复构建

    • 代码审查

    • 代码分析/解决方案检查

    如果你想毁掉一个开发团队,那就不要执行上述步骤,因为团队中的大多数开发人员都不是专业人员。

    “避免犯错的方法是保守行事,想办法让比赛继续下去,给对手充裕的机会出现失误,从而自己打败自己,因为业余选手玩的是输家的游戏,而且他深陷其中却不自知。”

    —— Charles Ellis

    大多数开发人员都会低估编写代码的难度,同时还会高估自己的能力。他们以为编写代码非常容易,而且编写好的代码第一次运行就可以成功。

    业余玩家

    如果大多数开发人员都是业余玩家,那么我们就应该将软件开发视作输家的游戏,竭尽全力减少业余玩家容易犯的错误。

    业余开发人员的目标是写代码,其他活动都会降低开发的速度。上述提到的其他步骤就是为了创建简单的代码,更快地发现错误,并注意提高质量。产品生命周期管理/开发运维可以快速地完成部署,而且还不容易出错,从而实现快速反馈。

    快速编写代码的最佳方法是专注于质量和减少错误,而不是更快地编写代码。

    项目和开发团队的规模越大,为bug和错误所付出的代价就越沉重。大型团队的问题可能会导致很多人的进度延误,而实施上述列表中的活动可以让我们集中精力处理阻碍。

    我曾经历过一些项目,直到项目后期才发现的一些bug导致用户失去信心,并给上线带来了风险。

    本末倒置

    我们的目标不是编写有效的代码,而是花时间避免编写质量低劣的代码和bug,否则就会本末倒置。

    “对于你我之辈来说,难得的不是一时的聪明,而是坚持不做蠢事。”

    —— Charlie Munger

    业余开发人员认为,快速编写代码是最有效的创建产品的方法。如果方法庞大,代码复杂,则代码库会越来越复杂,而且每添加一行代码开发工作就会更加困难。这种方法仅适合只有1~2名开发人员的小型项目。

    bug的成本

    从代码编写完成开始,发现bug的时间越晚,修复所需的时间就越长。举个例子,如果你发现了生产中的某个bug,那么首先你必须设法复现bug,并搞清楚bug发生的原因,修复bug,并通过每个环境的部署和测试,最后才能进入生产。

    如果在单元测试中发现相同的错误,则可以快速修复,同时还不会影响到其他开发人员和测试人员。

    我们可以在开发过程中添加一些简单的步骤来找出bug,在软件开发这个游戏中,bug会浪费大量时间,并消磨掉客户的信任。 

    如果我们知道大多数开发团队的成员都是业余玩家,他们很容易犯错并导致自己甚至团队的失败,那么我们就更加应该重视防止bug,而不是假定每个人都是专业的开发人员,每个人都可以编写出色的代码。

    赢得软件开发这场游戏的关键,不在于第一次就能创建正确的代码,而在于避免失败的各种方式。

    “专业人士靠主动赢分获胜,而业余人士靠对方丢分获胜。”

    —— Charles Ellis

    原文链接:https://thehosk.medium.com/software-development-is-a-losers-game-fc68bb30d7eb

    展开全文
  • Head First软件开发

    千次下载 热门讨论 2015-03-21 11:49:33
    Head First 软件开发 中文扫描版
  • 工控上位机软件开发

    千次阅读 多人点赞 2019-05-28 09:12:22
    工控上位机软件开发全流程自研-上位机软件开发-工业级控制系统一、上位机软件开发底层设计二、上下位机通信的安全性三、上位机软件接收与存储研发四、数据清洗与图形展示研发五、上位机软件发送指令与回调六、上位机...

    全流程自研之上位机软件开发-工业级控制系统

    简介:大家都知道工业级控制系统(亦或物联网),简单可分为两部分组成,上位机和下位机。上位机由服务器和上位机软件组成,其功能是数据存储、复杂计算、图形显示、个人操控等。下位机由单片机(PLC)和嵌入式软件组成,其功能是数据采集、简单数据处理、数据上传、控制各类设备等。本人在暖通(供暖控制)、能源(煤层气开采控制)、医疗设备(医疗实验数据采集)、物联网数控(智能家居、家电)等行业,从事多年工控上位机软件开发,所以本文主要介绍上位机开发与部署的全流程。

    一、上位机软件开发底层设计

    任何一个工业级的实现,都不是凭空想象出来的,所以上位机软件开发也离不开底层设计。底层设计包括开发语言选取、开发框架设计、底层业务模块切割、存储数据模块建模,其核心是业务模块切割,依据是下上位机通讯协议。不论下位机是自研开发(画图、焊板子、烧程序),还是现成的组态软件、工控软件,都有其通信协议,即数据上传接口规范。自研的下位机,协议可以自定。上位机软件开发,其接收数据的标准,必须建立在这些数据接口规范之上(自研亦叫协议)。

    二、上下位机通信的安全性

    不论在任何行业,只要设计到生产活动,必然会涉及到安全,工控软件安全主要有两方面内容:
    1、数据安全
    2、控制安全
    上传的数据错误,直接影响上位机管理人员的操控决策。下发的指令被人篡改,直接影响生产设备控制,甚至导致生产事故发生,可想安全是多么重要的一件事。
    下上位机通信安全保障措施:服务器安全、公网专线、局域网加密、登录身份认证、双向传输数据加解密、双向传输数据校验、设备校准、现场屏蔽等。
    属于上位机软件需要实现的有:服务器安全、公网专线、局域网加密、登录身份认证、双向传输数据加解密、双向传输数据校验。

    三、上位机软件接收与存储研发

    上位机软件其实质是一个数据处理服务器,所以上位机需要拥有独立的IP,并给下位机开放数据传输接口,以便下位机随时定位上位机且能上传数据。如果只是采集数据(即没有控制),上下位机采用动态链接比较省网络资源,只要拥有独立地址,下位机即可随时定位上位机。
    下位机串口信息上传数据(字节流,一般采用16进制编码),上位机按照通信协议(一、中讲到的),利用动态适配算法,解析成自己语言所能处理的编码(如JAVA转换成utf8),解析码后,透传给上位机软件核心处理节点,进行数据存储、分析、清洗、展示。
    由于下位机终端节点非常多,实时数据非常庞大(我处理的两年达到T级别),在存储和数据关联上,需要根据自己的业务要求,设计适合自己的数据库。我当时采用分库、分表、主键关联,以提高存储和查询的速度。现在的NoSql数据库,或者文件系统都挺适合存储工业数据的,存储、抽取、分析及后续大数据,在此基础上去做,都非常合适。

    四、数据清洗与图形展示研发

    待续……

    五、上位机软件发送指令与回调

    六、上位机软件开发-应用行业

    展开全文
  • 国家标准软件开发文档模板

    千次下载 热门讨论 2009-12-02 09:51:47
    国家标准软件开发文档模板,包括:操作手册(GB8567——88)、测试分析报告(GB8567——88)、测试计划(GB8567——88)、概要设计说明书(GB8567——88)、开发进度月报(GB8567——88)、可行性研究报告(GB8567...
  • 嵌入式软件开发流程

    万次阅读 2018-05-06 20:16:33
    根据使用的开发工具套件不同,软件开发流程会有差异,但主要步骤大致相同。对于使用宿主机(PC)的集成化开发环境,软件开发流程一般包括创建项目、添加文件、编译连接、下载调试等步骤,如下图所示。 图1:...

    根据使用的开发工具套件不同,软件开发流程会有差异,但主要步骤大致相同。对于使用宿主机(PC)的集成化开发环境,软件开发流程一般包括创建项目、添加文件、编译连接、下载调试等步骤,如下图所示。

    图1:嵌入式软件开发流程

    (1)创建工程项目:在配置硬件设备和安装软件开发工具后,就可以开始创建工程项目,通常需要选择项目文件的存储位置及目标处理器。

    (2)添加项目文件:开发人员需要创建源程序文件,编写应用程序代码,并添加到工程项目中;还将使用设备驱动程序的库文件,包括启动代码、头文件和一些外设控制函数,甚至中间件(Middleware)等。这些文件也需要添加到项目中。

    (3)配置工程选项:源于硬件设备的多样性和软件工具的复杂性,工程项目提供了不少选项,需要开发人员配置,如输出文件类型和位置、编译选项和优化类型等,还要根据选用的开发板和在线仿真器,配置代码调试和下载选项等。

    (4)交叉编译连接:利用开发软件工具对项目的多个文件分别编译,生成相应的目标文件,然后连接生成最终的可执行文件映像,以下载到目标设备的文件格式保存。如果编译连接有错误,返回修改;如果没有错误,先进行软件模拟运行和调试,再下载到开发板运行和调试。

    (5)程序下载:目前,绝大多数微控制器都使用闪存(Flash Memory)保存程序。创建可执行文件映像后,需要使用在线仿真器(或串口、网口)将其下载到微控制器的闪存中,实现闪存的编程;还可以将可执行文件下载到SRAM中运行。

    (6)运行和调试:程序下载后,可以启动运行,看是否正常工作。如果有问题,连接在线仿真器,借助软件开发工具的调试环境进行断点和单步调试,观察程序操作的详细过程。如果应用程序运行有错误,返回修改。

    展开全文
  • 软件开发书籍推荐

    万次阅读 多人点赞 2017-08-30 09:01:05
    软件开发书籍推荐学而不码则罔,码而不学则殆。针对软件开发(语言C++、Java、Python,平台:Android),推荐一份能修炼内功提高编程素养的书单。 难度等级1~5:1级最容易,5级最难 重点推荐:《代码大全2》+《重构...

    软件开发书籍推荐

    学而不码则罔,码而不学则殆。针对软件开发(语言C++、Java、Python,平台:Android),推荐一份能修炼内功提高编程素养的书单。

    难度等级1~5:1级最容易,5级最难
    重点推荐:《代码大全2》+《重构》+《大话设计模式》+《编码》+《深入Java虚拟机(原书第2版)》

    计算机系统

    • 《编码》
      难度:1
      简评:从硬件与软件角度讲述计算机是如何工作的,综合了物理学,电学,电子学,数学等多方面的知识,从亲自组装一个手电筒开始,讲述其工作原理,然后扩展到计算机的基础设施,如何表示信息、存储信息、传输信息,如何进行加减运算等等。总的来说是非常不错的一本计算机工作原理科普书籍。作者亦是大牛,写过《Windows程序设计》这边经典大作,现已经出到第五版了。

    • 《深入理解计算机系统》
      难度:4
      简评:把从输入一行代码到结果输出这一整个过程中计算机在内部做了些什么讲的清清楚楚。

    • 《现代操作系统(第3版)》
      难度:4
      简评:概念讲解得非常到位,比如说讲消费者&生产者模型,讲银行间算法等,有图有代码。最后还分别介绍linux、windows、symbian系统,但symbian已经不再了。

    • 《程序员的自我修养》
      难度:5
      简评:代码是编译之后是如何链接,装载以及运行的,程序员的高级读本

    • 《计算机程序的构造和解释》
      难度:5
      简评:跳过语法、开发环境等杂碎,直接享受纯思维的乐趣,也只有scheme这么纯的语言能够做到:程序抽象、数据抽象、语言抽象、机器抽象,顺带介绍了lambda表达式、流、惰性求值、寄存器、垃圾回收、编译与解释等等概念。当作程序入门读难度有点大,也许《How to Design Programs》更适合担当此任。

    • 《UNIX环境高级编程》
      难度:3
      简评: 条理清晰,钜细靡遗,非常基础的 unix/linux 编程入门书籍。

    软件工程

    • 《代码大全(第2版)》
      难度:3
      简评:叹为观止啊,软件开发之皇皇巨著,面面俱到,所到皆精,真乃《葵花宝典》

    • 《重构》
      难度:2
      简评:从重视码前设计转移到码后重构,这是对软件开发流程的一种更新!代码写出来是给人看的,书中大量实用而有效的技巧对于重新审视现有代码有极大的帮助。

    • 《代码整洁之道》
      难度:2
      简评:重点就是使用各种不同的方法写最简洁的代码实现需要的功能,并且能让易读性、维护性、健壮性丝毫不减弱。

    • 《人月神话》
      难度:4
      简评:“没有银弹”、“人月”均出自作者,全书总结IBM一个大型项目失败的经验教训,提出了概念的完整性/一致性对软件项目成败起着至关重要的作用。此外抨击了外行习惯性以增加人手来来提速的谬误,俗话说:十个孕妇也不可能在一个月生下小孩来。

    • 《大话设计模式》
      难度:5
      简评: 设计模式入门,相当地“大话”,通俗易懂,可以和《Head First Design Pattern》媲美,比经典的《设计模式》要具体易于理解。

    语言

    C++

    • 参考豆列:C/C++从入门到精通
    • 入门: Essential C++,C++Primer,The C++ Programming Language,C++编程思想
    • C语言接口与实现,C++ Templates中文版

    • 中级: C专家编程,Effective C++,More Effective C++,Exceptional C++,More Exceptional C++,Exceptional C++ Style,Effective STL,C++编程惯用法,C++编程规范,老码识途,深入理解计算机系统

    • 高级: 深度探索C++对象模型,C++设计新思维,C++语言的设计和演化,程序员的自我修养

    • Modern C++: 深入理解C++11,Effective Modern C++

    Python

    • 《Python源码剖析》
      难度:4
      简评: 通过对Python内置对象的剖析,对Python虚拟机及Python高级特性的剖析,使人能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术。通过这样的一个剖析过程,了解动态语言为啥动态、为啥解释执行、有何利弊。

    • 《Effective Python》
      难度:3
      简评: 类似《Effective C++》、《Effective Java》之类的技巧型避坑大法。

    Java

    • 《Effective java 中文版(第2版)》
      难度:2
      简评:据说带有 Effective 的编程书都还不错,这本自然不例外,只是翻译欠火候,潘爱民大神为啥不继续翻第二版呢。看完了就觉得真TM和《Effective C#》几乎一个样,box/unbox,hashcode/equals/==,finalize/dispose,泛型容器,并发编程,单例等话题思路如出一辙。推荐开发Java,研究Android的看看。

    • 《深入Java虚拟机(原书第2版)》
      难度:3
      简评:虽然有点老,讲JVM架构这方面的书真心不太多,这本十多年前的书依然是了解JVM不二之选。书中从平台无关、安全以及网络移动性三个方面考量JVM的设计与架构,后面十章是JVM指令的介绍,可作手册,精华在前九章:设计考量(相当于《C++设计与演化》),class格式及其装载、解析,符号链接,垃圾回收策略等等。

    Android

    • 《Android框架揭秘》
      难度:4
      简评:对比过《深入理解Android》等书籍,还是觉得这本书讲得有体系,透彻,著书的非常用心

    • 《Android系统源代码情景分析》
      难度:5
      简评:这是讲解 Android IPC 通信最牛X的书,没有之一,作者花了小半的篇幅来透彻讲解Binder。注意这本书讲得相对底层,framework 层涉及的都不太多的。

    其他

    • 《Pro Git》
      难度:3
      简评:由 Git 开发人员所写,真正的深入浅出,从入门到进阶,有中译本。
    展开全文
  • Android软件开发之获取通讯录联系人信息

    千次下载 热门讨论 2011-08-29 22:49:36
    雨松MOMO带你做软件 Android软件开发之获取通讯录联系人信息 哇咔咔~~
  • 软件开发常见的开发方向

    千次阅读 2019-05-11 16:01:58
    说起软件开发,现在是无人不知,无人不晓。好多人可能以为软件开发就是做一样工作的,其实不然,软件开发也分很多种类型,很多方向。做为一个过来人,简单介绍一些常见的开发方向。 1.桌面程序:Java、C++、C#、VB、...
  • Scrum敏捷软件开发

    千次下载 热门讨论 2015-10-11 10:30:25
    Scrum敏捷软件开发 中文版 要了解敏捷开发的朋友可以看看
  • 软件开发管理与质量控制

    万次阅读 2018-11-12 19:51:48
    软件开发管理与质量控制
  • 软件开发计划表

    热门讨论 2014-07-25 16:21:00
    软件开发计划进度表,该计划表适合所有行业。该计划表属于一个套用模板,只需要修改部分即可使用,节省时间,计划一目了然,并能高效管理员产品、任务,提高工作效率。希望能帮组所有需要管理项目的朋友,^_^!
  • 软件开发需要学什么?

    万次阅读 多人点赞 2019-05-20 17:07:37
    很多想学软件开发的同学都在问学软件开发需要学什么,今天小编特意咨询了北大青鸟信狮教育软件开发专业的老师,老师是这样说的:软件开发目前涵盖的领域还是比较广泛的,不同的开发方向需要掌握不同的知识结构,开发...
  • 20个软件开发常用设计文档大全

    千次下载 热门讨论 2012-12-24 14:52:49
    20个软件开发常用设计文档大全
  • 软件开发模式之敏捷开发(scrum)

    万次阅读 多人点赞 2018-08-08 19:18:20
    简介 这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发... 敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。 在敏捷开发中,软件项目在构建初期被...
  • Head First软件开发.pdf

    千次下载 热门讨论 2012-11-19 11:46:11
    《Head First软件开发(中文版)》内容包括:伟大的软件开发:让客户满意、收集需求:知道客户需要什么、项目规划:为成功而筹划、使用情节和任务:开始你实际的工作、足够好的设计:以良好的设计完成工作、构建你的...
  • 软件开发文档大全

    千次下载 热门讨论 2006-12-31 10:48:22
    包括了软件开发过程中的各类文档的模版
  • 软件开发过程文档

    千次下载 热门讨论 2008-04-14 07:51:39
    包含所有软件开发的文档模板,具体如下: 测试用例编写规范.doc 概要设计说明书编写规范.doc 计算机源代码编写规范.doc 开发大纲.doc 配置管理规范.doc 配置管理计划编写规范.doc 软件测试计划...
  • 软件开发阶段及其文档简述

    千次阅读 热门讨论 2015-08-16 22:00:30
    众所周知,软件开发是一个严格的过程,其严格性体现在哪呢?  它体现在软件开发过程中不同阶段的各个文档上,软件开发是一个文档驱动的过程,每一阶段都有不同的文档与其对应。那么软件开发到底分为几个阶段呢?每...
  • 软件开发中常见的开发模型

    千次阅读 2018-04-26 17:04:13
    软件开发模型是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,...
  • 软件开发环境简介

    千次阅读 2019-05-26 11:24:00
    软件开发环境SDE(Software Development Environment)是指在基本硬件和宿主软件的基础上,为支持系统软件和应用程序的工程化开发和维护而使用的一组软件。在实际软件开发过程中一般包含三个阶段:开发—>测试—&...
  • 软件开发的一般流程

    千次阅读 2016-11-10 19:47:55
    软件开发流程 (可说明软件的开发流程包括几个阶段,每个阶段做什么任务,出什么文档) 软件开发一般分为五个阶段: 1.问题的定义及规划 此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。...
  • 详谈软件工程之软件开发方法(一)

    千次阅读 多人点赞 2019-08-16 14:52:16
    详谈软件工程之软件开发方法(一)一、软件开发方法1、结构化法:2、面向对象方法:3、面向服务方法:4、原型法: 其适用于需求不明确的场景,包括抛弃型原型和演变型原型。二、软件开发模型1、瀑布模型:2、增量与...
  • 软件开发工作的绩效评估

    万次阅读 2018-06-01 15:37:08
    从事着管理软件开发相关的工作若干年头,服务过的企业也不少,或在实业型大公司的信息部,或大中型科技公司、或创业型软件公司,也有自己组团队从事外包项目的开发工作经验,全部过程都围绕着软件项目设计开发、实施...
  • 20天搞定iPhone软件开发

    热门讨论 2012-11-17 14:26:19
    20天搞定iPhone软件开发(一天一讲,20天轻松搞定iPhone开发) 一款介绍新书的文档,从目录来看,作者确认给出了许多让初学者学习苹果应用开发的建议,从举例章节来看,每一讲内容上应该都比较照顾初学者。值得一读...
  • 软件开发文档总结

    千次阅读 2015-11-01 21:06:40
    前言:  最近一个多星期都写在文档,刚开始写文档... 软件开发文档是软件开发和维护过程中的必备资料。它能提高软件的开发效率,保证软件的质量,而且在软件的使用过程中有指导、帮助、解惑的作用。尤其是在维护阶段
  • 软件开发方法 软件开发方法是一种使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。 结构化方法 结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流的开发方法。结构化分析...
  • Scrum敏捷软件开发中文版

    热门讨论 2015-02-22 11:44:34
    这本书是Scrum敏捷软件开发的中文译版英文书名为 Succeeding with Agile:Software Development Using Scrum 作者Mike Cohn 是软件开发项目管理的经典书籍
  • 软件开发阶段及软件进度表模板

    热门讨论 2015-03-04 18:33:37
    软件开发阶段及软件进度表模板,用于项目管理,项目控制
  • 移动软件开发定制那些事

    千次阅读 2019-03-19 16:17:41
    随着移动互联网时代的发展,近些年,移动应用开发或移动端软件开发成为软件行业发展的一大趋势。但对软件开发公司来说,移动应用开发相比普通的PC端软件系统开发更复杂。下面,为大家介绍下关于移动端软件开发的那些...
  • 软件开发流程与模式

    万次阅读 2018-01-26 10:18:33
    软件开发角色与流程软件生命周期: 制定计划,需求分析,设计,编码实现,测试,运行维护模型与演进主要模型介绍1. 边做边改模型(Build-and-Fix Model) 其实现在许多产品实际都是使用的“边做边改”模型来开发的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,202,596
精华内容 881,038
关键字:

软件开发