|
|
项目 |
内容 |
软件工程 |
https://edu.cnblogs.com/campus/xbsf/nwnu2020SE |
作业要求 |
https://www.cnblogs.com/nwnu-daizh/p/12369881.html |
作业学习目标 |
通过学习了解软件工程的相关知识 |
这个作业在哪些方面帮助我实现学习目标 |
这个作业通过看课本去了解软件工程知识自己博客园的新编辑方法 |
问题一:一个团队要经历哪些阶段? |
|
在之前的很多课程中会有小组的形式来做一个小型的课题,但不知道一个团队在整个项目过程中会走过这么多的阶段,慢慢的成熟起来,也更加的又默契。 |
|
1 萌芽(Forming)阶段 |
|
就像小苗破土而出,柔弱但充满希望。原因:大家都是来自五湖四海,项目还处于萌芽状态,每个人的能力/弱点还没有得到体现。 |
|
在这一时期,领导要回答很多问题:我们要做什么,怎么做,如何才是成功,和其他团队是什么样的关系,等等。由于百废待兴,没有太多时间进行详细讨论,得到一致共识,因此,要快刀斩乱麻地决定一些重要的问题。 |
|
这个阶段最重要的就是让成员明确地了解团队的目标。正确的目标设定应从整个团队的最终目标开始,然后在成员的参与下,将这一最终目标分解成为一系列相互关联,易于操作的短期目标。 |
|
2 磨合阶段 |
|
就像一个人的青少年时期,充满了对个人、同伴和团队的疑惑和冲突。 |
|
团队中的一团和气只能维持一小段时间,大家不得不认真地面对问题进行讨论。随着讨论的深入,有些人会沉不住气,小的意见分歧和冲突会出现。这些冲突不一定都是技术问题,也许是关于角色、职责、相互关系,甚至是各自性格、文化的冲突。 |
|
这时会出现成员之间的竞争,不少人都想成为某个领域的“拥有者”(在软件项目中,谁负责哪方面,每个方面要怎么做,等等)。同时也有一些人以不同的方式进行挑战。也许会形成小团体,甚至有权力斗争。 |
|
有人专注于解决问题,有人喜欢“与人斗,其乐无穷”,有人想回到当初一团和气的阶段。冲突的结果是有人觉得自己“赢了”,有人反之。不管每人的输赢如何,大家都想从体制上、流程上避免冲突持续发生。 |
|
有时即使大家有相同的论点,还是有争论(因为大家想充分表达自己)。这个时期最可能出现谣言和误解。 |
|
原因:在该阶段,团队成员们开始逐步熟悉和适应团队工作的方式,并且确定各自的存在价值。在这个阶段,矛盾会层出不穷,主要包括团队成员之间的矛盾,项目远景和成员理解程度的差异,个人习惯和企业文化的矛盾,个人的价值取向和企业规则之间的矛盾。 |
|
3 规范阶段 |
|
从磨合阶段毕业,进入规范(Norming)阶段的团队,成员们意识到光争吵是没有用的,大家还是要协同作战。成员们就很多事情取得了一致。角色和职责定义得非常清楚。团队还进行过有趣的团队建设活动。 |
|
在这一阶段,领导主要扮演促成者和鼓励者的角色,协调成员之间的矛盾和竞争关系,建立起流畅的合作模式。 |
|
要注意到,并不是当团队进入到了规范阶段,就万事大吉了。经验表明,很多情况下团队会由规范阶段回到磨合阶段,或者在两个阶段间徘徊。团队成员们必须努力工作,才能使团队保持在这一阶段, 他们同时还要抵御外界的压力,以免使团队分裂,或者回到磨合阶段另外,一个人要是刚刚加入一个有一定历史的团队,要注意了解这个团队的“Norm”是什么,入境随俗。正如西方谚语说——When in Rome,do as the Romans do。 |
|
4 创造阶段 |
|
经历了萌芽、磨合、规范阶段,现在团队终于可以创造一些有意义的东西——这就是创造阶段(Performing)。当然并不是所有的团队都能达到这一阶段。 |
|
领导在这一阶段,要实践“充分的授权”这一原则,委派得力的人员解决问题,并按期检查。在“磨合”阶段的经验和教训让大家明白不少道理,在“规范”阶段形成的流程让团队能高效的工作。 |
|
在创造阶段,团队减少了对上级领导的依赖。成员们相互鼓励,积极提出自己的意见和建议,也对别人提出的意见和建议给出积极评价和迅速反馈。 |
|
问题二:软件工程是什么? |
|
软件在之前见过很多,自己也曾经做过一些。但是对软件工程这四个字并没有深入的理解。 |
|
数据结构+算法 = 程序 |
|
软件=程序+软件工程。 |
|
软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上的过程。 |
|
软件工程包括下列领域:软件需求分析,软件设计,软件构建,软件测试和软件维护。 |
|
|
|
航空 |
软件 |
玩具, 基本知识:纸飞机/航模 |
写程序练习数据结构/算法影响自己,如果失败, 会减少对这类知识的兴趣。这类知识也有比赛,如航模比赛,程序算法比赛,但是比赛之后,这些算法高手写的程序的可维护性怎样? 有人会拿着程序去发布为商业软件么? |
爱好者的尝试:气球+沙滩椅升空 |
用Javascript, Asp.Net, Ruby 写写网站 |
先行者的探索:莱特兄弟飞行 |
软件业的创新 |
成熟的工业:飞机制造业 |
民航Taobao, Ali-pay, Win7 |
问题三:在项目中怎么样才能提出有用的建议?
每次有项目总是不能根据项目提出有价值和跟项目关联性好的建议。如果从以下几个方面考虑会更多的提出有用的建议。
|
|
N (Need 需求) |
我们要充分了解用户的痛苦, 他们对已有软件, 服务不满意的地方。深入用户之中, 了解他们的需求 |
A (Approach 做法) |
找到了用户的痛苦, 下一步, 得看看你有什么招数, 特别是独特的招数, 来解决用户的痛苦。 |
B (Benefit 好处) |
你这个产品/服务会给客户/用户带来什么具体好处呢? |
C (Competitors 竞争) |
市场有多大, 目前有多少竞争者在瓜分? |
D (Delivery 交付, Data 数据) |
怎样把你的创新产品交到用户的手中? |
实验总结:
通过本次实验了解和实践了markdown编辑器的一些用法。在通过邹欣老师的《构建之法——现代软件工程》这本书对软件工程这门课有了初步的了解,并学习到了一些基本的技巧,也解决了自己在以前遇到的一些不解,这本书读上去还是挺不错的,里面还有部分内容需要通过实践才能掌握的更好,希望通过后续的软件工程这门课能检验一下里面的一些内容。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法