选择题

1.计算机软件是:(C)

A.源程序 B.算法及相关文档 C.程序及相关数据和文档 D.可执行程序

2.软件工程方法学的 3 个要素不包括(A):

A.开发者 B.方法 C.工具 D.过程

3.需求分析是解决系统(B)的问题。

A.为谁做 B.做什么 C.怎么做 D.合适做

4.螺旋模型的特点是(D)

A.客户参与程度高 B.缺乏灵活性 C.客户与开发人员易沟通 D.引入风险分析

5.程序语言的 3 种基本控制结构是(B)

A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移

简答题

生命周期

软件生命周期一般包括分析、设计、实现、测试、维护等阶段。
分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。
设计阶段:设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每 个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。
实现阶段:将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。
测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。然后,将各个模块 集成起来,测试整个产品的功能和性能是否满足已有的规格说明。
维护阶段:为了改正错误、适应环境变化和增强功能,对软件进行一系列的修订。

分别从管理和技术的角度说明软件设计的主要工作

管理:
概要设计:概要设计主要是把需求转换为数据和软件体系结构。
详细设计:主要集中在体系结构表达的细化,从而产生详细的数据结构和软 件的算法表达。
技术:
数据设计:就是把分析阶段所建立的信息域模型变换为软件实现所必须的数 据结构。
体系结构设计:主要是定义程序结构构件之间的相互关系。
过程设计:则是变换结构构件为软件的过程描述。
界面设计:主要是建立人-机之间界面的布局和交互的机制。

简要说明需求层次和需求分析的过程

层次:
业务需求( business requirement) :
反映组织机构或客户对系统、产品高 层次的目标要求,他们在项目视图与访问文档中予以说明。
用户需求(user requirement) :
描述用户使用产品必须要完成的任务。
功能需求(functional requirement) :
定义开发人员必须实现的软件功能, 使得用户能完成他们的任务。
非功能需求:
软件除了满足功能以外还须满足的一些标准、规范和约束等。
过程:
问题识别:
从系统的角度来理解软件并评审软件范围是否恰当。确定对目标系统的综合要求,即软件的需求。提出这些需求实现条件,以及需求应达到的标准。
分析与综合:
从信息流和信息结构出发,逐步细化所有的软件功能,找出系统各元素之 间的联系、接口特性和设计上的约束,分析它们是否满足功能要求,是否 合理。剔除其不合理的部分,增加其需要部分。最终综合成系统的解决方 案,给出目标系统的详细逻辑模型。
编制文档:
软件需求说明书(SRS- Software Requirements Specifications)
数据要求说明书
初步的用户手册
修改、完善与确定软件开发实施计划
需求分析评审:
系统定义的目标是否与用户的要求一致;
系统需求分析阶段提供的文档资料是否齐全;
文档中的所有描述是否完整、清晰、准确反映用户要求;
与所有其它系统成分的重要接口是否都已经描述;
被开发项目的数据流与数据结构是否足够,确定;
所有图表是否清楚,在不补充说明时能否理解;
主要功能是否已包括在规定的软件范围之内,是否都已充分说明;
设计的约束条件或限制条件是否符合实际;
开发的技术风险是什么;
是否考虑过软件需求的其它方案;
是否考虑过将来可能会提出的软件需求;
是否详细制定了检验标准,它们能否对系统定义是否成功进行确认;**

请简要说明结构化分析和用例分析的主要过程

结构化分析:结构化分析:首先用结构化分析(SA) 对软件进行需求分析,然后用结构化设计(SD)方法进行总体设计,最后是结构化编程 (SP)。
用例分析:首先确定系统边界、确保关注参与者、每个用例必须给用户提供价值、关联用例和参与者、记住用例是非形式化的、用例可以结构化。

分析设计题

  1. 某团购系统限时限量抢购功能需求描述如下:用户提前登录系统;挑选好商品提前 加入购物车;系统允许按照 1:10(某商品实际数量:允许加入购物车数量)加入购物车; 到达抢购时间后,允许用户提交订单;订单提交 15 分钟内未完成支付的取消订单;卖家可以后台随时调整抢购限量;若出现抢购状态(1 秒内同时提交订单总数超出剩余库 存),则信誉度高的买家优先购买成功。请根据上述需求完成:
    (1)绘制系统整体流程图(8 分)。
    image.png
    (2)绘制完整数据流图,包括:外部实体、数据存储、加工、数据流等元素(8 分)。
    image.png
    (3)针对商品,绘制其状态转移图(7 分)。
    (4)针对大量用户的高并发访问,构建合适的系统架构,防止出现 404。描述采用的 架构、方法及依据(7 分)。
    建立等待排队机制,添加购物车时排队添加。以缓冲区按需排列来构建,以此通过允许获得抢购成功资格。

  2. 图书馆中的书分为不同的类别,存放在不同的馆藏室中,每一种图书可以有 ISBN 码唯一确定,在图书馆中可以由索书号唯一确定一种书。在图书馆中,同一 ISBN 码 或索书号的书可以有多个不同的副本,每个副本由条形码唯一确定,每个副本可以有 可以被不同的用户借阅。每个副本可以有不同的状态,包括可借、借出等。 用户有不同的种类,不同种类的用户可以借阅的图书的数量和期限可以有不同的 设置。对于超期人员,需要缴纳迟滞金后方可进行继续借阅。用户可以对图书进行预 约和续约等操作。 图书管管理人员可以根据馆藏情况和书籍借阅使用情况进行图书的购买、入库、 上架、下架等操作。 可以为新生统一办理注册手续,也可以为毕业生办理离校手续,需要在毕业生离 校前将所有图书归还并没有并没有任何迟滞金或其他未处理事项后,方可完成毕业生 用户的注销。 在完成以上功能的同时,还需要该系统提供一些统计服务,可以统计不同学院的 学生、或不同限定条件下的学生、或某个学生的借阅情况,包括借阅数量、借阅书本 类别统计、借阅平均时间等,对大学生在大学时期内的阅读情况和趋势进行分析。 为确保图书卡的安全,图书卡可以被挂失和解挂。借阅、归还、查询等需要密码。
    (1)绘制用例图及用例规约(10 分)。
    image.png
    (2)绘制类图(只列出类名)(10 分)。
    image.png
    (3)针对图书超期,暂停借阅,待处理罚款后再重新借阅。针对以上构建活动图,用来描述其处理过程(10 分)。

    论述题

    针对假设你被选择为上述团购项目开发的负责人,请结合课程内容简要论述如何在 5 个月内完成项目开发。论述需包括:生命周期模型项目风险采用的过程模型、 项目进度计划等。
    生命周期模型:
    第一个月:需求分析
    第二个月:概要设计
    第三个月:详细设计
    第四个月:编程实现
    第五个月:交付使用
    项目风险:
    团队成员因故离开、开发过程中修改需求、开发验收时间提前。
    采用的过程模型:
    采用瀑布模型