前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Software Engineering Terms Collection 2

Software Engineering Terms Collection 2

作者头像
杨丝儿
发布2022-03-01 10:52:30
2720
发布2022-03-01 10:52:30
举报
文章被收录于专栏:杨丝儿的小站杨丝儿的小站

Abstract

This note collect all terms occur in SEPP Lecture 6/7/9. It would be helpful to recap what has learnt and what has already been abstracted away.

Pool of atomic terms

plan-driven development process, heavy documentation, formal documentation, iteration, agile development process, individual, interaction, working software, customer collaboration, responding to change, design, implementation, unfinished feature, requirement engineering, requirement specification document, omnipresent, details

software project, long-lived system, software product, developing team, small-medium sized system, several potential customer, speedy delivery, feature

elicitation, interview, survey, facilitated meeting, informal user analysis, informal user discussion

persona, personalisation, name, personal circumstance, stock photograph, job, education, background, technical skill, experience, relevance, shared vision, key system feature

scenario, narrative, context, user, perspective of the user, real users, role, responsibility, high-level scenario, use-case scenario, brief statement, overall objective, activity, current system, identified problem, specific details, reality, team member, user, expert, brainstorming, shared understanding, facilitate communication, design creativity, specification

user story, sequence of interaction, format

trade-off, simplicity, functionality, familiarity, novelty, automation, control, feature creep, action, action verbs, phrases, simple list, input, action, output, description, constraint, comment, user needs, options

output, model, UML, Simulink, graphical model, executable model, written document, record reasons, decision, good design, known requirement, future requirements, implementers, existing technology, reusable components, human angle, situation-dependency, OO design, functional design, OO programmer, functional programmer, design choices, future changes, different levels, subsystems, classes, responsibility, interface, message, order

architecture, fundamental influence, non-functional characteristics, non-functional attribute, component, database, maintainability, resilience effect, fundamental organization, software system, component, relationship, environment, principles, design, evolution, related system, named software unit, coherent set of functionality, collection of services, coherent unit of functionality, module, named set of components

architectural design, product lifetime, software reuse, number of users, software compatibility, planned schedule, team capacity, budget, large-scale components, cross-cutting concerns, major concern, complexity, local data, separation of concerns, related functionality, implement once, stable interface

distribution architecture, client-server architecture, web-based software product, mobile software product, client, load balancer, server, web, database, Model-View-Controller pattern, MVC, multi-tier client server architecture, object-oriented approach, shared database, structured data, concurrent update, business system, local servers, service-oriented architecture, change regularly, scalability, resilience to failure, peer to peer architecture, message bus architecture

technological consideration, database, delivery platform, server, open source platform, development technology

detailed design, design principle, class diagram, cohesion, understandability, maintainability, reliability, coupling, abstraction, encapsulation, information hiding, separation of interface, separation of implementation, public interface, decomposition, modularisation

Key linkage between atomic terms

  1. term ‘feature’ aims to distinguish from ‘requirement’ coming from a customer (in software project), but similar in meaning.
  2. personas will overlap, Sommerville advises using max 5 personas.
  3. software product are recommended to use high-level scenario, different to use case scenario.
  4. team member works individually on a subset of scenarios.
  5. get user involved in the development.
  6. Sommerville recommends using 3-4 scenarios/persona.
  7. requirement need to be: independent, coherent, relevant.
  8. user stories may immediately suggest requirements.
  9. start by using product, but then think creatively about other/additional more efficient and interesting options.
  10. design is the process of deciding how software will meet the requirements. Usually exclude detailed coding level.
  11. maintainability vs performance
  12. security vs usability
  13. availability vs time to market and cost
  14. major concern of designing architecture is complexity due to the number of components and their relationship, the latter increasing exponentially.
  15. multi-tier client-server architecture is a client-server system with a shared database.
  16. technologies need to be decided, since architectural design, as changing them later is difficult and expensive.

Rule to categorize atomic terms

  1. How close they link with others.
  2. Are they belong to some existing categories.
  3. No need to explicitly classify all these terms into different groups.

Unfamiliar terms

human angle

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Abstract
  • Pool of atomic terms
  • Key linkage between atomic terms
  • Rule to categorize atomic terms
  • Unfamiliar terms
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档