Terminologies
Artefacts
原意尤指有历史或文化价值的手工艺品,在计算机领域,该词通常用来指代软件开发过程中的各种产物、文档或工件。这些工件包括但不限于代码、文档、测试用例、需求规格说明书、设计图纸、用户界面原型、数据库架构等等。
(Lecture 2)
Prototype / Proof-of-Concept / Skeleton
- 原型是软件系统的初步版本,展示基本功能和用户界面,旨在验证设计选择并从利益相关者那里获得反馈。原型通常快速开发,具有最小的功能,不适用于生产使用,主要用于项目早期阶段,探索设计思路并征求利益相关者 (stakeholder) 的反馈。
- A temporary implementation of some functional subset of the system, often presented to users for feedback and validation, which is then discarded when the validation exercise is complete.
- 概念验证是比原型更完整的软件系统,具有特定目标,即验证特定的设计方法或技术的可行性。它通常用于测试和验证系统的关键组件,并在投入更多资源开发之前识别潜在挑战。概念验证可能包括最终产品的子集,但可能没有针对性能或可扩展性进行优化。
- POC: Some code designed to prove that a risky element of the proposed architecture is feasible and to highlight any problems and pitfalls.
- 骨架是比概念验证更全面的版本,实现的主要目的是作为进一步开发和测试的基础。
- A skeleton implements the system’s main architectural structures but contains only a minimal subset of the system’s functionality. A skeleton system is retained rather than discarded and becomes the basis for the construction phase.
- A skeleton system is sometimes called an “evolutionary prototype”.
Refactoring / Reframing
- Refactoring 指对现有软件代码 (code) 的修改和重构,以提高代码质量、可读性、可维护性、可扩展性和性能等方面的指标,但保持软件功能不变。
- IDEA 的一键修改变量等功能 🧐
- Reframing 指对问题或需求 (requirements) 的重新定义和理解,以不同的视角和角度来描需求,从而更好地理解和满足用户的需求。
(Lecture 3)
User Story
A scenario of use that might be experienced by a system user.
A more natural alternative to “requirements”. Functionality described by the client and quickly estimated by the development team.
从用户的角度来描述用户渴望得到的功能。一个好的用户故事包括三个要素:
- 角色:谁要使用这个功能
- 活动:需要完成什么样的功能
- 商业价值:为什么需要这个功能
E.g., As a site member, I can subscribe to XXX news, so l cam be easily informed.
- 用户故事的描述信息以传统的手写方式写在纸质卡片 (User story index cards)
(Lecture 6)
Stakeholders
项目干系人,利益相关者(与项目是否成功有关联)
- An individual, group, or organization, who may affect, be affected by, or perceive itself to be affected by a decision, activity, or outcome of a project.
- A stakeholder is anyone who has a stake (重大利益;股份) in the success of the system: the customer, the end users, the developers, the project manager, the maintainers, and even those who markets the system for example.
Domain requirements
Domain requirements are derived from the specific application domain of the system rather than from the specific needs of system users.
领域需求,指在软件开发过程中与特定领域相关的需求。
例如,在医疗软件 (e.g. Medical Electrical Equipment) 开发过程中,领域需求可能包括对医疗术语的理解、符合法律法规要求的安全性和隐私性措施、数据处理和记录要求等。