精华内容
下载资源
问答
  • 学生宿舍管理系统项目-计划书学生宿舍管理系统项目计划书1.引言1.1?? 编写目的?学生公寓管理是后勤工作中非常重要、非常复杂的内容。每年新生入学时大量的学生信息录入、学生 房间分配、各项押金、住宿费用的收缴,...

    学生宿舍管理系统项目-计划书

    学生宿舍管理系统项目计划书

    1.引言1.1?? 编写目的

    ?学生公寓管理是后勤工作中非常重要、非常复杂的内容。每年新生入学时大量的学生信息录入、学生 房间分配、各项押金、住宿费用的收缴,学生住宿房间模糊查询等,对学生住宿管理的考评管理;公寓 中各种设备的使用、更换、维修等等,都是十分琐碎的事情,管理者要及时全面清楚地掌握这些情况, 必须依靠信息化管理手段。

    为了减轻工作人员的劳动量,有效提高工作效率,给管理者提供及时准确的学生及公寓的各种数据信息,让管理者随时都可以一目了然地看到各公寓内的学生、资费、设备、工作人员的详细情况,我们设计了学生公寓管理系统软件。来解决目前存在的问题。

    1.2?开发背景

    一.现状分析

    1.管理技术:对学生的寝室管理,学生的档案管理还是采用原有的人工管理方式。这导致工作效率低、误差大,也造成了人力、物力、财力资源的浪费,随着学生人数的增加,要记录存档的数据比较多,人工记录是相当麻烦的,而且浪费许多时间,工作效率也比较低。

    二.新目标分析

    在调查研究和用户需求分析的基础上,我们确定了该系统的目标和要求。该系统应能达到内容制定的合理性和全面性,数据库管理都科学性,数据更新的及时性,各条信息的真实性。

    系统综合目标

    系统特点

    1.数字化校园,实现校园无纸化管理。2. 用户权限分级管理,适合?多用户操作。3. 界面完好,功能完善,安全易用。

    经济可行性

    估算宿舍管理系统的开发费用和今后的运行、维护费用,估算宿舍管理系统将获得的经济和社会效益,并将费用与效益进行比较,看是否有利。例如,宿舍管理系统投入运行后可以提供哪些以前无法及时提供的信息,用户查询和使用信息的方便程度提高多少、速度增加了多少,对于操作人员进行工作提供了多少帮助等等。

    项目概述

    1.在用户登陆时当用户输入帐号和密码不正确时能够给出提示信息。

    2.当用户成功登陆系统后,系统能够为系统管理员提供对学生进行宿舍安排、宿舍调整、退宿管理等功能。

    3.系统能够对学生退宿操作完成后提示是否将该学生记录删除。

    4.系统能够对学生宿舍的各种费用进行记录管理。

    5.系统可以对学生宿舍的检查、违纪、评分记录管理。

    6.系统可以生成并输入一下主要报表:寝室卫生情况报表,寝室用电情况报表。

    7.要求信息在输入时要严格防错和校正。亢余数据处理时由程序自动更新,以保证数据的准确性和一致性。

    8,要求遵守使用权限和采用令等保密措施,并具有自动连接数据库的功能。

    9.系统可扩充、易维护。

    系统具体要求内容如下:

    宿舍管理员:a.信息要求:宿舍管理员能查询上面提到的宿舍楼的所以相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,夜归的详细信息和学生离返校信息。以利于对整个宿舍楼的全面管理。

    b.处理要求:当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其他宿舍,他们在原来的宿舍楼中相应的记录就应该删除,当快件到达本宿舍楼时,宿舍管理员应依据到达快件的相关信息在快件信息中插入一天记录,当同学接收快件后,管理员应登记快件接收时间,表明该信件已成功到达收信人的手中。

    c.安全性与完整性要求:

    安全性要求:

    系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用。应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容。

    信息要求:

    可以查询学生所在宿舍的所以信息,能查询自己的快件信息,自己的夜归记录和离返校记录。

    数据库概念设计

    在此次学生宿舍管理系统中设计学生、来访者以及宿舍三个实体,其中学生属性包括姓名、学号、性别、宿舍号、入住时间和违纪情况;来访者属性包括性名、性别、来访时间和离开时间;宿舍属性包括宿舍号、入住人数和卫生评比情况。

    数据库逻辑设计

    该设计以概念结构设计中的E-R图为主要依据,设计出相关的整体逻辑结构。根据总E-R图了解有三个实体,其中我们把卫生评比和违纪处理这两个功能作为属性出现在E-R图中,四个关系形式如下:

    来访者(姓名,性别,来访时间,离开时间)

    宿舍(宿舍号,入住人数,卫生评比情况)

    访问(学生学号,来访者姓名,访问时间,离开时间)

    2.4数据库物理设计

    通过对关系形式的优化,得到六个基本表如表2-1~表2-5:

    表2-1 来访者信息表

    表2-2学生信息表

    表2-3入住信息表

    表2-4违纪信息表

    表2-5卫生评比表

    在数据库物理设计基础上,建立外码约束,最终实现系统关系图如图2.3所示。

    图2.3 总数据关系图

    3 系统的实现与测试

    使用不同函数和代码将前台的各个控件按钮与后台进行连接,实现各个模块的功能,最终实现前台与后台的完全链接并能够实现学生宿舍管理系统中所要求的功能。为了确定此系统的可靠性,下面通对每个模块使用黑盒测试进行单独测试。

    3.1 主

    展开全文
  • 组长:高仁英成员:杨舒婷、连燕婷1.引言1.1目的[1]本章提供整个软件开发计划的综述,主要确定以下... [8]软件项目培训计划。1.2范围说明该软件开发计划的范围,简要描述软件开发计划的内容。一般而言,对于一个较...

    组长:高仁英

    成员:杨舒婷、连燕婷

    1.引言

    1.1目的

    [1]本章提供整个软件开发计划的综述,主要确定以下内容: [2]软件生存周期的选取及裁剪。 [3]软件规范、方法和标准的选择。 [4]软件工作产品的规模估计。 [5]软件工作量和成本的估计。 [6]软件进度表的制定。 [7]软件风险的评估。 [8]软件项目培训计划。

    1.2范围

    说明该软件开发计划的范围,简要描述软件开发计划的内容。一般而言,对于一个较大的软件项目,计划书包括如下内容: [1]工作模块计划 [2]人力资源计划 [3]进度安排计划

    [4]配置管理计划

    1.3术语定义

    [1]软件相关组:指软件配置管理组、文档支持组、测试组。 [2]软件质量保证组:指计划和实施软件质量保证活动的人员的集合。 [3]软件工程组:是负责一个项目的软件开发和维护活动的个人的集合。

    1.4参考资料

    [1]项目任务书 [2]用户需求报告 [3]商务合同

    [4]实用软件工程(第二版) 赵池龙 杨林 电子工业出版社

    1.5相关文档

    [1]项目任务书 [2]用户需求报告 [3]用户需求规格说明书

    1.6版本更新记录

    版本更新记录格式

    1.7项目概述

    1.在用户登陆时当用户输入帐号和密码不正确时能够给出提示信息。

    2.当用户成功登陆系统后,系统能够为系统管理员提供对学生进行宿舍安排、宿舍调整、退宿管理等功能。

    3.系统能够对学生退宿操作完成后提示是否将该学生记录删除。 4.系统能够对学生宿舍的各种费用进行记录管理。 5.系统可以对学生宿舍的检查、违纪、评分记录管理。

    6.系统可以生成并输入一下主要报表:寝室卫生情况报表,寝室用电情况报表。

    7.要求信息在输入时要严格防错和校正。亢余数据处理时由程序自动更新,以保证数据的准确性和一致性。

    8,要求遵守使用权限和采用令等保密措施,并具有自动连接数据库的功能。 9.系统可扩充、易维护。 系统具体要求内容如下:

    宿舍管理员:

    a.信息要求:宿舍管理员能查询上面提到的宿舍楼的所以相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,夜归的详细信息和学生离返校信息。以利于对整个宿舍楼的全面管理。

    b.处理要求:当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其他宿舍,他们在原来的宿舍楼中相应的记录就应该删除,当快件到达本宿舍楼时,宿舍管理员应依据到达快件的相关信息在快件信息中插入一天记录,当同学接收快件后,管理员应登记快件接收时间,表明该信件已成功到达收信人的手中。 c.安全性与完整性要求:

    安全性要求:系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用。应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容。

    信息要求:可以查询学生所在宿舍的所以信息,能查询自己的快件信息,自己的夜归记录和离返校记录。

    1.8 项目组织

    1.8.1现状分析

    1.管理技术

    对学生的寝室管理,学生的档案管理还是采用原有的人工管理方式。这导致工作效率低、误差大,也造成了人力、物力、财力资源的浪费,随着学生人数的增加,要记录存档的数据比较多,人工记录是相当麻烦的,而且浪费许多时间,工作效率也比较低。

    2.新目标分析

    在调查研究和用户需求分析的基础上,我们确定了该系统的目标和要求。该系统应能达到内容制定的合理性和全面性,数据库管理都科学性,数据更新的及时性,各条信息的真实性。

    1.9 系统特点

    1.数字化校园,实现校园无纸化管理。 2. 用户权限分级管理,适合 多用户操作。 3. 界面完好,功能完善,安全易用。

    2. 经济可行性

    估算宿舍管理系统的开发费用和今后的运行、维护费用,估算宿舍管理系统将获得的经济和社会效益,并将费用与效益进行比较,看是否有利。例如,宿舍管理系统投入运行后可以提供哪些以前无法及时提供的信息,用户查询和使用信息的方便程度提高多少、速度增加了多少,对于操作人员进行工作提供了多少帮助等等。

    3.数据库概念设计

    在此次学生宿舍管理系统中设计学生、来访者以及宿舍三个实体,其中学生属性包括姓名、学号、性别、宿舍号、入住时间和违纪情况;来访者属性包括性名、性别、来访时间和离开时间;宿舍属性包括宿舍号、入住人数和卫生评比情况。 数据库逻辑设计

    该设计以概念结构设计中的E-R图为主要依据,设计出相关的整体逻辑结构。根据总E-R图了解有三个实体,其中我们把卫生评比和违纪处理这两个功能作为属性出现在E-R图中,四个关系形式如下:

    来访者(姓名,性别,来访时间,离开时间) 宿舍(宿舍号,入住人数,卫生评比情况)

    访问(学生学号,来访者姓名,访问时间,离开时间)

    3.1.1 系统的实现与测试

    使用不同函数和代码将前台的各个控件按钮与后台进行连接,实现各个模块的功能,最终实现前台与后台的完全链接并能够实现学生宿舍管理系统中所要求的功能。为了确定此系统的可靠性,下面通对每个模块使用黑盒测试进行单独测试。

    3.1.2 主界面的实现与测试

    宿舍流程图:

    学生公寓管理系统工作流程:系统功能→统结构→据库设计→系统设计→项目管

    理器的建立→数据库和表的建立→表单与代码设计→报表的设计→菜单的设计→程序设计

    3.2 开发环境

    操作平台:

    Windows NT(SP2以上)或Windows 2000系列,但由于管理中心的工作人员对Windows NT (SP2)系统操作熟悉,系统开发设计将使用Windows NT (SP2)作为开发时的平台。 网站服务器

    考虑到目前,系统只是给管理中心使用,暂时不开放一般权限功能,因此网站服务器采用Internet Information Services 5.1。 开发时所用的浏览器

    浏览器最好是IE5.5以上版本,此考虑到浏览器的版本不同可能引起网页排版出现异常。

    3.3.2 服务

    为用户提供培训安装,维护和运行支持,自用户安装起为用户提供一定期限服务。

    3.3.3完成时间

    4.实施计划

    4.1 成本估计

    估计开发该系统需购买硬件、外部设备(P4微机一台、打印机一台),花费1万元左右,开发工作量约需4个人月工作量,每人月工资为1000元,开发完成后维护费用每年3000元,开发完成后,原有的4名管理人员可以减少3名,每人月工资1200元。

    4.3 进度

    〈1〉需求分析 (第六周) 〈2〉概要设计 (第七周) 〈3〉详细设计 (第八周) 〈4〉编码实现与测试 (第十周)

    4.4关键问题

    目前时间和技术有限,难以做到完全符合要求。对宿舍存在的问题可能考虑不是很全面。

    5.支持条件

    5.1计算机系统的支持

    P4微机一台、打印机一台

    展开全文
  • 软件项目管理案例教程韩万江课后习题答案第四版

    千次阅读 多人点赞 2021-01-01 07:29:35
    软件项目管理韩万江(第四版)课后习题答案第一章 软件项目管理概述填空判断选择问答第二章 项目确立填空判断选择问答第三章 生存期模型填空判断选择问答第四章 软件项目范围计划填空判断选择问答第五章 软件项目...

    第一章 软件项目管理概述

    填空

    1.敏捷模型包括4个核心价值,对应12个敏捷原则。
    2.项目管理包括启动过程组计划过程组执行过程组控制过程组收尾过程组 5个过程组。

    判断

    1.搬家属于项目。
    2.项目是为了创造一个唯一的产品或者提供一个唯一的服务而进行的永久性的努力。×
    3.项目管理目的是要让过程能够被共享、复用,并得到持续的改进。
    4.项目具有临时性的特征。
    5.日常运作存在大量的变更管理,而项目基本保持连贯性的。×
    6.项目开发过程中可以无限制地使用资源。×
    7.相比较传统开发的过程,敏捷开发属于自适应过程。

    选择

    1.下列选项中不是项目与日常运作区别的是(C
    A.项目是以目标为导向的,日常运作是通过效率和有效性来体现的
    B.项目是通过项目经理及其团队工作完成的,而日常运作是职能式的线性管理
    C.项目需要有专业知识的人来完成,而日常运作的完成无需特定的专业知识
    D.项目都是一次性的,日常运作是重复进行的
    2.以下都是日常运作和项目的共同之处,除了(D
    A.由人来做
    B.受制于有限的资源
    C.需要规划、执行和控制
    D.都是重复性工作
    3.下面选项中不属于PMBOK的知识域的是(A
    A.招聘管理
    B.质量管理
    C.范围管理
    D.风险管理
    4.下列选项中属于项目的是(C
    A.上课
    B.社区保安
    C.野餐活动
    D.每天的卫生保洁
    5.下列选项中正确的是(C
    A.一个项目具有明确的目标而且周期不限
    B.一个项目一旦确定就不会发生变更
    C.每个项目都具有自己的独特性
    D.项目都是一次性地由项目经理独自完成
    6.(B)是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力
    A.过程
    B.项目
    C.项目群
    D.组合
    7.下面选项不是《敏捷宣言》中的内容的是(C
    A.个体和交互胜过过程和工具
    B.可以工作的软件胜过面面俱到的文档
    C.敏捷开发过程是自适应的过程
    D.响应变化胜过遵循计划
    8.下列活动不是项目的是(C
    A.野餐活动
    B.集体婚礼
    C.上课
    D.开发操作系统
    9.下列选项不是项目特征的是(C
    A.项目具有明确的目标
    B.项目具有限定的周期
    C.项目可以重复进行
    D.项目对资源成本具有约束性

    问答

    1.项目管理知识体系(PMBOK)包括哪10个知识域?
    项目集成管理项目范围管理项目时间管理项目成本管理项目质量管理项目人力资源管理项目沟通管理项目风险管理项目采购管理项目干系人管理
    2.请简述项目管理的5个过程组及其关系。
    启动过程组计划过程组执行过程组控制过程组收尾过程组
    关系:各个过程组通过其结果进行连接,一个过程组的结果或输出是另一个过程组的输入。其中,计划过程组、执行过程组、控制过程组是核心管理过程组。
    3.项目的特征是什么?
    目标性相关性临时性独特性资源约束性不确定性

    第二章 项目确立

    填空

    1.项目确立之后,项目负责人会进行自造-购买决策,确定待开发产品的哪些部分应该采购、外包开发、自主研发等。
    2.PMI人才三角重点关注技术项目管理领导力战略和商务管理3个关键技能。
    3.在立项阶段,应该明确项目的目标、时间表、使用的资源和经费,而且得到项目发起人的认可。

    判断

    1.项目立项可以确立项目目标、时间和资源成本,同时得到项目发起人的认可。(
    2.项目招标对于一个项目的开发是必需的,即便项目是内部项目。(×
    3.自主研发相当于make or buy中的make。(
    4.项目建议书是项目计划阶段开发的文档。(×
    5.项目立项需要获得项目经理的认可,但不需要项目发起人的认可。(×
    6.项目章程是项目执行组织高层批准的确认项目存在的文件,其中不包括对项目经理的授权。(×
    7.乙方即提供方(有时也成为卖方),是为顾客提供产品或服务的一方。(
    8.在软件项目合同中,甲方是需求方,乙方是供方。(
    9.敏捷项目采取的是仆人式管理方式。(

    选择

    1.下列不是项目立项过程内容的是(B
    A.项目的目标
    B.项目的风险
    C.项目的时间表
    D.项目使用的资源和经费
    2.以下哪项不包括在项目章程中(C
    A.对项目的确认
    B.对项目经理的授权
    C.对项目风险的分析
    D.项目目标的概述
    3.项目建议书是(C)阶段开发的文档
    A.项目执行
    B.项目结尾
    C.项目初始
    D.项目计划
    4.下列不属于甲方招投标阶段任务的是(A
    A.编写建议书
    B.招标书定义
    C.供方选择
    D.合同签署
    5.下列不属于乙方招投标阶段任务的是(D
    A.项目分析
    B.竞标
    C.合同签署
    D.招标书定义
    6.PMI人才三角不包括(B
    A.技术项目管理
    B.测试能力
    C.领导力
    D.战略和商务管理

    问答

    1、某公司希望开发一套软件产品,如果选择自己开发软件的策略,公司需要花费30000元,根据历史信息,维护这个软件每个月需要3500元。如果选择购买软件公司产品的策略,需要18000元,同时软件公司为每个安装的软件进行维护的费用是4200元/月。该公司该如何决策?
    自制方案:
    制造费 30000元维护费 3500元/月
    购买方案:
    购买费 18000元维护费 4200元/月
    制造差额:30000-18000=12000元
    服务差额:4200-3500=700元
    自制方案承受月份:12000/700=17.14
    如果产品在17个月以内可以选择购买方案,如果超过17个月选择自造方案。

    2、什么是项目章程?
    项目章程是项目执行组织高层批准的一份以书面签署的确认项目存在的文件,包括对项目的确认、对项目经理的授权和对项目目标的概述。

    第三章 生存期模型

    填空

    1.瀑布模型生存期模型要求项目所有的活动都严格按照顺序执行,一个阶段的输出是下一个阶段的输入。
    2.总体上,项目生存期模型可以是预测型或适应型
    3,DevOps是Development和Operation的组合。

    判断

    1.瀑布模型不适合短期项目。(×
    2.增量型生存模型可以避免一次投资带来太大的风险。(
    3.V模型适合的项目类型是需求很明确,解决方案很明确。而且对系统的性能要求比较严格。(
    4.瀑布模型和V模型都属于预测型生存期模型。(
    5.瀑布模型要求项目所有的活动都严格按照顺序执行,一个阶段的输出是下个阶段的输入。(
    6.极限编程(XP)从3个层面提供了13个敏捷实战。(
    7.敏捷包括《敏捷宣言》的价值观、12个原则,以及一些通用实践。(×

    选择

    1.对于某项目,甲方提供了详细、准确的需求文档,我们的解决方案也很明确,且安全性要求非常严格,此项目采用(C)比较合适。
    A.瀑布模型
    B.增量型生存期模型
    C.V模型
    D.XP模型
    2.下面属于预测型生存期模型的是(A
    A.瀑布模型
    B.增量型生存期模型
    C.Scrum模型
    D.原型模型
    3.下面关于敏捷模型描述不正确的是(D
    A.与传统模型相比,敏捷模型属于自适应过程。
    B.可以应对需求的不断变化
    C.Scrum模型、XP模型、DevOps模型等都属于敏捷模型
    D.敏捷模型是预测型和迭代型的混合模型
    4.XP模型的实践原则不包括一下哪一点(D
    A.快速反馈
    B.假设简单
    C.包容变化
    D.详细设计
    5.在项目初期,一个项目需求不明确的情况下,应避免采用以下哪种生存期模型(C
    A.快速原型模型
    B.增量式模型
    C.V模型
    D.Scrum模型
    6.关于迭代模型,下列说法不正确的是(D
    A.不断反馈原型
    B.可以加快开发速度
    C.项目需求变化大
    D.不多次提交

    问答

    1.写出3中你比较熟悉的生存期模型,并说明这些模型适用于什么情况下的项目。
    (1)瀑布模型
    适用于软件需求很明确的软件项目,即一般适用于功能明确、完成、无重大变化的软件系统的开发。
    即:
    1)在项目开始前,项目的需求过程已经被很好地理解、也很明确,而且项目经理很熟悉为实现这一模型所需的过程。
    2)解决方案在项目开始前也很明确
    3)短期项目可以采用瀑布模型
    (2)V模型
    适用于项目需求在项目开始前很明确,解决方案在项目开始前也很明确,项目对系统的安全很严格。如航天飞机控制系统,公司的财务系统等
    (3)快速原型模型
    适用于项目的需求在项目开始前不明确,需要减少项目的不确定性的时候

    2.混合模型是一种什么样的模型?
    对于整个项目,没有必要使用单一的方法。为了达到特定的目标,项目经常要结合不同的生命周期元素。预测、迭代、增量和敏捷方法的组合就是一种混合方法

    第四章 软件项目范围计划

    填空

    1.需求管理包括需求获取需求分析需求规格编写需求验证需求变更5个过程。
    2.敏捷项目主要采用用户故事来描述需求。

    判断

    1.需求规格说明可以包括系统的运行环境。(
    2.数据流分析法是一种自下而上逐步求精的分析方法(×
    3.需求分析工作完成的一个基本标志是形成了一份完整的、规范的需求规格说明书。(
    4.需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。(
    5.用户故事常常写在卡片上,然后将其部署到墙上。(
    6.软件项目系统的响应时间属于功能性需求。(×
    7.数据字典是由数据项、数据流及操作指令组成的。(×

    选择

    1.下列不属于软件项目管理需求过程的是(D
    A.需求获取
    B.需求分析
    C.需求规格编写
    D.需求更新
    2.下列不属于数据字典的组成部分的是(D
    A.数据项
    B.数据流
    C.数据文件
    D.数据库
    3.下列不属于UML需求视图的是(A
    A.甘特图
    B.用例图
    C.状态图
    D.顺序图
    4.下列关于用户故事的描述不正确的是(D
    A.英文名称:user story
    B.不使用技术语言来描述
    C.可以描述敏捷需求
    D.一种数据结构
    5.(A)是软件项目的一个突出特点,可以导致软件项目的蔓延。
    A.需求变更
    B.暂时性
    C.阶段性
    D.约束性
    6.下列不属于结构化方法分析的是(D
    A.数据流图
    B.数据字典
    C.系统流程图
    D.用例图
    7.下列不属于软件需求范畴的是(A
    A.软件项目采用什么样的实现技术
    B.用户希望软件能做到什么样的事情
    C.用户需要软件实现什么样的功能
    D.用户需要软件达到什么样的性能
    8.敏捷项目一般采用下面(C
    A.用户用例
    B.DFD
    C.用户故事
    D.数据字典

    问答

    1.下图是SPM项目需求规格文档中的一个用例图,请根据图中信息判断参与者是什么角色?并写出至少3个用例,如登录,注册等。
    1)参与者是课务管理系统中的学生用户。
    2)登录、注册、查看成绩

    2.采用典型的用户故事模板描述上题中的注册功能。
    As a user, I want to register so that I can have my own count.

    第五章 软件项目范围计划——任务分解

    填空

    1.任务分解是将一个项目分解为更多的工作细目或者子项目,是项目变得更小、更易管理、更易操作。
    2.WBS的全称是任务分解结构(Work Breakdown Structure)
    3.WBS最底层次可交付成果是工作包

    判断

    1.WBS提供了项目范围基线。(
    2.一个工作包可以分配给另一个项目经理去完成。(
    3.如果开发人员对项目比较熟悉或者对项目大局有把握,开发WBS时最好采用自底向上方法。(×
    4.对于一个没有做过的项目,开发WBS可以采用自底向上方法()
    5.在任务分解结果中,最底层的要素必须是实现项目目标的充分必要条件。(
    6.一个工作包应当由唯一主体负责。(
    7.WBS的最高层次的可交付成果是工作包。(×
    8.对任务的分解只能是自上而下的。(×
    9.WBS的最底层任务是能分配到一个人完成的任务。(
    10.敏捷项目的一个Epic还可以继续分解为一些用户故事。(

    选择

    1.WBS非常重要,因为下列原因,除了(D
    A.确定项目范围基准
    B.防止一楼工作
    C.为项目估算提供依据
    D.确定项目经理
    2.WBS中的每一个具体细目通常指定唯一的(A
    A.编码
    B.地点
    C.功能模块
    D.提交截止期限
    3.下列不是创建WBS的方法的是(C
    A.自顶向下
    B.自底向上
    C.控制方法
    D.模板参照
    4.任务分解是,(D)方法从特殊到一般的方向进行,首先定义一些特殊的任务,然后将这些任务组合起来,形成更高级别的WBS层。
    A.模板参照
    B.自顶向下
    C.类比
    D.自顶向上
    5.下列关于WBS的说法,不正确的是(D
    A.WBS是任务分解的结果
    B.不包括在WBS中的工作就不是该项目的工作
    C.可以采用提纲式或者组织结构图形式表示WBS的结果
    D.如果项目是一个崭新的项目,则最好采用自顶向下方法开发WBS
    6.检验WBS分解结果的标准不包括(B
    A.最底层的要素是否是实现目标的充分必要条件
    B.分解的层次不少于3层
    C.最底层元素是否重复
    D.最底层圆度是否有完整清晰的定义
    7.WBS是对项目由粗到细的分解过程,它的结构是(B
    A.分层的集合结构
    B.分级的树形结构
    C.分层的线性结构
    D.分级的图状结构
    8.任务分解是,(B)方法按从一般到特殊的方向进行,从项目的大局着手,然后主板分解子细目,将项目变为更细,更完善的部分。
    A.模板参照
    B.自顶向下
    C.类比
    D.自底向上

    问答

    1.试写出任务分解的方法和步骤
    任务分解的基本步骤
    1)确认并分解项目的组成要素(WBS编号)
    2)确定分解标准,按照项目实施管理的方法分解,而且分解的标准要统一
    3)确认分解是否详细,是否可以作为费用和时间估计的标准,明确责任。
    4)确定项目交付成果(可以编制WBS字典)
    5)验证分解正确性。验证分解正确后,建立一套编号系统
    任务分解方法:模板参照法、自顶向下、自底向上、类比法

    2.当项目过于复杂时,可以对项目进行任务分解,这样做的好处是什么?
    将一个项目分解为更多的工作细目或者子项目,使项目变得更小,更易管理,更易操作,这样可以提高估算成本、时间和资源的准确性,使工作变得更易操作,责任分工更加明确

    第六章 软件成本计划

    填空

    1.软件项目成本包括直接成本和间接成本,一般而言,项目人力成本属于直接成本。
    2.再在项目初期,一般采用的成本估算方法是类比估算法
    3.功能点方法中5类功能组件的计数项是外部输入外部输出外部查询内部逻辑文件外部接口文件
    4.敏捷项目一般采用故事点估算方法。
    5.用例点方法通过分析用例角色、场景和技术与环境因子等来进行软件估算。

    判断

    1.故事点估算是一个相对的估算过程。(
    2.在软件项目估算中,估算结果是没有误差的。(×
    3.人的劳动消耗所付出的代价是软件产品的主要成本。(
    4.功能带你估算与项目所使用的语言和技术有关。(×
    5.COCOMO81有3个等级的模型是有机型、嵌入型、半嵌入型。(×
    6.经验对于估算来说不重要(×
    7.估算时既要考虑直接成本又要考虑间接成本。(
    8.在进行软件估算的时候,可以直接考虑参照其他企业的模型进行项目估算。(×
    9.间接成本是与一个具体项目相关的成本。(×

    选择

    1.三点估算法选择的3钟估算值不包括(D
    A.最可能成本
    B.最乐观成本
    C.最悲观成本
    D.项目经理估算
    2.下面关于估算的说法,错误的是(C
    A.估算是有误差的
    B.估算时不要太迷信数学模型
    C.经验对于估算来说不重要
    D.历史数据对估算来说非常重要
    3.假设某项目的注册功能为3个功能点,而其中成绩录入工作量比注册功能工作量略多,如果采用Fibonacci等级标准估算,则成绩录入功能的估算值是(A
    A.5个故事点
    B.4个故事点
    C.6个故事点
    D.7个故事点
    4.(B)是成本的主要因素,是成本估算的基础。
    A.计划
    B.规模
    C.风险
    D.利润
    5.成本估算方法不包括(D
    A.代码行
    B.功能点
    C.类比法
    D.关键路径法
    6.下列不是UFC的功能计数项的是(C
    A.外部输出
    B.外部文件
    C.内部输出
    D.内部文件
    7.成本预算的目的是(A
    A.生产成本基线
    B.编写报告书
    C.指导设计过程
    D.方便进度管理
    8.下列不是软件项目规模单位的是(D
    A.代码长度LOC
    B.功能点FP
    C.人天、人月、人年
    D.小时
    9.在成本管理过程中,每个时间段中各个工作单元的成本是(B
    A.估算
    B.预算
    C.直接成本
    D.间接成本

    问答

    1.项目经理正在进行一个图书馆信息查询系统的项目估算,他采用Delphi的专家估算方法,邀请了3位专家进行估算,第一位专家给出了2万元、7万元、12万元的估算值,第二位专家给出了4万元、6万元、8万元的估算值,第三位专家给出了2万元、6万元、10万元的估算值,试计算这个项目的成本估算值。
    答:专家一:Ei=(ai+4mi+bi)/6=(2+47+12)/6=7
    专家二:Ei=(ai+4mi+bi)/6=(4+4
    6+8)/6=6
    专家三:Ei=(ai+4mi+bi)/6=(2+4*6+10)/6=6
    Ei=(7+6+6)/3=6.33(万元)

    2.如果某软件公司正在进行一个项目,预计有50KLOC的代码量,项目是中等规模的半嵌入型的项目,采用中等COCOMO模型,项目属性中只有可靠性为很高级别(即取值为1.3),其他属性为正常(书上说,正常就是1),计算项目是多少人月的规模,如果是2万元/人月,则项目的费用是多少?
    答:Effort=a*(KLOC)bF
    查表a=3,b=1.12,F=1
    Effort=3.0
    501.121.31=311.82(人月)
    所以项目的费用为2* Effort=623.64万元

    3.已知某项目使用C语言完成,该项目共有85个功能点,请用IBM模型估算源代码行数、工作量、项目持续时间、人员需要量以及文档数量。
    答:C语言代码行与功能点的关系近似为150LOC/FP,所以,85个功能点代码行数为L85150=12750行=1.75KLOC,则:工作量估算E=5.2L0.91=5.212.750.91≈52.725(人月)
    项目时间 D=4.1
    L0.36=4.112.750.36≈10.25(月)
    人员需求量S=0.54
    E0.6=0.5452.7250.6≈5.829(人)
    文档数量 DOC=49
    L1.01=49*12.751.01≈640.857(页)

    第七章 软件项目进度计划

    填空

    1.关键路径决定了项目在给定的金钱关系和资源条件下完成项目所需的最短时间。
    2.时间是一种特殊的资源,以其单向性、不可重复性、不可替代性而有别于其他资源。
    3.在ADM网络图中,箭线表示活动(任务)
    4.应急法平行作业法都是时间压缩法。
    5.工程评估评审技术采用的加权平均的公式是PERT历时=(O+P+4M)/6,其中O是乐观值,P是悲观值,M是最可能值。

    判断

    1.一个工作包也可以通过多个活动完成(
    2.在项目进行过程中,关键路径是不变的(×
    3.在PDM网络图中,箭线表示的是任务之间的逻辑关系,节点表示的是活动(
    4.项目各项活动之间不存在相互联系与相互依赖关系。(×
    5.在资源冲突问题中,过度分配也属于资源冲突。(
    6.浮动是在不增加项目成本的条件下,一个活动可以延迟的量。(×
    7.在使用应急法压缩时间的过程中,不一定要在关键路径下选择活动来进行压缩。(×
    8.时间是项目中灵活性最小的因素(
    9.外部依赖关系又称强制性依赖关系,指的是项目活动与非项目活动之间的依赖关系(×
    10.当估算某活动时间,存在很大不确定时应采用CMP估计(×
    11.敏捷项目一般采取远粗近细的计划模式,敏捷发布的计划相当于远期计划,迭代计划相当于近期计划。(

    选择

    1.下面说法中不正确的是(D
    A.EF=ES+duration
    B. LS=LF-duration
    C.TF=LS-ES=LF-EF
    D.EF=ES+lag
    2. “软件编码完成之后,我才可以对它进行软件测试”,这句话说明了哪种依赖关系?(A
    A.强制性依赖关系
    B.软逻辑关系
    C.外部依赖关系
    D.里程碑
    3. (A)可以显示任务的基本信息,使用该类图能方便的查看任务的工期、开始时间、结束时间以及资源的信息。
    A.甘特图
    B.网络图
    C.里程碑图
    D. 资源图
    4. (C)是项目冲突的主要原因,尤其在项目后期。
    A.优先级问题
    B.人力问题
    C.进度问题
    D.费用问题
    5. 以下哪一项是项目计划中灵活性最小的因素?(A
    A.时间
    B.人工成本
    C.管理
    D.开发
    6. 以下哪一项不是任务之间的关系?(D
    A.结束-开始
    B.开始-开始
    C.结束-结束
    D.结束-开始-结束
    7. 快速跟进是指(A
    A.采用并行执行任务,加速项目进展
    B. 用一个任务取代另外的任务
    C.如有可能,减少任务数量
    D.减轻项目风险
    8. 下面哪一项将延长项目的进度?(A
    A.lag
    B.lead
    C.赶工
    D.快速跟进
    9. 下面哪一项可以决定进度的灵活性?(B
    A.PERT
    B.总浮动
    C.ADM
    D.赶工
    10.(B)可以表示敏捷项目的进度,并且可以表示出剩余的任务
    A.燃起图
    B.燃尽图
    C.里程碑图
    D.网络图

    问答

    1.对一个任务进行进度估算时,A是乐观者,估计用6天完成,B是悲观者,估计用24天完成,C是有经验者,认为最有可能用12天完成,那么这个任务的历时估算介于10天到16天的概率是多少?
    解:E=(6+24+4*12)/6=13, δ=(24-6)/6=3
    E-δ=10
    E+δ=16

    所以任务历时估算介于10——16天的概率为:68.3%
    2.请将下图所示的PDM(优先图法)网络图改画为ADM(箭线法)网络图。
    略略略
    3.根据下面任务流程图和下表给出的项目历时估算值,采用PERT方法估算,求出项目在14.57天内完成的概率的近似值。
    解:E1=(2+6+43)/6=20/6,E2=(4+8+46)/6=6,E3=(3+6+4*4)/6=25/6
    任务方差、标准差分别为:
    所以,E= E1+ E2+ E3=13.5天,δ=1.07
    E-δ=12.43,E+δ=14.57 [12.43,14.57]的概率为:68.3%
    E-2δ=11.36,E+2δ=15.64 [11.36,15.64]的概率为:95.5%
    E-3δ=10.29,E+3δ=16.71 [10.29,16.71]的概率为:99.7%
    所以,项目在14.57天内完成的概率为:50%+68.3%/2=84.15%

    第八章 软件项目质量

    填空

    1.(审计)是对过程或产品的一次独立质量评估。
    2.质量成本包括预防成本和(缺陷成本)。
    3.软件质量是软件满足明确说明或者隐含的需求的程度。
    4、McCall质量模型关注的3个方面是产品运行产品转移产品修改
    5、质量管理总是围绕着质量保证和质量控制过程两个方面进行。
    6、质量保证的主要活动是项目执行过程审计项目产品审计

    判断

    1、质量是满足要求的程度,包括符合规定的要求和客户隐含的需求。(
    2、软件质量是软件满足明确说明或者隐含的需求的程度。(
    3、软件质量可以通过后期测试得以提高。(×
    4、质量计划可以确定质量保证人员的特殊汇报渠道。(
    5、软件质量是代码正确的程度。(×
    6、敏捷项目要求全程的质量审查(×

    选择

    1.下列不属于质量管理过程的是(D
    A.质量计划
    B.质量保证
    C.质量控制
    D.质量优化
    2.项目质量管理的目标是满足(C)的需要
    A.老板
    B.项目经理
    C.项目
    D.组织
    3、下列属于质量成本的是(A
    A.预防成本
    B.缺陷数量
    C.预测成本
    D.缺失成本
    4、下列不是质量计划方法的是(C
    A.质量成本分析
    B.因果分析图
    C.抽样分析
    D.基准对照
    5.下列不是软件质量模型的是(D
    A.Boehm质量模型
    B.McCall质量模型
    C.ISO/IEC 9216质量模型
    D.Mark质量模型
    6.质量控制非常重要,但是进行质量控制也需要一定的成本,(B)可以降低质量控制的成本。
    A.进行过程分析
    B.使用抽样统计
    C.对全程进行监督
    D.进行质量审计
    7、McCall 质量模型不包含(C
    A.产品修改
    B.产品转移
    C.产品特点
    D.产品运行
    8、下面(D)不是敏捷项目的质量实践
    A.结对编程
    B.TDD
    C.迭代评审
    D.需求规格编写过程审计

    简答

    1、简述质量保证的主要活动,以及质量保证的要点。
    质量保证的主要活动是项目执行过程审计和项目产品审计。
    质量保证的要点是:对项目进行评价、推测能否达到质量指标、建立对项目的信心

    2、简述质量保证与质量控制的关系。
    质量保证(QA)是通过评价项目整体绩效,建立对质量要求的信任,提供项目和产品可视化的管理报告。这个任务本身并不能提高产品的质量,但是通过质量保证的一系列工作可以间接地提高产品的质量。质量保证一般由质量保证部门人员实施。
    质量控制(QC)是确定项目结果与质量标准是否相符,同时,确定消除不符的原因和方法,它控制产品的质量,及时纠正缺陷。这个任务本身提高产品的质量,一般由开发人员实施。
    质量保证是后期质量活动,质量控制是前期质量活动。它们是有区别的:质质量保证是针对项目实施过程的管理手段,质量控制是针对项目产品的技术手段;实施质量保证是针对过程改进和审计的,强调的是过程改进和信心保证。实施质量控制是按照质量要求,检查具体可交付成果的质量,强调的是具体的可交付成果。

    第九章 软件配置管理计划

    填空

    1.完整性和可跟踪性是软件配置管理的核心功能。
    2.基线标志开发过程中一个阶段的结束和里程碑。
    3.基线变更控制包括变更请求变更控制变更批准/拒绝变更实现等步骤。
    4.版本管理变更管理是配置管理的主要功能。
    5.基线变更时,需要经过SCCB授权。
    6.SCCB的全称是软件配置控制委员会

    问答

    1.一个软件配置项可能有多个标识。(×
    2.基线提供了软件开发阶段的一个特定点。(×
    3.有效的项目管理能够控制变化,以最有效的手段应对变化,不断命中移动的目标。(
    4.一个(些)配置项形成并通过审核,即形成基线。(
    5.软件配置项是项目需定义其受控于软件配置管理的款项,每个项目的配置项是相同的。(×
    6.基线的修改不需要每次都按照正式的程序执行。(×
    7.基线产品是不能修改的。(×
    8.基线修改应受到控制,但不一定要经SCCB授权。(×
    9.变更控制系统包括从项目变更申请、变更评估、变更审批到变更实施的文档化流程。(
    10.持续支付领域强调对项目所有的相关产物及其之间的关系都要进行有效配置管理(
    11.持续支付更倾向于使用基于分支的开发模式(×

    选择

    1.下列不属于SCCB的职责的是(D
    A.评估变更
    B.与项目管理层沟通
    C.对变更进行反馈
    D.提出变更申请
    2.为了更好地管理变更,需要定义项目基线,关于基线的描述,下列描述正确的是(B
    A.不可变化
    B.可以变化,但是必须通过基线变更控制流程处理
    C.所以的项目必须定义基线
    D.基线发生变更时,必须修改需求
    3.软件配置管理无法确保以下哪种软件产品属性(A
    A.正确性
    B.完整性
    C.一致性
    D.可控性
    4.变更控制需要关注的是(B
    A.阻止变更
    B.标识变更,提出变更,管理变更
    C.管理SCCB
    D.客户的想法
    5.以下哪项不是项目配置管理中可能遇到的问题?(B
    A.找不到某个文件的历史版本
    B.甲方与乙方在资金调配上存在意见差异
    C.开发人员未经授权修改代码或文档
    D.因协同开发中,或者异地开发,版本变更混乱导致整个项目失败

    问答

    1.写出配置管理的基本过程。
    (1)配置项标识、跟踪;(2)配置管理环境建立;(3)基线变更管理;(4)配置管理审计;(5)配置状态统计;(6)配置管理计划。
    2.说明软件配置控制委员会(SCCB)的基本职责。
    评估变更、批准变更申请、在生存期内规范变更申请流程、对变更进行反馈、与项目管理层沟通。
    3.写出几个常见的软件配置项。
    软件项目计划、需求分析结果、软件需求规格说明书、设计规格说明书、源代码清单、测试规格说明书、测试计划、测试用例与实验结果、可执行程序、用户手册、维护文档。

    第十章 软件项目团队计划

    填空

    1.可以充分发挥部门资源优势集中的组织结构为(职能型组织结构
    2.组织结构的主要类型(职能型)、(项目型)、(矩阵型
    3.(会议形式)沟通最有可能协助解决复杂的问题。
    4.当项目中有20个人时,沟通渠道最多有(190)。

    判断

    1.项目干系人是项目计划的一部分。(
    2.项目型的优点是可以资源共享。(×
    3.应尽量多建立一些沟通渠道。(×)
    4.项目沟通的基本原则是及时性、准确性、完整性和可理解性()
    5.在IT项目中,成功的最大威胁是沟通的失败()
    6.责任分配矩阵是明确项目团队成员的角色与职责的有效工具()
    7.口头沟通不是项目沟通的方式(×)
    8.对于紧急的信息,应该通过口头的方式沟通;对于重要的信息,应采用书面的方式沟通()
    9.沟通计划包括确定谁需要信息,需要什么信息,何时需要信息,以及如何接收信息等()
    10.敏捷团队的人员一般在3~9人,而且一般集中地在一个场地开发,可以围坐一个桌子开会(

    选择

    1.(A)以图形方式展示项目团队成员及其报告关系这样可以减少沟通渠道,减少成本
    A.项目组织图
    B.甘特图
    C.网络图
    D.RAM图
    2.下面不是敏捷角色的是(D
    A.产品负责人
    B.团队促进者
    C.跨职能团队成员
    D.合同管理者
    3、在项目管理的3种组织结构中,适用于主要由一个部门完成的项目或技术比较成熟的项目组织结构是( C)
    A.矩阵型组织结构
    B.项目型组织结构
    C.职能型组织结构
    D.都一样
    4、项目经理花在沟通上的时间是(B)
    A.20%-40%
    B.75%-90%
    C.60%
    D.30%-60%
    5.在(C)组织结构中,项目成员没有安全感
    A.职能型
    B.矩阵型
    C.项目型
    D.弱矩阵型
    6、下列关于干系人的描述中,不正确的是(D
    A影响项目决策的个人、群体或者组织
    B影响项目活动的个人、群体或者组织
    C影响项目结果的个人、群体或者组织
    D所有项目人员
    7.编制沟通计划的基础是(== A==)
    A.沟通需求分析
    B.项目范围说明书
    C.项目管理计划
    D.历史资料
    8.项目团队原来有5个成员,现在人员扩充,又增加了3个成员这样沟通渠道增加了(A
    A.2.8倍
    B.两倍
    C.4倍
    D.1.6倍
    9.对于项目中比较重要的通知,最好采用(B)沟通方式
    A.口头
    B.书面
    C.网络方式
    D.电话
    10.在一个高科技公司,项目经理正在为一个新的项目选择合适的组织结构,这个项目涉及多的领域和特性,他应该选择(A)组织结构
    A.矩阵型
    B.项目型
    C.职能型
    D.组织型

    简答

    1.写出5种以上项目沟通方式
    沟通方式主要有书面沟通和口头沟通、语言沟通和非语言沟通、正式沟通和非正式沟通、单向沟通和双向沟通、网络沟通等
    2.对于特别重要的内容,你认为一般采用哪些方式才能确保有效沟通
    对于特别重要的内容,要采用多种方式进行有效沟通确保传达到位,除发送邮件外还要电话提醒、回执等,重要的内容还要通过举行各种会议进行传达

    第十一章 软件项目风险计划

    填空

    1.风险评估的方法包括定性和定量风险分析。
    2.决策树分析是一种形象化的图表分析方法。
    3.项目风险的三要素是风险事件风险事件发生的概率风险造成的影响
    4.回避风险是指尽可能地规避可能发生的风险,采取主动放弃或者拒绝使用导致风险的方案。
    5.定量风险评估主要包括访谈盈亏平衡分析决策树分析模拟法敏感性分析等方法。

    判断

    1.任何项目都是有风险的。(
    2.风险是损失发生的不确定性,是对潜在的、未来可能发生损害的一种度量。(
    3.风险识别、风险评估、风险规划、风险控制是风险管理的4个过程。(
    4.应对风险的常见策略是回避风险、转移风险、损失控制和自留风险。(
    5.项目的风险几乎一样。(×
    6.购买保险是一种回避风险的应对策略(×
    7.敏捷项目没有长期计划,这本身也是一个风险,因为存在一些无法识别的风险。(

    选择

    1.下列不属于项目风险的三要素的是(B)。
    A.一个事件
    B.事件的产生原因
    C.事件发生的概率
    D.事件的影响
    2.下列属于可预测风险的是(C)。
    A.不现实的交付时间
    B.没有需求或软件范围的文档
    C.人员调整
    D.恶略的开发环境
    3.下列不是风险管理过程的是(D
    A.风险评估
    B.风险识别
    C.风险规划
    D.风险收集
    4.下列说法错误的是(D)。
    A.项目风险的3个要素是一个事件、事件发生的概率、事件的影响
    B.风险规划的4个过程是风险识别、风险评估、风险规划、风险控制
    C.风险规划的主要策略是回避风险、转移风险、损失控制、自留风险
    D.项目风险是由风险发生的可能性决定的
    5.在一个项目的开发过程中采用了新的技术,为此,项目经理找来专家对项目组人员进行技术培训,这是什么风险应对策略?(B)。
    A.回避风险
    B.损失控制
    C.转移风险
    D.自留风险
    6.下列不属于风险评估方法的是(D)。
    A.盈亏平衡分析
    B.模拟法
    C.决策树分析
    D.二叉树分析

    展开全文
  • 项目管理&项目经理进阶——项目管理&项目经理进阶——清华大学《软件工程》课程学习与分享 这是删除线 课程中《第12章 软件交互设计》是由史元春主讲,自己冲着史老师人美声甜授课专业且饶有趣味, 还专门查...

    博主在研究生时期主要用Fortran做数值计算方面的算法研究,现在工作上会用到Python做一些数值计算软件二次开发及自动化的应用。由于博主有意向往软件相关的项目管理岗位转型,但自觉本人在软件工程方面的知识还有所欠缺,所以早前就有在相关方面做学习和积累,本次就简单介绍与记录下自己之前学习的清华大学的《软件工程》的视频课程。
    当然自己写此篇博文,一方面是为了做学习记录,另一方面是课程讲的确实挺好。现在的视频课程的学习平台很多,除了慕课和清华学堂,还有b站或其他视频网站,课程资源繁多琳琅满目的时候,很有可能让人看花了眼难以选择。而且不同课程授课水平各不一样,有些讲的好,通俗易懂旁征博引,有些课程可能就略显照本宣科,还是需要做一番筛选的。自己当时就软件工程课程相关公开课做过比较,对比下来发现清华大学的这么《软件工程》课程讲的不错。所以也秉承着学习分享的态度,希望为同样有兴趣系统学习软件工程的小伙伴们做个参考。

    1. 课程相关信息

    1.1 课程简介

    本课程从软件生命周期的角度讲解软件工程的基本概念、基本原理和基本方法,内容涉及开发管理、需求建模、设计实现和测试维护等四大部分的相关基础知识,强调软件工程的根本性和永久性原则,诸如可测试性、软件体系结构、模块化和可复用性等,关注软件系统的复杂性问题以及迭代式的开发方法,重视分析问题与解决问题的能力以及软件工程实践训练,培养学生良好的工程化开发习惯。经过本课程的学习,学生能够掌握软件工程的基础知识,从工程学角度认识软件在大型复杂系统中的设计和应用,具备作为软件工程师从事软件开发所需的专业能力。
    该课程于2019-10-30上线,应该算是新编课程,所以课程的内容一定程度上也结合反映了当下软件工程的新发展及应用的,课程总共分为15个章节,共计83堂课,总课时约为17小时。课程所在的学堂在线网址如下:
    https://www.xuetangx.com/course/THU08091000367/5883555

    1.2 教师团队

    以下是官网上贴出的教师团队:
    在这里插入图片描述

    本课程主讲老师为刘强老师,随着自己在课程的学习中发现,授课其实并不止以上两位,课程中《第4章 软件开发过程》请来前微软Azure工程团队首席研发经理、现CSDN副总裁的邹欣介绍了微软的开发流程,共3节课,作为企业实际开发的实例介绍也是不错。
    课程中《第12章 软件交互设计》是由史元春主讲,自己冲着史老师人美声甜授课专业且饶有趣味, 还专门查了下老师的资料:
    史元春,清华大学计算机系“长江学者”特聘教授,人机交互与媒体集成研究所所长,清华大学全球创新学院(GIX)院长。她的主要研究方向为人机交互、普适计算、多媒体、网络教育技术等,主持国家十三五重点专项等国家研发计划项目。其科研成果近年连续获得国际人机交互领域顶级会议最佳论文奖、并两次获得国家科技进步奖。史元春兼任中国计算机学会常务理事,人机交互专业委员会副主任。
    在这里插入图片描述

    1.3 课程编程语言

    本课程中相关软件工程的知识介绍,主要是以编程语言Python来配合讲解, 使用的Python IDE(集成开发环境)是Pycharm。相关的代码分析工具为 Pylint,单元测试工具使用的是PyUnit。
    对博主而言,自己熟悉的Python编程语言,且常用的Python IDE就是Pycharm,相关工具Pylint/ PyUnit也会用到,博主的博客专栏《机器学习实战之路》就是基于此开发环境实现。所以本课程要求的相关知识基础方面,还算与博主这块较为匹配的。
    不过不同于自己博客专栏《机器学习实战之路》的论述,机器学习专栏更多的是定位在开发技术人员的分享学习,对于广大的程序员开发同胞来说,Python和Pycharm等这些概念是无需多言的。不过《软件工程》本课程的定位在于全面系统的介绍软件工程,相当于一门专业导论课,所以博文在此也简要介绍一下Python和Pycharm等概念:
    Python:由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。由于Python的众多优势, Python早已广泛应用于人工智能、机器学习、深度学习、大数据、网站Web开发、搜索引擎、云计算、科学计算等领域。
    PyCharm:是来自JetBrains公司的全功能python开发环境。在涉及人工智能和机器学习时,它被认为是最好的 Python IDE。最重要的是,Pycharm 合并了多个库(如 Matplotlib 和 NumPy),帮助开发者探索更多可用选项。PyCharm支持很多的第三方web开发框架,比如Django、 Pyramid、web2py、google app engine 和 Flask,这些也使得它成为了一个完整的快速应用集成开发环境。这也是本课程《软件工程》使用PyCharm做为Python IDE的原因之一。
    Pylint:是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8)和有潜在问题的代码。
    PyUnit(unittest): 是 Python 自带的单元测试框架,用于编写和运行可重复的测试。PyUnit 是 xUnit 体系的一个成员,xUnit 是众多测试框架的总称,PyUnit 主要用于进行白盒测试和回归测试。通过 PyUnit 可以让测试具有持久性,测试与开发同步进行,测试代码与开发代码一同发布。

    1.4 课程参考教材

    虽然本课程中没有给出对应学习的教材,且主讲老师也在回复学生的评论中说没有对应教材,不过自己买了本Ian Sommerville的《软件工程》作为主要参考书,基本上对应与覆盖视频课程的知识点。
    在这里插入图片描述

    除此之外,还有结合《SWEBOK(Software Engineering Body of Knowledge)指南》一起学习。2014年2月20日,IEEE计算机协会发布了软件工程知识体系 SWEBOK(Software Engineering Body of Knowledge)指南第3版。SWEBOK指南的目的是为软件工程学科的边界提供一致确认的特征,为支持该学科的主体知识提供指导。SWEBOK 指南把软件工程学科的主体知识分为10个知识领域,各种重要概念之间的区别在每个知识领域描述中阐述,便于读者迅速查找所感兴趣的主题。SWEBOK 的宗旨是在众多知识中圈定“属于”软件工程学科领域的知识,规定软件工程教育和培训方面的要求和制订出评价原则,并且在世界范围内求得公认。它还试图为从事软件实践的工程师和负责制定有关职业指导原则的政策的官员提供指南。

    2. 组织过程资产输入

    2.1 编程的学习与实践

    前面也已简要叙述了,博主在研究生时期主要用Fortran做数值计算方面的算法研究,工作上会用到Python做一些数值计算软件二次开发及自动化的应用。还有自己在机器学习方面的学习及实战,都是可以作为此次学习的基础编程知识输入的。
    在这里插入图片描述

    2.2 PMP项目管理经验

    在软件工程中,软件项目管理也是十分重要的。关于项目管理方面的专业知识储备,博主在上一篇《项目管理&项目经理进阶——PMP 5A高分通过备考经验分享》已经进行过分享论述,PMP认证在IT行业广泛受到认可,博主当时备考PMP的那一批小伙伴中,大部分就是来自IT互联网相关的行业,所以PMP项目管理的知识在软件项目管理中是同样适用的。关于PMP项目管理相关备考知识的展开,有兴趣的可以查看博主的备考博文。博主在敏捷开发方面的知识也做过一些研习,部分参考书如下:
    在这里插入图片描述

    3. 软件工程

    软件工程学科的定义有很多种,表述各有不同,但其蕴含的内容是基本相同的。在此引用其中的一种来进行介绍,《计算机科学技术百科全书》对该学科的定义是:应用计算机科学、数学、工程科学及管理科学等原理开发软件的工程。开发一个软件产品是构建一套符合逻辑的指令,通过发送信号来控制某个机器与其它机器、人与自然界的互动。软件项目较之普通的工程项目,其复杂程度高出很多倍。
    软件开发的主要活动大致可以分为:软件需求,软件设计,软件构造,软件测试,软件维护,还有整个开发过程中的软件开发管理。
    在这里插入图片描述

    3.1 软件生命周期模型

    软件生命周期是人们在研究软件生产时所发现的一种规律性的事实,软件生产有一个生产、使用和消亡的过程,称之为软件的生命周期,软件的生命周期从软件的功能确定、设计、开发完成、投入使用、并在使用中不断的修改、增补和完善,直至被新的需要所替代而停止该软件的使用为止的全过程。总体上分析,软件生命周期将包括分析、设计、实现和维护等一系列过程。而对于生命周期的不同划分方法就会形成不同的软件生命周期模型。
    瀑布模型
    在传统软件开发中,瀑布模型是最常用及最典型的软件生命周期模型。瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落,这也是瀑布开发名称的由来。从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的, 从系统需求分析开始直到产品发布和维护。其主要特点是:与一般系统工程一致,易于使用,不要求特别的技术与工具也能较好地进行软件开发;其缺点是:难于很好地表达和描述用户的需求。
    敏捷开发——Scrum
    敏捷开发是近些年兴起的一种软件开发与管理的思想, 以其灵活性, 易操作性得到软件行业的广泛关注。 敏捷开发方法是一组开发方法的统称,主要包括极限编程、Scrum、 精益开发和动态系统开发方法(DS-DM)、特征驱动开发(FDD)等 。它的基本原则有迭代式开发、增量交付、互动式开发、持续集成等。
    Scrum 是目前应用最广泛和最受人欢迎的敏捷思想,它将软件开发团队比作橄榄球队,全队有明确的最高目标:发布产品的重要性高于一切。团队高度自治,队员们熟悉开发过程中涉及到的各种技术,紧密合作,确保每个迭代都朝着最高目标推进。而且每隔2至6周,每个人都能看到能实际工作的软件,并且据此决定是发布这个版本还是继续开发以加强它的功能。对于功能需求可能经常发生变化的项目来说,Scrum是它们最为理想的选择之一。

    在这里插入图片描述

    Scrum团队:由一位产品负责人(Product Owner)、开发团队(Development Team)和Scrum Master三部分共同组成。Scrum团队是自组织和跨职能的。Scrum团队模型旨在优化灵活性、创造性及生产力。

    产品负责人:负责从开发团队工作产品中最大化产品价值,且必须是一个人。
    开发团队:由专业人员组成,负责每个冲刺结束时,交付潜在可发布的“已完成”的产品增量。
    Scrum Master:负责推进和支持Scrum定义的工作事务,帮助团队中每个成员理解Scrum理论,实践,规则和价值观。

    Scrum事件:Scrum中使用规定的事件来创建规则,并最小化对Scrum 中未定义的会议需求。Scrum 中定义了四个事件:冲刺计划、每日站立会、冲刺评审、冲刺回顾。
    Scrum 工件:代表着团队工作或者价值,赋予审视和适应两大支柱一个透明的机会。工件包括产品任务列表 (Product Backlog)、冲刺任务列表 (Sprint Backlog)、产品增量 (Increment)。
    冲刺(Sprint):是 Scrum 的核心,也是 Scrum 团队工作的一个工作时间盒,每次冲刺都应保持在 1 周到一个月之间。冲刺必须是连续的,一个接一个的,从而保证一个稳定的、固定的项目节奏。每次冲刺都以开发计划为起点,以评审已完成的工作和额外的评审团队协作的方式为终点。每次冲刺都由整个Scrum 团队共同完成整个产品或项目的一个或多个增量。每个完成的增量必须是潜在可释放的,也就是每一个增量必须是在冲刺结束后经过充分测试和充分认可的。以下为Scrum 团队单次冲刺过程示意:
    在这里插入图片描述

    下面我们进一步对软件开发的主要活动稍加论述,当然教材及很多材料对这些知识有详细的论述,我这里就简单汇总整理一下各阶段的知识点。

    3.2 软件需求

    通常来看,软件需求更多的被定义为“业务知识+问题列表+其他因素”。其中业务知识包括业务事件、业务实体和业务规则;问题列表就是用户在工作中遇到的困难和障碍,这也是软件开发需要解决的问题;其他因素包括了一些设计约束和非功能方面需求。从软件工程的角度看,决定软件项目成败与否最主要的因素是需求,需求开发和管理工作做得好,软件开发成功的几率就大。
    在这里插入图片描述

    3.3 软件设计

    软件设计是从软件需求规格说明书出发,根据需求分析阶段确定的功能设计软件系统的整体结构、划分功能模块、确定每个模块的实现算法以及编写具体的代码,形成软件的具体设计方案。从工程管理的角度,可以将软件设计分为概要设计和详细设计阶段。
    在这里插入图片描述

    3.4 软件构造

    软件构造得到软件的源代码和可执行代码,使软件产品的设想变为现实,软件构造是软件工程体系中的重要一环。为了实现高质量的软件产品,不仅需要有编码工作,还必须遵守软件构造的各种原则,具有良好的软件设计,遵守一定的编码原则以及规范的编码过程,具有软件测试的过程等,以上这些都是软件构造需要关注的。
    在这里插入图片描述

    3.5 软件测试

    在开发人员设计完成所有模块之后,测试人员应当对设计完成的软件展开全面测试。展开软件测试的关键目的,便是及时将存在的各种问题和bug 等找出来。然而需要注意的是,在将软件中 bug 找出来之后,测试人员不能对其展开直接修改,需要在其经过审核后,由开发人员对 bug 进行修改,待所有 bug 完成修改后,才可以使软件正常工作。在正式测试工作开始前,应当确保测试人员对相关功能、业务加以全面学习、掌握,随后才能确保其能够明确软件中的不足与缺陷。

    在这里插入图片描述

    3.6 软件维护

    测试完成之后便进入了维护阶段。如今大部分科技产品均拥有各自维修站,这主要是由于在各类软件、产品的具体运用过程中,许多产品常常出现各不相同的故障、问题,而工作人员亟需将各类问题反馈上去,及时维修这些问题。这就需要工作人员在对软件进行使用的时候,及时记录各类问题,从而便于后续的修改以及维修工作,使相应工作人员能够在第一时间找到问题的原因。
    在这里插入图片描述

    3.7 软件开发管理

    在进行软件开发时,不但要注重技术的应用,还应该加强人员和开发过程的管理力度,引入先进的管理体系,提高软件开发管理水平。软件开发中引入软件工程项目管理理念,改变传统的以个人为中心的管理模式,更注重团队协作。在现阶段的软件开发阶段,采用管理学的理念进行过程管理,合理的把控开发进度,同时确保软件的开发能够达到预期效果,此外,通过项目管理手段也能够实现软件领域的长远发展,避免软件开发风险造成的严重后果。关于项目管理相关知识的论述,可以参考博主前面写的博文《项目管理&项目经理进阶——PMP 5A高分通过备考经验分享》。
    相比于普通的工程项目,软件工程的配置管理更为复杂,在此稍加展开论述。软件配置管理(Software configuration management,SCM)是指通过执行版本控制、变更控制的规程,以及使用合适的配置管理软件,来保证所有配置项的完整性和可跟踪性。配置管理是对工作成果的一种有效保护。简单而言就是管理软件的变化,它应用于整个软件工程过程,通常由相应的工具、过程和方法学组成。
    配置管理的目标是记录软件产品的演化过程,确保软件开发者在软件生命周期中各个阶段都能得到精确的产品配置。配置管理过程是对处于不断演化、完善过程中的软件产品的管理过程。其最终目标是实现软件产品的完整性、一致性、可控性,使产品极大程度地与用户需求相吻合。它通过控制、记录、追踪对软件地修改和每个修改生成的软件组成部件来实现对软件产品的管理功能。

    在这里插入图片描述

    4.参考学习的书目教材

    1. 清华大学《软件工程》视频课程
    2. 《软件工程》Ian Sommerville 著 彭鑫 译
    3. 《SWEBOK指南 第3版》
    4. 《系统集成项目管理工程师教程 第2版》 谭志彬 主编
    5. 《项目管理知识体系指南(PMBOK指南)》

    =文档信息=
    本学习笔记由博主整理编辑,仅供非商用学习交流使用
    由于水平有限,错误和纰漏之处在所难免,欢迎大家交流指正
    如本文涉及侵权,请随时留言博主,必妥善处置
    版权声明:非商用自由转载-保持署名-注明出处
    署名(BY) :zhudj
    文章出处:https://zhudj.blog.csdn.net/

    展开全文
  • 学生宿舍管理系统测试用例
  • 软件文档2.4完成项目的最迟期限项目系统测试最后完成日期为:2012年08月28日,然后在2012年08年30日之前,进行运行时的测试、产品化工作,包括用户培训等服务活动的实施。 3实施计划3.1工作任务的分解与人员分工组长...
  • 软件实习项目四——简单学生管理系统的实现 文章目录软件实习项目四——简单学生管理系统的实现前言一、基于MFC来开发。二、具体实现的功能内容以及相关知识。1.登录界面的设置2.基本信息界面的显示3.基本功能的实现...
  • 摘要:随着时代的发展,计算机技术已成为各行各业不可或缺的技术。...本文通过对计算机软件在高校学生管理工作的重要性分析,对高校计算机软件在高校学生管理工作中的应用方式作出了探讨。Abstract: With the de...
  • 学生宿舍公寓管理系统的功能,使学生的生活信息和学习信息充分结合在一起,为宿舍管理员、年级辅导员提供全方位的学生在校信息,以及时跟进学生学习状况,达到人性化、全方位、高效率的管理。系统采用jsp语言开发,...
  • 第一章软件项目管理概述 一、填空题 1、实现项目目标的制约因素有(项目范围)、(成本)、(进度计划)、(客户满意度)等。 2、项目管理包括(启动过程组)、(计划过程组)、(执行过程组)、(控制过程组)、...
  • 1.1研究背景与现状21世纪以来计算机信息服务已经很广泛的应用在人们的生活之中,出门什么都不带,只需要一部手机...现状:随着现在各大高校的人数不断增加,学校学生都是采用封闭式,一体化的管理,但现在很多小城市...
  • 学生管理系统项目总结.doc学生管理系统项目总结作为软件工程经常出现的课题学生信息管理系统,完成 这个系统后培训老师一般要我们写一份总结报告,那么这份 总结报告怎么写?下面为你带来学生管理系统项目总结学生...
  • 这不仅工作效率低下,而且使得的管理上也极其反映当时的情况,尤其在查询数据时,相当的繁琐,偶尔可能存在表单记录丢失的情况,所以,很有必要推出一款便于学生宿舍管理的一套软件。 本系统主要采用spring开发...
  • 学生宿舍信息管理系统

    万次阅读 多人点赞 2020-12-31 15:20:16
    本系统实现以下基本功能:管理员可以对公寓进行全程管理,不仅可以管理学生,还可以管理寝室人员及外来人员及出入物品,也能方便的进行统计和更改。把软件工程中规范化的软件开发方法应用到本次学生公寓管理系统的...
  • PAGE 7PAGE 1PAGE 0本科生毕业论文题 目基于Android的学生宿舍管理系统的实现系 别计算机科学与技术班 级计算机科学与技术082班级姓 名王西迪学 号 084632220答辩时间 2012 年 5 月新疆农业大学 计算机 学院目 录TOC...
  • 学生宿舍管理系统设计与分析

    千次阅读 热门讨论 2020-12-27 20:15:12
    学生宿舍管理系统能够合理安排新生分配宿舍,不浪费公共资源,减轻学校管理压力,同时减少宿舍内同学之间的矛盾,促使学生享受舒适的校园生活。 2、需求分析 2-1 系统概述 软件旨在宿舍管理全部电脑化。它主要可以更...
  • IT项目管理属于信管必修课,由孙老师授课出题,教材长下面这样,不过老师用的和学生用的教材不是同一个版本的,所以考试复习的时候出现老师给的资料和学生教材不一样的情况。我个人认为,学生用的书比较容易理解,...
  • 软件工程课程项目设计 组长 郭宇豪:主要负责系统设计部分,设计图,设计流程校对 组员 王世宇:主要负责对象设计以及功能实现 李杰:负责动态模型设计以及模型实现 1、系统设计 系统可分为5个子系统:书籍信息录入...
  • 分享之前写的一个项目学生宿舍管理系统。 开发环境 开发软件 idea 也可以用eclipse导入 前端 lyaui 后端 spring springmvc mybatis 分页用的pagehelper maven管理项目 tomcat 7 数据库库 mysql 5.7 效果图 后台...
  • 基于java的学生宿舍管理系统(含源文件)

    千次阅读 多人点赞 2021-03-05 19:51:49
    欢迎添加微信互相交流学习哦! 项目源码:...学生宿舍是每一位在校学生生活、学习、相互交流的主要场所,如何提供一个良好的学生宿舍管理体系,对学校和同学而言至关重要。以往的学生宿舍管理基本上还.
  • 软件工程里面很重要的一环就是项目管理。理想状态下的项目管理可以参见各种教科书,然而在真实工程中永远无法达到教科书中的理想环境,因为管理的核心是人,所以照本宣科谈管理都是纸上谈兵。下面就从项...
  • asp.net高校学生宿舍管理系统VS开发sqlserver数据库web结构c#编程计算机网页源码项目-管理软件文档类资源-CSDN下载一、源码特点asp.net高校学生宿舍管理系统是一套完善的web设计管理系统更多下载资源、学习资料请...
  • 大学生创新创业项目管理系统

    千次阅读 热门讨论 2021-01-09 11:23:34
    二、项目管理系统的需求分析 (1)社会可行性分析…2 (2)经济可行性分析…3 三、项目管理系统的概要设计 (1)系统功能设计…4 (2)系统数据库设计…6 四、项目管理系统的实现 (1)前台功能的实现…7 (2)后台...
  • 项目类型:JAVA WEB项目项目名称:基于SSM的学生宿舍管理系统 用户类型:3个角色(管理员+宿管员+学生)系统类型:后台管理系统设计模式:SSM开发工具:Eclipse数据库:Mysql+Navicat数据库表:18张适用:软件工程...
  • C语言项目学生信息管理系统 学习完c语言后,大家可能依旧不懂如何使用c语言来写一个简单的项目,以及如何实现简单的功能,于是这一个小项目,可以帮助大家复习c语言的知识,以及对一个软件的产生有初步的了解。 项目...
  • 宿舍管理查询软件

    2021-04-02 17:08:50
    项目是博主之前用纯C语言写的一个软件,目的是为了给宿舍管理人员编写一个宿舍管理查询软件,该软件具有以下功能: 建立数据文件,文件中保存着宿舍入住人员的信息,包括姓名、学号、房号、 联系电话、家庭联系...
  • 大家好,今天给大家演示一下由Java swing实现的学生信息管理系统,该系统对应于上次我们演示的jsp学生管理系统,如果想看jsp的学生管理系统请在我的博客或者视频列表里查看,地址最后给出的。这款Java swing实现的...
  • 随着互联网快速发展,电脑的发展,让我们的生活更加的便利,也在学校的办公管理领域得到了很好发挥,以前记录学生宿舍操作需要通过人工记录的方式,来登记,这样的操作极其不方便,尤其是在查阅某个人员进出时的情况...
  • 凡事预则立,不预则废前言一、论安迪特质与项目经理的共通性二、个人感想三、我的产品经理实习笔试 前言   昨天杨老师上了一让我记忆很深刻的课,就是项目计划的重要性,以《肖申克的救赎 》为例:   《肖申克的...
  • PHP宿舍管理系统项目实战系统分析系统设计知识点项目实现 系统分析 对客户(甲方)的工作需求进行了解,从而调整自己的程序功能。 系统设计 知识点 PHP表单实现数据的收集 PHP-Cookie和Session的使用 项目实现 本...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 67,965
精华内容 27,186
关键字:

软件项目管理学生宿舍