202208-繁星队 实验五 团队作业2:软件项目案例分析

项目 内容
课程班级博客链接 2019级卓越工程师班
这个作业要求链接 实验五 团队作业2:软件项目案例分析
团队名称 繁星
团队的课程学习目标 (1)学习团队软件项目流程(TSP)、软件项目团队的角色分工,软件项目经理的职责。
(2)掌握敏捷流程原则及相关概念。
(3)软件案例分析。
这个作业在哪些方面帮助团队实现学习目标 (1)通过学习,掌握了敏捷流程原则及相关概念。
(2)通过案例分析,更加了解CSDN 。
(3)通过团队学习,锻炼了团队合作能力。
团队博客链接 繁星

任务1:以团队协作学习方式,阅读《现代软件工程—构建之法》第5、6章内容,理解并掌握软件项目团队的特点和模式、结合理论课学习内容理解瀑布模型及其变形、渐进交付流程、敏捷流程等典型软件过程模型特点,理解并体会卡内基梅隆大学(CMU)软件工程学院总结的TSP原则;阅读《现代软件工程—构建之法》第9章内容,了解软件项目团队设置项目经理的缘由、项目经理的职责。

  • 第五章
  1. 团队的特点:
    * 团队有一致的集体目标,团队要一起完成这个目标。一个团队的成员不一定要同时工作;
    * 团队成员有各自的分工,互相依赖合作,共同完成任务。

  2. 软件团队的模式

    模式 特点
    主治医师模式 首席程序员“主刀”(负责处理主要模块的设计和编码),其他成员“为主刀医师服务”(从各种角度支持他的工作)。
    明星模式 主治医生模式运用到极致,可以蜕化为明星模式。
    社区模式 社区很多志愿者参与,每个人参与自己感兴趣的项目,贡献力量,大部分人不拿报酬。
    业余剧团模式 团队每一个项目中,不同的人会挑选不同的角色;个人在团队中听从一个中央指挥的指导和安排。
    秘密团队 软件项目在秘密状态下进行。
    特工团队 软件行业的一些团队由一些有特殊技能的专业人士组成,负责解决一些棘手而紧迫性的问题。
    交响乐团模式 家伙多,门类齐全;各司其职,各自有专门场地,演奏期间没有聊天、走动等现象;演奏都靠谱,同时看指挥的;演奏的都是练习过多次的曲目,重在执行。
    爵士乐模式 不靠谱;没有现场指挥;人数较少。
    功能团队模式 具备不同能力的同事们平等协作,共同完成一个功能。
    官僚模式 几个人报告给一个小头目,几个小头目报告给中头目,依次而上。
  3. 瀑布模型

适用于以下情况:
如果产品的定义非常稳定,但是产品的正确性非常重要,需要每一步的验证产品模块之间的接口、输入和输出能很好地用形式化的方法定义和验证使用的技术非常成熟,团队成员都很熟悉这些技术负责各个步骤的子团队分属不同的机构,或在不同的地c理位置,不可能做到频繁的交流.
  1. 瀑布模型的各种变形
    1)生鱼片模型:相邻模块重叠;

    2) 大瀑布带着小瀑布:解决不同系统之间的进度不一。
  2. 敏捷流程
    开发流程由行政领导主导或公司老板驱动。

    6.TSP的原则
1)、使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的
2)、团队的各个成员对团队的目标,角色,产品都有统一的理解
3)、尽量使用成熟的技术和做法
4)、尽量多地收集数据
5)、制定切合实际的计划和承诺,团队计划要由负责具体执行的角色来制定
6)、增加团队的自我管理能力
7)、专注于提高质量,争取在软件生命周期的早期发现问题
  • 第六章
  1. 敏捷流程是一系列价值观和方法论的集合。
  2. Srcum的基本术语
* Sprint:冲刺周期,通俗的讲就是实现一个“小目标”的周期。一般需要2-6周时间。
* User Story:用户的外在业务需求。拿银行系统来举例的话,一个Story可以是用户的存款行为,或者是查询余额等等。也就是所谓的小目标本身。
* Task:由User Story 拆分成的具体开发任务。
* Backlog:需求列表,可以看成是小目标的清单。分为Sprint Backlog和Product Backlog。
* Daily meeting:每天的站会,用于监控项目进度。有些公司直接称其为Scrum。
* Sprint Review meeting: 冲刺评审会议,让团队成员们演示成果。
* Sprint burn down:冲刺燃尽图,说白了就是记录当前周期的需求完成情况。
* Rlease:开发周期完成,项目发布新的可用版本。

3.敏捷开发原则

(1)尽早并持续地交付有价值的软件以满足顾客需求
(2)敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势
(3)经常发布可用的软件,发布间隔可以从几周到几个月,能短则短
(4)业务人员和开发人员在项目开发过程中应该每天共同工作
(5)以有进取心的人为项目核心,充分支持信任他们
(6)无论团队内外,面对面的交流始终是最有效的沟通方式
(7)可用的软件是衡量项目进展的主要指标
(8)敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续合作下去
(9)只有不断关注技术和设计,才能越来越敏捷
(10)保持简明—尽可能简化工作量的技艺—极为重要
(11)只有能自我管理的团队才能创造优秀的架构、需求和设计
(12)时时总结如何提高团队效率,并付诸行动
  1. 敏捷的适用范围
内容
敏捷(Agile)
计划驱动(Plan-driven)
形式化的开发方法(Formal Method)
产品可靠性要求 不高,容忍经常出错 必须有较高可靠性 有极高的可靠性和质量要求
需求变化 经常变化 不经常变化 固定的需求,需求可以建模
团队人员数量 不多 较多 不多
人员经验 有资深程序员带队 以中层技术人员为主 资深专家
公司文化 鼓励变化,行业充满变数 崇尚秩序,按时交付 精益求精
实际的例子 写一个微博网站 开发下一版本的办公软件;
给商业用户开发软件;
开发底层正则表达式解析模块;
科学计给商业用户开发软件算;
复杂系统的核心组件
  • 第九章
  1. PM是啥
    PM的M就是Manager,但是P有这几种:Product Manager、Project Manager、Program Manager,在不同的行业和公司,他们的作用各不相同:
    1)Product Manager:产品经理-正确地做产品。核心要求是,根据市场和用户需求,协调各部门资源,正确地把握产品定位和方向,解决用户的痛点,持续优化产品;
    2)Project Manager:项目经理-正确地做流程。他们对项目流程负责,即项目从立项到上线按时完成。正确地协调团队内部外部,调配各部门资源和时间,有效进行风险管理,保证一个项目顺利按计划结项,是一个项目经理的核心价值;
    3)Program Manager:微软的职位名称。微软产品团队三足鼎立的角色分配就是PM、开发、测试。PM负责除产品开发和测试之外的所有事情。从某种意义上说,是前面两种角色的综合。
    本章主要介绍微软的项目经理 - Program Manager。

  2. 如何成为一个合格的PM
    成为一个合格的PM,需要以下几种能力:
    1)观察、理解和快速学习能力:PM要能够在一个新的领域中很快上手,对老板/客户/利益相关人要有同理心;
    2)分析管理能力:从每天项目中发生的诸多事情中,PM要能够*分析出重点、找到优先级、做判断、做决定等等;
    3)一定的专业能力:PM通常也能写代码,能玩转Excel、PPT、Visio、甘特图,会PS,有文字功底,写的博客有人爱读,反正总得有几招绝活!此外,还要有大量的阅读,对IT行业、用户心理、社会都要有广泛的了解。

  3. PM的责任

    带领团队形成团队的目标/远景,把抽象的目标转化为可执行的、具体的、优美的设计;
    管理软件的具体功能的生命周期(需求/设想/设计/实现/测试/修改/发布/升级/迁移/淘汰);
    创建并维护软件的规格说明书,让它成为开发/测试人员及时准确的指导,而不是障碍;
    代表客户和用户的利益,主动收集用户反馈,预期用户新的需求。协调并决定各种需求的优先级;
    分析并带领其他成员对缺陷/变更需求形成一致意见,并确保实施;
    带领其他成员确保项目保持功能/时间/资源的合理平衡,跟踪项目进展,确保团队发布令客户满意的软件;
    收集团队项目管理和软件工程的各种数据,客观分析项目实施过程中的优缺点,推动项目成员持续改进,从而提振士气。
  4. 领导力-高效的团队讨论

  5. PM和风险管理

  • 团队讨论截图

任务2:以团队协作学习方式,从B、C、D三个软件案例分析任务中选择一个课题来进行。

    小组选择案例D
    D) 有很多IT技术社区网站提供IT人士发布博客的功能,Markdown 是一种常用的博客编辑器,请使用以下CSDN博客功能,结合使用体验分析CSDN 的 Markdown 编辑器好用么?
    它对于各种文件格式、插入图像、动画、表格、代码块的支持如何?发现了什么问题?
    请描述在使用CSDN博客中碰到的问题,以及改进的建议;CSDN 的 Markdown 编辑器与博客园的博客编辑器相比,有什么优缺点(至少列出5条)。
    CSDN博客文章管理:https://editor.csdn.net/md/
姓名
使用次数
使用总时长(h)
陈玉英 12 5
刘春丽 10 4.5
李涛 10 4
  1. 调研测试
    1) 简介:
    Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。这几年Markdown编辑器以其独到的优势迅速火起来了,很多写作平台都开始支持了。
    Markdown语法常用的也就十个左右,Markdown编辑器深受技术人员和效率写手的喜爱,很多Markdown编辑器还可以轻松地将文本转换为pdf等格式。
    2)功能体验:

    • 首页 :CSDN 的Markdown 编译器编写博客,最顶部这里我们先写上标题,这是最主要的;底部就是填写内容的地方,左边填写内容,右边显示预览,如下图:
    • 插入表格
    • 插入图片
    • 插入代码
  2. 测试结果


  3. 使用CSDN博客中解决的问题,以及改进的建议

    解决的问题
    改进的建议
    提供模板,排版整齐统一;
    语法说明提供多种类型的图形,画流程图节约时间;
    编辑窗口和预览窗口在同一界面,编辑的同时就可以看到效果。
    不能任意上传文档,希望上传文件的格式不受限制;
    图片大小有限制,动态图片很难满足,希望图片大小不受限制;
    pc端窗口不能放大,希望可以任意缩放视频在pc端显示的窗口;
    希望功能栏添加表情包,让博客更加生动有趣;
    输入完标题后,希望可以弹出和标题相关的文档,方便深入了解。
  4. CSDN 和 博客园 markdown编辑器比较
    1)CSDN 编译器

    优点
    缺点
    (1)有一套标准的标记语言,其内容本身也是纯文本文档,所以在各个支持markdown的网站之间交流起来是很方便的,即使用非markdown编辑器打开也不会有明显错乱感觉。
    (2)Markdown有它的一套标准,什么东西一当有了一套大家认可的标准,就比较容易推广和流行,便于分享交流。
    (3)markdown编辑器可控性更强
    (4)能让人直接了解功能栏的那些工具是什么
    (5)CSDN的 Markdown 编辑器是可以插入视频,改变字体颜色、大小、样式。
    (1)上传的图片最大只能5MB
    (2)博客中视频在PC端显示的太小了,不能放大
    (3)markdown编辑器还是比较小众
    (4)不支持复杂的格式
    (5)有太多不兼容的方言。由于原始的Markdown支持的格式有限,所以出现了很多不同的扩展,这些扩展之间的不兼容性是一个问题

2)博客园编译器

优点
缺点
1.可以直接复制别人博客的html来实现快速Copy,从节点开始整体复制过来
2.可以通过切换tab预览编辑的html内容,在""tab编辑好后,点击""tab马上看到效果
3、图片大小无限制
4、有历史记录,可以随意恢复到某一个历史版本
5、 发布时不需要选标签,可直接发布
1.辅助排版工具太少:添加粗体、添加链接、添加代码、添加引用、添加表格、添加无序列表、添加有序列表、上传图片
2.预览需要切换tab
3、不能添加视频
4、不能随意改变字体的大小、颜色和类型
5、没有固定的模板,要自己排版
  1. 采访
    1)背景

    采访对象
    牟同学
    个人背景 西北工业大学2020级电子信息专业
    需求 希望有一个平台实现他学习编程以及算法的的过程,既可以监督自己也可以给其他学习者答疑解惑
    1. 用户使用时的照片

      3)用户反馈

任务3:完成《实验五 团队作业2:软件项目案例分析》团队博文作业

  1. 完成各项任务实际花费的时间

    任务内容
    任务花费的时间(min)
    任务1 120
    任务2 400
    任务3 150
  2. 感受和体会
    此次作业比较详细地了解了CSDN,通过使用比较了CSDN的markdown编辑器和博客园编译器二者优缺点,CSDN的markdown编辑器支持标准markdown的几乎全部功能,同时也有一些小的功能扩充,如图片拖拽、语法高亮支持的语言种类、即时预览、同步滚动等。
    通过团队合作交流,培养了团队默契,提高了合作能力。

posted @ 2022-04-17 19:07  繁星队  阅读(98)  评论(0编辑  收藏  举报