1.序列图(sequence diagram)
1.1参考网站
https://creately.com/blog/diagrams/sequence-diagram-tutorial/
https://www.visual-paradigm.com/VPGallery/diagrams/Sequence.html
https://www.smartdraw.com/sequence-diagram/
1.2名词解释
What is a sequence diagram
Sequence diagrams are commonly used by developers to model the interaction between objects in a single use case. They illustrate how different parts of the system interact with each other to perform functions, and the order in which interactions occur when specific use cases are executed. In simpler terms, sequence diagrams show different parts of the system to “sequence” something.
Sequence diagram symbols
The sequence diagram is structured to represent a timeline that starts at the top and descends gradually to mark the interaction sequence. Each object has a column, and the messages exchanged between them are represented by arrows.
什么是序列图:
开发人员常用的序列图对单个用例中对象之间的交互进行建模。它们说明了系统的不同部分如何相互交互以执行函数,以及执行特定用例时交互发生的顺序。用更简单的话说,序列图显示系统的不同部分以"序列"完成某项工作。
序列图符号
序列图的结构方式是表示从顶部开始并逐渐下降以标记交互序列的时间线。每个对象都有一列,它们之间交换的消息由箭头表示。
序列图各个部分的快速概述:
生命线表示法
序列图由几个生命线符号(这些符号)为两者,这些符号应水平排列在关系图的顶部。任何两个生命线符号都不应相互重叠。它们表示序列中系统中相互交互的不同对象或部件。当特定序列图归用例所有时,使用具有执行组件元素符号的生命线表示法。
激活栏
激活栏是放置在生命线上的框。它用于指示对象在两个对象之间的交互期间处于活动状态(或实例化)。矩形的长度指示对象保持活动状态的持续时间。在序列图中,当一个对象向另一个对象发送消息时,将发生两个对象之间的交互。在消息调用方(发送消息的对象)和消息接收器(接收消息的对象)的生命线上使用激活栏,表明两者都在消息交换期间处于活动状态/实例化。
1.3项目联系
该图为我们组的序列图,我们组的序列图中包含有客户,管理员,房东三个角色,客户需要登录才能使用系统中的预约看房功能,登录后会返回成功或失败的信息。房东发布房源后若有不正常的信息,管理员会调整相关信息并通知房东。用户登陆后预约看房后会返回预约信息,返回预约成功信息后会返回提醒信息给房东。
2.需求基线(requirements baseline)
2.1参考网站
https://www.jamasoftware.com/blog/defining-requirement-baseline/
https://security.georgetown.edu/config-mgt-policy/baseline-config-guidelines/
https://www.ibm.com/support/knowledgecenter/en/SSYQBZ_9.6.1/com.ibm.doors.administering.doc/topics/c_aboutbaselines.html
2.2名词解释
A requirements baseline is a timely snapshot that represents a set of requirements for a specific product release that has been committed, reviewed, and approved.
This “release” may be a complete deliverable or any interim development increment for the product. When stakeholders “sign off” requirements, what they really do is agree and commit to specific requirements Benchmarks (whether or not they are considering them in these terms or not).
需求基准是及时的快照,代表已承诺,已审核和已批准的特定产品版本的一组需求。
该“发布”可能是完整的交付产品,也可能是该产品的任何中期开发增量。当利益相关者“签署”需求时,他们真正在做的就是同意并致力于特定的需求基准(无论他们是否以这些术语考虑)。
一旦项目团队建立了需求基准,团队就应遵循务实的变更控制流程,以就添加新请求的功能以及更改或删除现有需求做出良好的业务和技术决策。
变更控制过程与扼杀变更无关。这是为决策者提供信息,使他们能够及时,适当地做出决定,以修改计划的功能。计划的功能是基准。
通常,还给基线指定了唯一的名称,以便所有项目参与者都可以明确地引用它。良好的配置管理实践使团队可以准确地重建任何先前的基准及其所有组件。
范围定义将内容区分是什么,而需求基线则仅明确标识项目将要实施的那些需求规范。基线不是有形项目,而是已定义的项目列表。一个可能的存储位置是软件需求规范(SRS)文档。
如果该SRS文档仅包含(以及全部)特定产品版本的要求,则SRS构成该版本的要求基线。但是,SRS文档可能包括其他优先级较低的要求,这些要求将在以后的发行版中发布。
相反,一个大型项目可能需要几个软件,硬件和接口要求规范,才能完全定义基线的组件。目的是使项目干系人对即将发布的发行版有确切的了解。
也许您是将需求存储在需求管理解决方案中,而不是文档中。在这种情况下,您可以将基准定义为针对给定发行版计划的数据库中存储的需求的特定子集。
2.3项目联系
在我们小组的开发的租房系统中,我们项目的需求基线要求项目雏形就必须要实现以下的功能。
房屋管理功能:房屋管理这一模块包括房屋信息管理和房屋租赁管理。房屋信息管理中包括了房屋的添加、删除与更新操作。房屋在添加后上传到app后,若长达一年时间无人租用,系统将会自动下架。房屋的添加可以设置两种租金,一种是单租租金,一种是合租租金,合租租金一般大于单租租金。房屋租赁管理模块中实现用户的租房与退房等功能。进行房屋租赁操作时,需要查看当前房源是否处于流通状态(就是有人预约看房的意思)、是否有房以及是否有人预订等。
房屋查询功能:房屋查询提供用户与系统查询房屋的功能,放阔对房屋类型、房屋装修类型、房屋区域、房屋面积、房屋价位的查询等。
用户管理功能:这一功能包括了添加用户、删除用户、查询用户相关信息。
用户个人信息管理:个人信息管理实现用户注册和登录身份验证,查看个人信息,修改个人信息的功能。
房屋租用管理以及合租管理功能:房屋租用管理模块中可以实现当前租赁信息中续租房屋、在房屋预订信息中可以查看当前所预订房屋的状态,并可以取消当前预订的房屋等功能。合租管理功能可以实现在预约合租房屋信息中可以查看当前所预订房屋相关信息,并可以取消当前预订的合租房屋等功能。
用户信息查询功能:用户在点击房屋信息时,会有所属房东的id,点击房东id便会显示房东相关详细信息(用户名,性别,电话号码,信誉度)。房东成功租房后,在已租出房间信息页面中会有租户id,点击租户id便会显示租户相关详细信息(用户名,性别,电话号码,信誉度)。
合租功能:用户看中某间房子后,点击合租按钮,系统会根据信誉度以及用户在交了一定的租金之后决定是否将房屋信息便会存到合租信息表中。房东设置的合租租金大于单人租金,合租人数的设置根据房间人数来设置,租户在付了平分后的合租租金即可入住。
3.性能要求(performance requirement)
3.1参考网站
https://www.ibm.com/support/knowledgecenter/en/ssw_aix_71/performance/doc_perf_reqs.html
https://checkpointech.com/what-performance-requirements/
http://agileload.com/agileload/blog/2012/11/16/performance-testing-requirements-gathering—whitepaper
3.2名词解释
For each different type of user computer interaction, the maximum satisfactory response time to be experienced most of the time, and the definition of most time. The response time starts from the time when the user performs the action of saying “go” until the user receives enough feedback from the computer to continue the task. This is the user’s subjective waiting time. It doesn’t go from the entry to the subroutine until the first write statement.
If the user refuses to be interested in the response time and indicates that he is only interested in the results, he can ask if “ten times the current estimate of the independent execution time” is acceptable. If the answer is “yes,” you can continue to discuss throughput. Otherwise, you can continue to discuss response time with the user’s concentration.
在确定和量化性能需求时,重要的是要确定特定需求背后的原因。这是一般能力计划过程的一部分。用户可能将其要求的陈述基于与程序员的假设不符的关于程序逻辑的假设。
至少,一组性能要求应记录以下内容:
对于每种不同类型的用户-计算机交互,大部分时间要经历的最大满意响应时间,以及大多数时间的定义。响应时间是从用户执行说“ Go”的动作的时间开始,直到用户从计算机接收到足够的反馈以继续执行任务为止的时间。这是用户的主观等待时间。直到第一个write语句,它才从入口到子例程。
如果用户拒绝对响应时间感兴趣,并指出仅对结果感兴趣,则可以询问“独立执行时间的当前估计的十倍”是否可以接受。如果答案为“是”,则可以继续讨论吞吐量。否则,您可以在用户的全神贯注下继续讨论响应时间。
其余时间最少可接受的响应时间。较长的响应时间可能导致用户认为系统已关闭。您还需要指定其余时间;例如一天的高峰时间,即互动的1%。在一天中的特定时间,响应时间的降低可能会更加昂贵或痛苦。
典型的吞吐量及其所需的时间。这不是一个偶然的考虑。例如,一个程序的要求可能是每天运行两次:上午10:00和下午3:15。如果这是受CPU限制的程序,可以运行15分钟,并计划在多用户系统上运行,需要进行一些谈判。
最大吞吐量周期的大小和时间。
预期的请求混合以及混合随时间的变化。
如果是多用户应用程序,则每台计算机的用户数和用户总数。此描述应包括这些用户登录和注销的时间,以及他们假定的击键率,完成的请求和思考时间。您可能想调查思考时间是否随先前和之后的请求而系统地变化。
用户对将要运行工作负载的计算机的任何假设。如果用户考虑到特定的现有计算机,请确保您早日知道。同样,如果用户假设使用特定的类型,大小,成本,位置,互连或任何其他变量来限制您满足前述要求的能力,则该假设也将成为要求的一部分。在开发,测试或首次安装程序的系统上,可能无法评估满意度。
3.3项目联系
在每一个软件项目中,系统的性能都是必须要考虑的,为此我们需要为性能考虑最低的要求,下面是我们组租房系统的性能要求。性能要求:在95%的情况下,一般时段响应时间不超过1.5秒,高峰时段不超过4秒。定位系统从点击到第一个界面显示出来所需要的时间不得超过300毫秒。在网络畅通时,拨号连接GPRS网络所需时间不得超过5秒。
4.系统边界(system boundary)
4.1参考网站
https://www.sciencedirect.com/topics/agricultural-and-biological-sciences/system-boundary
https://chem.libretexts.org/Bookshelves/Physical_and_Theoretical_Chemistry_Textbook_Maps/DeVoes_Thermodynamics_and_Chemistry/02%3A_Systems_and_Their_Properties/21_The_System%2C_Surroundings%2C_and_Boundary
https://www.answers.com/Q/What_is_a_system_boundary
4.2名词解释
Establishing the system boundary of analysis refers to determining and proving which aspects of the product life cycle should be included in the life cycle assessment study (ISO, 2006). At least the systematic importance of considering a range of variables and their potential impacts on the decision-making should be understood from the perspective of the potential impact of a range of research activities on sustainability.
建立分析的系统边界是指确定和证明产品生命周期的哪些方面应纳入生命周期评估研究(ISO,2006年)。由于具体活动及其相关的资源使用和排放概况对研究报告中可能审议的一系列潜在影响指标具有可变的重要性,系统边界决策至少应部分地从感兴趣的特定可持续性影响中了解。对于侧重于营养考虑与可持续性影响(包括人类健康)之间潜在相互作用的研究,必须确保建立系统边界,以便包括与其中一种或一种关切有关的所有生命周期活动。例如,从资源使用或温室气体排放的角度来看,列入作物农业中某些农药的少量投入可能并不重要,但必须包括用于评估潜在的人类和生态系统毒性影响。在这方面,LCA中的截止标准概念特别重要,它指的是排除边际重要性流动的既定阈值。
4.3项目联系
系统的边界在任何项目中都是必须要考虑得,在我们的租房系统项目中也不例外,如果边界划定得太窄。一些对系统行为有显著影响的因素未被认真分析和对待,系统就可能产生令你意想不到的行为。就是我们常说的“副作用”。如果边界划分过大。一味地想着“我的模型比你的大”,最后结果堆积了大量的信息,除了浪费了精力,也容易遮掩问题的真实答案。如你需要考虑家门口的河流治理问题,只需要考虑这条河的上游下游,以及河流两岸的土壤和地下水,而就不需要考虑其他河流的影响,或者考虑地球水循环的问题。这显然是浪费精力。
5.异步动作(asynchronous action)
5.1参考网站
https://mobx-state-tree.js.org/concepts/async-actions
https://blog.logrocket.com/managing-asynchronous-actions-in-redux-1bc7d28a00c6/
https://docs.microsoft.com/en-us/aspnet/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4
5.2名词解释
In web applications, when you see a large number of concurrent requests or load bursts (the concurrency suddenly increases), making web service call asynchronous will increase the response ability of the application. Asynchronous requests take the same time to process as synchronous requests. If a request makes a web service call that takes two seconds to complete, the request takes two seconds, whether synchronous or asynchronous. However, during an asynchronous call, the thread is not prevented from responding to other requests, waiting for the first request to complete. Therefore, when asynchronous requests prevent the growth of the request queue and thread pool, there are many concurrent requests calling long-running operations.
在 Web 应用中,在启动时看到大量并发请求或负载突发(并发性突然增加),使 Web 服务调用异步会增加应用的响应能力。异步请求处理的时间与同步请求相同。如果请求进行需要两秒钟才能完成的 Web 服务调用,则请求需要两秒钟的时间,无论是同步执行还是异步执行。但是,在异步调用期间,线程不会被阻止响应其他请求,而等待第一个请求完成。因此,异步请求阻止请求队列和线程池增长时,有许多并发请求调用长时间运行的操作。
选择同步或异步操作方法
通常,对以下条件使用同步方法:
操作简单或短运行。
简单比效率更重要。
操作主要是 CPU 操作,而不是涉及大量磁盘或网络开销的操作。在 CPU 绑定操作上使用异步操作方法不会带来任何好处,并会导致更多的开销。
通常,对以下条件使用异步方法:
您调用的服务可以通过异步方法使用,并且使用 .NET 4.5 或更高版本。
操作是网络绑定或 I/O 绑定,而不是 CPU 绑定。
并行性比代码的简单性更重要。
您希望提供一种允许用户取消长时间运行的请求的机制。
当切换线程的好处大于上下文切换的成本时。通常,如果同步方法在请求线程上等待,而不执行任何操作,ASP.NET方法是异步的。通过将调用异步化,ASP.NET请求线程不会停止,在等待 Web 服务请求完成时不执行任何工作。
测试表明,阻塞操作是站点性能的瓶颈,IIS 可以通过异步方法为这些阻塞调用提供更多请求。
5.3项目联系
在我们的租房系统中也用到了异步方法,系统的异步进程在任何项目中都是必须要考虑得,在我们的租房系统项目中也不例外,通过异步进程这一重要因素可以加快系统页面的加载速度,给用户提供更好的体验。
6.行为特征(behavioral feature)
6.1参考网站
http://courses.cs.vt.edu/cs3604/support/Groups/First.Characteristics.html
https://www.pointillist.com/blog/behavioral-segmentation/
http://web.cs.wpi.edu/~dcb/Papers/KIC5/KIC5-Features.html
6.2名词解释
What is behavioral segmentation?
Traditional segmentation methods focus on who the customer is and the segmentation is based on demographic attributes (such as gender or age) and company attributes (such as company size or industry). However, as I discussed in my last article on customer behavior data, understanding your customers is not enough. Behavior segmentation means not only to understand customers according to their identities, but also to understand customers according to their behaviors, and to use the insights drawn from customers’ behaviors.
什么是行为细分?
传统的细分方法主要关注客户是谁和细分是基于人口统计属性(例如性别或年龄)以及公司属性(例如公司规模或行业)。但是,正如我在上一篇有关客户行为数据的文章中所讨论的那样,仅了解您的客户是不够的。行为细分是指不仅要根据客户的身份来了解客户,而且要根据客户的行为来了解客户,并使用从客户的行为中得出的见解。
行为细分是客户细分的一种形式,它基于客户在与公司/品牌互动或做出购买决定时显示的行为模式。它允许企业根据他们对产品,服务或品牌的了解,态度,使用或响应,将客户分为几类。
目的是确定使客户了解如何满足一组客户的特定需求或愿望,发现机会以优化他们的客户旅程并量化其对您的业务的潜在价值的客户群。
为什么要按行为细分客户?
根据客户的行为将客户分为不同的细分区域有以下四个主要优点:
个性化。了解在最合适的时间通过首选渠道针对不同客户群提供不同优惠的方式,以有效地帮助他们在旅途中取得成功。
可预测的。使用历史行为模式来预测和影响未来的客户行为和结果。
优先级。通过确定具有最大潜在业务影响的高价值客户群和计划,就如何最佳地分配时间,预算和资源做出更明智的决策。
性能。随时间监控增长模式和关键客户群的变化,以评估业务状况并根据目标跟踪绩效。从高层次上讲,这意味着量化客户细分市场的规模和价值,并跟踪“积极”和“消极”细分市场随着时间增长或萎缩的程度。
6.3项目联系
项目的涉众的特征在任何项目中都是必须要考虑得,在我们的租房系统项目中也不例外,这是我们项目的涉众的行为特征。
租户:有租房需求以及会使用手机软件的用户
房东:拥有多余空闲可用于他人租用的房屋的房东
管理员:可随时修改房东以及租户的使用权限,对租户和房东进行管理
7.二元关联(binary association)
7.1参考网站
https://www.sciencedirect.com/topics/computer-science/binary-association
https://www.dummies.com/business/customers/associations-between-binary-variables/
https://www.uml-diagrams.org/association-reference.html
7.2名词解释
Association is a kind of relationship between classifiers. It is used to indicate that instances of classifiers can be linked to each other or combined into some aggregation logically or