标签:#软件开发

共 49 篇文章

Scrum

Scrum是用於開發、交付和維持錯綜複雜產品 (complex products) 的敏捷框架 (AGILE framework) 。最初著重於軟體開發,之後已被用應用於其他領域,包括研究、銷售、營銷和其他先進技術領域。 一個 Scrum 團隊建議為十名成員的團隊而設計的,他們以迭代 (iterative)與增量 (incremental)式的方式交付工作,每個迭代稱作 Sprint。一個 Sprint 的時間不超過一個月,通常是兩星期…

DevOps

DevOps(Development和Operations的混成詞)是一种重视「软件开发人员(Dev)」和「IT运维技术人员(Ops)」之间沟通合作的文化、运动或慣例。通过自动化「软件交付」和「架构变更」的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。 传统的软件组织将开发、IT运维和质量保障设为各自分离的部门,在这种环境下如何采用新的开发方法(例如敏捷软件开发),是一个重要的课题。按照从前的工作方式,开发和部署,不需要I…

调试

-{zh-cn:调试; zh-tw:除錯或偵錯;}-()是发现和减少计算机程序、软件或软体系统中程序错误的一个过程。 调试包括互动式调试、控制流程分析、单元测试、集成测试、日志文件分析、在应用程序或系统监视器的监控、内存转储以及性能分析。许多编程语言和软件开发工具还提供了用于辅助调试的程序,称为调试工具。 偵錯的基本步骤 发现程序错误的存在。 以隔离、消除的方式对错误进行定位。 确定错误产生的原因。 提出纠正错误的解决办法。 对程序错误…

QtRuby

QtRuby是跨平台的应用程序框架Qt的Ruby綁定版本,包含Qt4和Qt3支持。也是Korundum(KDE API的Ruby綁定)的基礎。 QtRuby使用SMOKE提供语言綁定基礎 除了Linux和Unix,QtRuby也支持Mac OS X操作系統和微軟Windows。 QtRuby的hello world require 'Qt4' app = Qt::Application.new (ARGV) hello = Qt::Pu…

软件开发工具

软件开发工具(,或)为软件开发服务的各种软件和硬件。 软件开发工具根据在不同软件开发生命周期中起到的作用可以分为: 软件建模工具,用于描述系统的需求,辅助设计。 软件实施工具,用于程序设计,编码和编译,包括程序语言开发环境和集成开发环境。前者主要提供程序语言的预编译,编译,链接的工具,后者包括代码编辑器在内的编辑器,代码生成器,运行环境和调试器。 模拟运行平台,用于模拟系统的实际运行环境。 软件测试工具,用于对系统,子系统,模块或单元进…

Monorepo

在版本控制系統中,Monorepo(“mono”意為“單一”,“repo”是“存儲庫”的縮寫)是一種软件開發策略,其中多個项目的代码存儲在同一個代码仓库里面。 這種做法至少可以回溯到 2000 年代初期,當時這種做法通常被稱為共享代码库。 Google, Airbnb, 以及Twitter 所有這些公司都採用非常大的单一仓库(Monorepo),採用不同的策略來擴充具有大量代码和日常改版的建置系統和版本控制工具。 一個相關的概念是龐大应…

Kiwix

Kiwix是一款自由开源的离线浏览器,由Emmanuel Engelhart和Renaud Gaudin于2007年创建。它最初推出时用于离线访问维基百科,但后来扩展到包括维基媒体基金会的其他项目、古腾堡计划的公共领域文本、Stack Exchange站点等许多资源。目前已经涵盖超过100多种语言。 概述 Kiwix用于在没有互联网连接、接入过慢、网络受到审查等情况下正常访问网页内容。 用户需要安装客户端或浏览器扩展,并预先下载内容,随…

軟體組建

在計算機科學中,軟體組建(,又譯為軟體构建、軟體構築),意指由原始碼檔案轉換成可以在電腦上執行的軟體這中間的過程,或是轉換後的結果。軟體組建中最重要的一個步驟,就是由原始碼轉換為可執行機器碼這之間的編譯過程。為了進行版本控制,在執行完軟體組建,之後釋出的軟體程式,通常會給與一個軟體版本號。 相關條目 *組建自動化 参考文献

软件开发

软件开发()是设计、创建、测试和维护软件应用程序以满足特定用户需求或业务目标的过程。软件开发的范畴超越了单纯的编程或编写源代码,涵盖了构想目标、评估可行性、分析软件需求、设计、测试与发布等完整环节。该过程是软件工程的组成部分,后者还包括组织管理、项目管理与配置管理等内容。 软件开发涉及众多技能与职业分工,包括编程、测试、文档编写、图形设计、用户支持、市场营销以及资金募集等。常用的工具类型有编译器、集成开发环境(IDE)和版本控制系统。 …

能力成熟度模型集成

能力成熟度模型集成(,简称CMMI)是一种改进过程的方法,其目的是协助提升组织的绩效。CMMI可用来引导一整个项目、一整个部门乃至一个完整的组织的过程改进。在软件工程和组织发展的领域中,CMMI能够向组织提供用于有效的过程改进的基本元素。CMMI由卡内基梅隆大学在美国专利和商标局(英文:U.S. Patent and Trademark Office)注册。 按照(简写:SEI,2008)说法,CMMI能够协助“集成传统独立的组织功能,…

CI/CD

在软件工程中,CI/CD或CICD通常指的是持续集成()和持续交付()或持續部署()的组合实践。CI/CD通过在应用程序的构建、测试和部署中实施自动化,在开发和运营团队之间架起了桥梁。 现代DevOps实践涉及软件应用程序在整个开发生命周期内的持续开发、持续测试、持续集成、持续部署和持续监控。CI/CD实践或CI/CD管道(CI/CD pipeline)构成了现代DevOps业务的主干。 组成 ;持续集成:将多个小的变更频繁合并到主分支…

軟體開發工作量預估

软件开发的工作量預估是預估軟體開發或維護所需要的工作量(會以人以及工時或是金錢來表示),其參考輸入多半是不完整、不可靠,並且帶有雜訊的資訊。工作量預估可以是專案計劃、迭代計劃、預算、投資分析、定價流程或競標的輸入。 現行實務 有關預估實務的問卷指出,在預估工作量時,仍建議用專家預估為主要的作法。 一般而言,工作量預估往往會過於樂觀,會明顯的過度自信。最後的平均工作量會超過30%,而且不會隨時間而減少。不過,有關預估量誤差的量測有很多的問…

结构化编程

結構化程式設計(),一種編程典範。它採用子程序、块结构、for迴圈以及while迴圈等結構,來取代傳統的 goto。希望藉此來改善计算机程序的明晰性、品質以及開發時間,並且避免寫出麵條式代碼。 結構化程式設計在1960年代開始發展,及朱塞佩·賈可皮尼(Giuseppe Jacopini)於1966年5月在《Communications of the ACM》期刊發表論文,說明任何一個有goto指令的程式,可以改為完全不使用goto指令的…

软件组件

软件组件是軟體裡封裝特定功能(关注点分离)的模組單位。 以下也是一些模組的理想屬性: 內聚性 封裝相關子程序 可重用性 穩健性 可取代性 可以用另一個相同介面的組件取代 具有软件文档 可測試 第三方組件 有些組件是由開發軟體系統的公司,甚至是同一組織所開發,有些則是,由其他單位開發,要整合到系統中。 實務和開發模式 基于组件的软件工程 大型系統中,基于组件的软件工程會鼓勵嚴謹的流程,以管理。 -==框架=== 有些組件符合特定框架技術,…

软件架构

软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。软件架构會包括軟體組件、組件之間的關係,組件特性以及組件間關係的特性。软件架构可以和建筑物的架构相比拟。软件架构是构建计算机软件,開發系統以及計劃進行的基础,可以列出開發團隊需要完成的任務。 软件架构是在軟體的基礎架構上進行決策,決定後再做修改的代價很大。软件架构中的決策包括在軟體設計時的一些特殊結構性選項,例如要控制太空船登陸艇的系統需要快速而且可靠,因此…

分叉 (软件开发)

演化的时间线图,图上每个分支的起始端都称为一次“分叉”]] 分叉(,又译作衍生、分支)是一个软件工程名词,表示开发者从一个软件包中获取了源代码的拷贝,并开始独立开发,建立了另一个独立的软件。 这个术语不只意味着版本控制上的新开发分支,往往还表示开发人员社区的分裂,是一种意识形式的分裂。分叉的原因一般是用户偏好不同或原始软件的开发已经停滞或停止。 根据自由及开放源代码软件的定义,这些软件可以在未经事先许可的情况下,从原始开发团队分叉,并且…

面向对象程序设计

物件導向程式設計(,缩写:)是種具有物件概念的程式設計典範,同时也是一种程式开发的抽象方针。它可能包含資料、特性、程式碼與方法。对象則指的是類別(class)的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,物件裡的程序可以訪問及經常修改物件相關聯的資料。在物件導向程式編程裡,電腦程式會被設計成彼此相關的物件。 面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统…

软件开发过程

软件开发过程(),或软件过程(),是软件开发的生命周期(),其各个阶段实现了软件的需求定义与分析、设计、实现、测试、交付和维护。软件过程是在开发与构建系统时应遵循的步骤,是软件开发的路线图。 软件过程方法涉及交付()和工件()的预定义、软件产品在项目团队中的开发与维护。过程方法的应用可以完善软件设计、和项目管理。敏捷开发是现代软件开发中被广泛使用的范式。过程模型()则意图解决软件过程中的混乱,将软件开发过程中的沟通、计划、建模、和部署等…

模型驱动工程

模型驱动工程(MDE, Model-Driven Engineering)是软件工程的一个分支,它将模型与建模拓展到软件开发的所有方面,形成一个多维建模空间,从而将工程活动建立在这些模型的映射和转换之上。 MDE的基本原则是将模型视为第一实体,将所有软件产物当做模型或模型要素。 背景 在计算机应用领域,“模型驱动”(model-driven)概念在国际上的广泛关注,主要是在对象管理组织(OMG)2002年提出的“模型驱动架构”(MDA)…