2024软件工程第一次作业

communication tasks

  1. Set a project (can use the project I give in the class in the file), then try to develop a set of actions for the communication activity. Select one action and define a task set for it.
    1.设置一个项目(可以使用我上课在文件中给出的项目),然后尝试为交流活动开发一组操作。选择一个操作并为其定义任务集。
    Answer:
    Taking the development of image browsing software as an example,,a requirements gathering is an essential software engineering action for the communication activity.
    A task set defines the actual work to be done to accomplish the objectives of a software engineering action.
    The requirement gathering task set for communication activity follows:
    • Create a list of stakeholders for the project.
    • Interview each stakeholder individually to verify overall needs and requirements.
    • Construct a preface list of features and functions based on stakeholder input.
    • Schedule series of facilitated requirements gathering meetings.
    • Conduct meetings.
    • Generate informal user scenarios as part of each meeting.
    • Improve user scenarios as a part of each meeting and the stake holder’s feedback.
    • Construct adjust list of stakeholder requirements.
    • Apply quality function deployment techniques to prioritize requirements.
    • Package requirements so that they can be delivered incrementally
    • Note constraints and restrictions that will be placed on the system.
    • Discuss method for validating the system.
    答:
    以开发图像浏览软件为例,需求收集是通信活动中必不可少的软件工程操作。
    任务集定义了为实现软件工程操作的目标而要做的实际工作。
    通信活动的需求收集任务集如下:
    •为项目创建利益相关者列表。
    •单独采访每个利益相关者,以验证总体需求和要求。
    •根据利益相关者的输入,构建一个特征和功能的序列表。
    •安排一系列方便的需求收集会议。
    •召开会议。
    •在每次会议中生成非正式的用户场景。
    •作为每次会议和利益相关者反馈的一部分,改进用户场景。
    •编制利益相关者要求的调整清单。
    •应用质量功能部署技术来确定需求的优先级。
    •包装要求,以便可以增量交付
    •注意将对系统施加的约束和限制。
    •讨论验证系统的方法。

process patterns(stage pattern)

  1. A common problem during communication occurs when you encounter two stakeholders who have conflicting ideas about what the software should be. That is, you have mutually conflicting requirements. Develop a process pattern(this would be a stage pattern) using the template presented in Section 3.4 that addressed this problem and suggest an effective approach to it.
    2.在沟通过程中,当你遇到两个利益相关者对软件应该是什么有冲突的想法时,就会出现一个常见的问题。也就是说,你们有相互冲突的需求。使用第3.4节中提出的模板开发一个过程模式(这将是一个阶段模式),该模板解决了这个问题,并提出了一种有效的方法。
    Answer:
    When stakeholders have conflicting, the following process pattern describes an approach about what the software should be
    Pattern name: Conflicting Requirements
    Intent: This pattern describes an approach for identifying and making a list of the requirements specified by the stakeholders.
    Type: Stage pattern.
    Initial context:
    The following conditions must be met prior to the initiation of this pattern.
  2. Stake holders have been identified;
  3. A mode of communication between stakeholders and the software team has been established;
  4. The overriding software problem to be solved has been identified by stakeholders;Problem: Requirements of the two stakeholders are conflicting. There is a clear recognition of the requirements but, the ideas of the stakeholders are not the same. No clear idea of what the software should be.
    Solution: Evolutionary process models are used to solve this problem. The evolutionary process models recognize the iterative incremental nature of the project and are designed to accommodate the changes. As the requirements are conflicting, a preliminary list of functions and features based on stakeholder input is built. The pattern is built according to the basic requirements. And then the changes are accommodated using the evolutionary models.Resulting context: A software prototype that identifies basic requirements is approved by the stakeholders. The prototype is built and changes are made, if needed. Or the pattern will be rejected and a new pattern with new features is developed.
    Related patterns:
    Customer Communication,
    Customer Assessment,
    Requirements Gathering,
    Constraint Description.
    Known uses and examples. This pattern is needed when the requirements are uncertain and conflicting.
    答:
    当利益相关者发生冲突时,以下流程模式描述了一种方法关于软件应该是什么:
    模式名称:冲突的要求
    意图:此模式描述了一种方法,用于识别和列出利益相关者指定的需求。
    类型:阶段模式。
    在启动此模式之前,必须满足以下条件。
    1.已确定利益相关者;
    2.建立了利益相关者与软件团队之间的沟通模式;
    3.利益相关者已经确定了需要解决的首要软件问题;问题:两个利益相关者的要求相互冲突。对需求有明确的认识,但利益相关者的想法并不相同。不清楚软件应该是什么。
    解决方案:使用演化过程模型来解决这个问题。演化过程模型认识到项目的迭代增量性质,并被设计为适应这些变化。由于需求相互冲突,因此基于利益相关者的输入构建了一个功能和特性的初步列表。模式是根据基本要求构建的。然后使用演化模型来适应这些变化。结果:确定基本需求的软件原型得到利益相关者的批准。原型已经建立,如果需要,还会进行更改。否则,该模式将被弃用,并开发出具有新功能的新模式。
    相关模式:
    客户沟通,客户评估,需求收集,约束描述。
    已知用途和示例。当需求不确定和冲突时,需要这种模式。

prototyping model

  1. Provide three examples of software projects that would be amenable to the prototyping model. Be specific.
    3.提供三个适用于原型模型的软件项目示例。具体一点。
    Answer:
    Software applications that are relatively easy to prototype almost always involve human-machine interaction.
    When the customer has a legitimate need but is clueless about the details then develop a prototype as a first step. A customer defines a set of general objectives. For these applications that are amenable to prototyping are certain classes of mathematical algorithms, subset of command driven systems and other applications where results can be easily examined without real-time interaction.
    Example software projects for prototyping.
    ① A shopping mall website. You can use website prototyping tools such as Axure RP, Sketch, Adobe XD, or Figma to create page layouts, interactive elements, and user processes. The design team collaborates with stakeholders to validate the design by sketching and creating interactive prototypes.
    ② Academic Affairs System Website. Perhaps the school does not know what function it really needs, for example, when querying the schedule, it may not have the function of querying according to the teacher’s name, but after developing the prototype, the school also proposed this requirement.
    ③ Home security system website. The customer is unaware that they want to adjust the camera angle and track objects until they see the prototype.
    These projects are not suitable for waterfall models because customers do not know what they want.
    答:
    相对容易原型化的软件应用程序几乎总是涉及人机交互。
    当客户有合法的需求,但对细节一无所知时,第一步就是开发原型。客户定义了一组总体目标。对于这些适用于原型设计的应用程序,是某些类别的数学算法、命令驱动系统的子集和其他应用程序,在这些应用程序中,可以在没有实时交互的情况下轻松检查结果。以下是用于原型设计的示例软件项目:
    ①购物商城网站。可以使用网站原型设计工具,如Axure RP、Sketch、Adobe XD或Figma来创建页面布局、交互元素和用户流程。设计团队通过绘制草图和创建可交互的原型,与利益相关者合作验证设计。
    ②教务系统网站。也许学校并不知道自己到底需要什么功能,比如查询课表的时候,也许并没有按照老师名字查询的功能,但是开发出原型之后学校又提出了这一需求。
    ③家庭安保系统网站。客户并不知道自己想要调整摄像头角度、追踪物体,直到他们看到原型。
    这些项目都不适合瀑布模型,因为客户并不知道自己想要什么。

extreme programming(xp) model & spiral model

  1. How does the Extreme Programming(XP) model differ from the Spiral model in its treatment of incremental prototypes?
    4.极限编程(XP)模型在处理增量原型方面与螺旋模型有何不同?
    Answer:
    Extreme Programming (XP) and the Spiral model are two different approaches to software development, each with its own methodologies and practices. While both emphasize iterative development and incremental prototyping, they differ in several key aspects:
    Extreme Programming (XP):
    XP is an agile software development methodology that emphasizes frequent releases of small, incremental features.
    In XP, incremental prototypes are developed as part of the iterative development process, but they are usually small and focused on delivering specific functionality rather than comprehensive system prototypes.
    Prototypes in XP are often used to gather feedback from stakeholders and users, which is then incorporated into subsequent iterations of development.
    XP relies heavily on practices such as pair programming, test-driven development, continuous integration, and frequent communication with stakeholders.
    Spiral Model:
    The Spiral model is a risk-driven software development process model that combines elements of both waterfall and iterative development models.
    In the Spiral model, incremental prototypes are developed and refined through a series of iterations or “spirals.” Each spiral represents a phase in the software development process, such as requirements gathering, design, implementation, and testing.
    Unlike XP, the Spiral model places a stronger emphasis on risk management. Each iteration includes a risk analysis phase where potential risks are identified, assessed, and mitigated.
    Prototypes in the Spiral model may be more comprehensive than those in XP, as they are used not only for gathering feedback but also for validating requirements, designs, and addressing identified risks.
    In summary, while both XP and the Spiral model involve iterative development and incremental prototyping, XP focuses on delivering small, focused increments of functionality through frequent releases, while the Spiral model emphasizes risk management and iterative refinement of more comprehensive prototypes.
    答:极限编程(XP)和螺旋模型是两种不同的软件开发方法,每种方法都有自己的方法和实践。虽然两者都强调迭代开发和增量原型设计,但它们在几个关键方面有所不同:
    极限编程(XP):
    XP是一种敏捷的软件开发方法,它强调频繁发布小的增量功能。
    在XP中,增量原型是作为迭代开发过程的一部分开发的,但它们通常很小,专注于提供特定的功能,而不是全面的系统原型。
    XP中的原型通常用于收集利益相关者和用户的反馈,然后将其纳入后续的开发迭代中。
    XP在很大程度上依赖于诸如配对编程、测试驱动的开发、持续集成以及与利益相关者的频繁沟通等实践。
    螺旋模型:
    Spiral模型是一个风险驱动的软件开发过程模型,它结合了瀑布和迭代开发模型的元素。
    在螺旋模型中,增量原型是通过一系列迭代或“螺旋”来开发和细化的。每个螺旋代表软件开发过程中的一个阶段,如需求收集、设计、实现和测试。
    与XP不同,Spiral模型更加强调风险管理。每个迭代都包括一个风险分析阶段,在该阶段识别、评估和缓解潜在风险。
    Spiral模型中的原型可能比XP中的原型更全面,因为它们不仅用于收集反馈,还用于验证需求、设计和解决已识别的风险。
    总之,虽然XP和Spiral模型都涉及迭代开发和增量原型设计,但XP侧重于通过频繁发布提供小的、有重点的功能增量,而Spiral模型则强调风险管理和更全面原型的迭代改进。

agile modeling (am)principles

  1. Visit the Official Agile Modeling site and make a complete list of all core and supplementary Agile Modeling(AM) principles.
    5.访问官方敏捷建模网站,列出所有核心和补充敏捷建模(AM)原则的完整列表。
    Answer:
    The official website address is: https://agilemanifesto.org/iso/zhchs/manifesto.html
    Twelve principles:
    ① Our most important goal is to satisfy customers by continuously delivering valuable software early.
    ② Xinran faces changes in demand, even in the later stages of development. For the competitive advantage of customers, agile processes control change.
    ③ Frequently delivering working software, with intervals of a few weeks or one or two months, tends to adopt shorter cycles.
    ④ Business personnel and developers must collaborate with each other, and every day in the project is no exception.
    ⑤ Stimulate individual morale and build projects with them as the core. Provide the necessary environment and support, complemented by trust, to achieve goals.
    ⑥ The best and most efficient way to convey information, both inside and outside the team, is through face-to-face conversations.
    ⑦ Workable software is the primary measure of progress.
    ⑧ Agile processes advocate for sustainable development. The responsible person, developers, and users should be able to maintain a stable and continuous pace together.
    ⑨ Persistently pursuing technological excellence and good design enhances agility.
    ⑩ Based on simplicity, it is an art that strives to reduce unnecessary workload.
    ⑪ The best architecture, requirements, and design come from self-organizing teams.
    ⑫ The team regularly reflects on how to improve effectiveness and adjusts their behavior accordingly.
    答:官网地址为:https://agilemanifesto.org/iso/zhchs/manifesto.html
    十二条原则:
    ① 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
    ② 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
    ③ 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
    ④ 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
    ⑤ 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
    ⑥ 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
    ⑦ 可工作的软件是进度的首要度量标准。
    ⑧ 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
    ⑨ 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
    ⑩ 以简洁为本,它是极力减少不必要工作量的艺术。
    ⑪ 最好的架构、需求和设计出自自组织团队。
    ⑫ 团队定期地反思如何能提高成效,并依此调整自身的举止表现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/816465.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python调用Microsoft Word把文件夹下所有docx或doc批量转化为PDF

python调用Microsoft Word把文件夹下所有docx或doc批量转化为PDF 首先,确保你的系统上安装了Microsoft Word。然后,你需要安装comtypes库,如果你还没有安装,可以通过以下命令进行安装: pip install comtypes以下是一个…

Mac 软件清单

~自留备用~ Macbook用了几年之后, 512G的内置硬盘有些紧张了, 这几天总是提示空间不足, 就重装了下系统, 重装之后竟然不记得有些软件的名字和下载链接, 特此记录 Office 办公套件 直接从微软官网下载Office 安装包https://officecdnmac.microsoft.com/pr/C1297A47-86C4-4C1F…

Kafka 简单介绍

目录 一 消息队列(MQ) 1,为什么需要消息队列(MQ 2,常见的 MQ 中间件 3,MQ 传统应用场景之异步处理 4,使用消息队列的好处 5,消息队列的两种模式 5.1点对点模式&#xf…

transformer上手(5) —— 必要的 Pytorch 知识

Transformers 库建立在 Pytorch 框架之上(Tensorflow 的版本功能并不完善),虽然官方宣称使用 Transformers 库并不需要掌握 Pytorch 知识,但是实际上我们还是需要通过 Pytorch 的 DataLoader 类来加载数据、使用 Pytorch 的优化器…

【机器学习300问】68、随机初始化神经网络权重的好处?

一、固定的初始化神经网络权重可能带来的问题 在训练神经网络的时候,初始化权重如果全部设置为0或某个过大值/过小值。会导致一些问题: 对称权重问题:全为0的初始化权重会导致神经网络在前向传播时接收到的信号输入相同。每个神经网络节点中…

车载电子电器架构 —— 平行开发策略

车载电子电器架构 —— 平行开发策略 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己…

Jmeter配置服务器监控插件

1.安装插件管理器 插件官网地址:JMeter Plugins :: JMeter-Plugins.org 点击 Plugins Manager,如上图所示, ,点击jar file下载“plugins-manager.jar”,下载后放到“jmeter\lib\ext”目录下,重启jmeter。 2.安装资源…

网络篇04 | 应用层 mqtt(物联网)

网络篇04 | 应用层 mqtt(物联网) 1. MQTT协议介绍1.1 MQTT简介1.2 MQTT协议设计规范1.3 MQTT协议主要特性 2 MQTT协议原理2.1 MQTT协议实现方式2.2 发布/订阅、主题、会话2.3 MQTT协议中的方法 3. MQTT协议数据包结构3.1 固定头(Fixed header…

论文笔记:The Expressive Power of Transformers with Chain of Thought

ICLR 2024 reviewer 评分 6888【但是chair 很不喜欢】 1 intro 之前的研究表明,即使是具有理想参数的标准Transformer,也无法完美解决许多大规模的顺序推理问题,如模拟有限状态机、判断图中的节点是否相连,或解决矩阵等式问题 这…

系统架构最佳实践 -- 统一身份认证系统

目录 1.系统架构设计: 2.用户认证与授权: 3.用户身份管理: 4.安全性保障: 5.日志记录与审计: 6.高可用性与容错性: 7.用户体验优化: 随着互联网的快速发展和应用的普及,人们在…

数据结构,算法(一)--排序

排序 冒泡排序 两次for循环 一次循环可以将一个数据排好序&#xff0c;那两次for循环叠加就可以将整个数组的数据排好序。 //arr[i]>(<)arr[i1] 交换 ​ //走一轮用的代码 for(int i 0;i<arr.length-1;i){if(arr[i]>arr[i1]){//交换//并且要注意 i<arr.len…

博客摘录「 Python Web 开发简介」2024年4月10日

【深度之眼】【OpenCV】笔记汇总_opencv深度之眼笔记-CSDN博客

Linux操作系统中关于用户管理的操作

创建新用户 useradd 【选项】 用户名 在/etc/passwd中以追加的方式在passwd的最后一行添加用户信息。 可以使用命令tail -n 1/etc/passwd查看文件的最后一行内容。 ls /home/首先/home/这是普通用户的家目录&#xff0c; 在/home/下会有一个跟用户名同名的家目录&#xf…

《经典论文阅读2》基于随机游走的节点表示学习—Deepwalk算法

word2vec使用语言天生具备序列这一特性训练得到词语的向量表示。而在图结构上&#xff0c;则存在无法序列的难题&#xff0c;因为图结构它不具备序列特性&#xff0c;就无法得到图节点的表示。deepwalk 的作者提出&#xff1a;可以使用在图上随机游走的方式得到一串序列&#x…

荔枝派LicheePi 4A RISCV板子支持的好玩的AI模型

荔枝派LicheePi 4A 是基于 Lichee Module 4A 核心板的 高性能 RISC-V Linux 开发板&#xff0c;以 TH1520 为主控核心&#xff08;4xC9101.85G&#xff0c; RV64GCV&#xff0c;4TOPSint8 NPU&#xff0c; 50GFLOP GPU&#xff09;&#xff0c;板载最大 16GB 64bit LPDDR4X&…

给自己的机器人部件安装单目摄像头并实现gazebo仿真功能

手术执行器添加摄像头 手术执行器文件夹surgical_new内容展示如何添加单目摄像头下载现成的机器人环境文件启动仿真环境 手术执行器文件夹surgical_new内容展示 进入src文件夹下选择进入vision_obliquity文件夹 选择launch 有两个可用gazebo中rviz展示的launch文件&#xff0…

Github Coplit的认证及其在JetBrains中的使用

原文地址&#xff1a;Github Coplit的认证及其在JetBrains中的使用 - Pleasure的博客 下面是正文内容&#xff1a; 前言 今天分享一个可有可无的小技巧&#xff0c;水一篇文。 如标题所述&#xff0c;Github Coplit的认证及其在JetBrains中的使用 正文 介绍JetBrains JetBrain…

《经典论文阅读1》YouTubeDNN—基于深度学习的搜推系统开山之作

论文链接&#xff1a; https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/45530.pdf全文由『说文科技』原创出品。版权所有&#xff0c;翻版必究。 这篇发表于2016年九月的文章&#xff0c;在搜索推荐仍然基于矩阵分解的时代&#xff0c;抛…

Github 2024-04-14开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-14统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量TypeScript项目3C++项目3Python项目2JavaScript项目1NSIS项目1Jupyter Notebook项目1非开发语言项目1项目化学习 创建周期:2538 天协议类型:M…

Go sync.RWMutex 使用示例

sync.RWMutex 是 Go 语言标准库中的读写互斥锁&#xff0c;适用于读多写少的并发场景。它允许同时有多个读取者&#xff08;读者&#xff09;访问共享资源&#xff0c;但只允许一个写入者&#xff08;作者&#xff09;独占访问。 下面是一个使用 sync.RWMutex 的示例&#xff…