目录
论述:
某大学需要开发一个学生信息管理系统,用于管理学生的基本信息、课程信息和成绩信息。该系统需要具备以下功能:
首先,我们先搞清楚什么是正交软件体系结构:
解答:
1、描述正交软件体系结构的特点或优点,说明本项目为什么适用正交软件体系结构(从特征进行分析):
2、分析本系统中的线索,要列出有哪些具体的线索;
3、设计本项目的层次,要突出最顶层和最底层
4、描述各层之间的关系
设计题
1、类的设计
(1)根据题目写出类名、主要属性和方法:
(2)使用UML正确画出类图:
2、顺序图
(1)根据题目写出参与对象
(2)使用UML正确画出顺序图:
1、参与者(Actor) / 对象(Object)
2、生命线
3、激活期激活期是指对象在整个活动中获得了焦点,需要一段时间来执行某个动作,在UML图中是一个空心的矩形表示,其语法为:activate te
4、消息
提示框:一般是把关键流程包括起来
3、状态机图的设计
(1)根据题目分析各个状态之间的转换事件或监护条件;
(2)使用UML正确画出状态机图;
问答题(背):
1、你是一名软件工程师,受雇于一家医疗科技公司,公司计划开发一款新的医院管理系统,该系统将用于管理患者信息、医疗记录、医生排班等,请描述该软件设计过程中的主要活动。(参考教科书91页第2小节:软件设计的主要活动)
2、你作为一家软件公司的首席架构师,负责设计和评估在线知识库管理系统的软件体系结构,为了确保所设计的体系结构满足需求,需要对其进行“4+1”多视图建模,请结合项目实际,描述“4+1”视图的名称及各视图在项目中的主要作用。
1. 逻辑视图(Logical View)
2. 开发视图(Development View)
3. 进程视图(Process View)
4. 物理视图(Physical View)
+1. 场景视图(Scenarios / 用例视图)
3、某软件公司开发一款新的游戏管理系统,人机界面设计师连接用户需求与商业目标的核心枢纽,好的人机界面是系统效能的核心杠杆,请结合项目实际,描述人机界面设计必须符合使用该系统用户的哪些特点。
4、某软件公司准备为一个购物平台进行界面设计,主要功能包括:商品展示、商品推荐、购物车、购物结算等,请你根据界面设计的布局原则并结合购物平台实际需求简要说明如何对该购物平台进行界面设计。
5、假如你是一家电子商务公司的首席架构师,构建一个稳定、可扩展且高性能的知识库管理系统的软件体系结构面临许多因素考虑。请结合项目实际,列举五种你认为最重要的软件质量属性,并简述每种属性的含义。
6、某软件公司要对公司开发的一款HIS系统(医疗信息系统)进行评估,需要在 SAAM 与 ATAM 评估方法中进行选择,请结合HIS系统的特点简要描述两者的区别。
7、假设您是一家电商公司的技术总监,负责维护和发展公司的在线购物平台,随着时间推移,软件需要进化以适应客户需求变化和技术迭代。请结合项目实际,描述计算机软件的基本计算模式经历了几个典型时期的蜕变,每个模式的特征是什么?
8、某公司前期开发的一款智慧城市交通管控系统,随着业务的发展出现了诸多问题,现在要对该项目进行软件再工程实施,请结合系统的实际情况简要说明为什么实施软件再工程。
9、某公司即将开发智能健康监测系统,旨在通过收集用户的健康数据(如心率、血压、睡眠质量等)并进行实时分析,该套系统将被部署在云端,请问云计算的服务类型分为几层,每层的主要作用是什么?
论述:
某大学需要开发一个学生信息管理系统,用于管理学生的基本信息、课程信息和成绩信息。该系统需要具备以下功能:
要求:根据上述需求,请用正交软件体系结构的设计思想进行设计,层次至少包括界面层、业务逻辑层和数据访问层,并简要说明各层的功能和关系。
首先,我们先搞清楚什么是正交软件体系结构:
正交 体系结构风格
正交体系结构是一种以 垂直线索构件族 为基础的层次化结构,包括组织层和线索。
在每一个组织层中,都包含具有相同抽象级别的构件。
线索是子系统的实例,是由完成不同层次功能的构件通过相互调用而形成的,每一条线索完成系统的一部分相对独立的功能。
在正交体系结构中,每条线索的实现与其他线索的实现无关或关联很少。在同一层次中,构件之间不存在相互调用关系
正交软件体系结构的核心思想是将系统分解为层次和线索两个维度:
- 层次:垂直划分,每层提供特定抽象级别的服务(如界面层、业务逻辑层、数据访问层)。
- 线索:水平划分,每个线索代表一个完整的功能维度(如学生管理、课程管理、成绩管理)
对于层次不多描述,对于线索:
系统功能可拆分为独立 “线索”(子系统),如:
- 学生管理线索(学号、姓名等基础信息维护 )。
- 课程管理线索(课程编号、教师、上课信息维护 )。
- 成绩管理线索(成绩录入、查询、统计分析 )。
这些线索功能相对独立、互不干扰,符合正交架构 “线索间正交(低耦合)” 的特性。
也就是说,因为它的功能之间划分的很开,所以才能用正交体系
解答:
1、描述正交软件体系结构的特点或优点,说明本项目为什么适用正交软件体系结构(从特征进行分析):
该系统可以采用正交软件体系结构进行设计。正交软件体系结构是一种将软件系统按照不同关注点的特征进行划分的架构模式,以实现各个关注点的独立性和可扩展性,易于扩展和维护等
2、分析本系统中的线索,要列出有哪些具体的线索;
根据系统需求,可以将该系统的功能分解为以下几个线索(模块):
①学生信息管理:包括学生的基本信息(学号、姓名、性别、年龄等)、入学时间、所属院系、班级等。
②课程信息管理:包括课程编号、课程名称、教师姓名、上课时间、上课地点等。
③成绩录入与查询:可以记录学生在每门课程中的成绩,并能够根据学生或课程查询成绩信息。
④学生成绩统计分析:能够对学生成绩进行统计分析,包括平均成绩、最高分、最低分等指标。
3、设计本项目的层次,要突出最顶层和最底层
①表现层:表现层负责与用户进行交互,接收用户的输入并展示相应的输出。在学生信息管理系统中,界面层可以包括以下功能:学生信息录入界面:用于录入学生的基本信息。课程信息录入界面:用于录入课程的基本信息。成绩录入界面:用于录入学生在每门课程中的成绩。查询界面:提供学生和课程的查询功能。
②业务逻辑层: 业务逻辑层负责处理各种业务逻辑,并协调界面层和数据访问层之间的交互。在学生信息管理系统中,业务逻辑层可以包括以下功能:学生信息管理逻辑:包括学生信息的录入、修改、删除等操作。课程信息管理逻辑:包括课程信息的录入、修改、删除等操作。成绩管理逻辑:包括成绩的录入、查询、统计等操作。
③数据访问层: 数据访问层负责与数据库进行交互,对数据进行存取和操作。在学生信息管理系统中,数据访问层可以包括以下功能:学生信息的存储与读取:负责将学生信息存储到数据库中,并提供读取学生信息的接口。课程信息的存储与读取:负责将课程信息存储到数据库中,并提供读取课程信息的接口。成绩的存储与读取:负责将成绩信息存储到数据库中,并提供读取成绩信息的接口。
4、描述各层之间的关系
通过正交软件体系结构的设计,各个功能模块之间相互独立,可以独立开发和测试,易于维护和扩展每个模块都有明确的职责和接口,降低了模块之间的耦合度,使得系统更加灵活和可靠。同时,正交软件体系结构也有利于团队的协作开发,不同模块可以并行开发,提高开发效率 。
设计题
1、类的设计
某公司需要开发一个员工管理系统,人力资源经理需要在系统中完成员工信息的录入、修改、部门信息的创建、查询等操作,系统要求1个员工只能归属于1个部门。本系统实现此功能的主要类有:员工类(Employee)、部门类(Deptment)、人力资源经理类(HRM)。请完成如下要求:
(1)根据题目写出类名、主要属性和方法:
①员工类(Employee):
属性:员工编号、员工姓名、所属部门等。
方法:无。
②部门类( Deptment ):
属性:部门编号、部门名称等。
方法:无。
③人力资源经理类(HRM):
属性:经理ID、姓名、所管理的部门列表等。
方法:员工信息录入、员工信息修改、部门信息创建、
部门信息查询等。
(2)使用UML正确画出类图:
大致就这样 ,类图dddd,就不手画了,
1、在Employee类和HRM类中,将Deptment类作为成员变量,它们之间属于关联关系;
2、在HRM类中将Employee类作为参数,它们属于依赖关系。
2、顺序图
某系统“注册” 的交互过程如下: ①用户首先在注册界面填写注册信息; ②注册界面把用户信息发送给程序逻辑层; ③程序逻辑层向数据库发送保存用户信息请求; ④数据库将注册结果返回程序逻辑层; ⑤注册成功,程序逻辑层打开登录界面; ⑥注册不成功,程序逻辑层通知注册界面提示用户注册不成功。 请按以上描述绘制顺序图。
(1)根据题目写出参与对象
对象:用户、注册页面、登录页面、程序逻辑层、数据库
(2)使用UML正确画出顺序图:
顺序图有四部分:参与者(Actor)或对象(Object)、生命线(Lift Line) 、激活期 和 消息
1、参与者(Actor) / 对象(Object)
参与者与对象按照一定顺序从做到右排列。UML中并没有对排列顺序作出任何要求,但是经过长期的积累得出以下经验:
- 活动的起始点放在最左侧。
- 交互频繁的参与者或对象靠拢。
2、生命线
每个参与者或对象都有生命线,生命线随着参与者的创建而产生,销毁而消失。当创建了参与者后,UML图上会顶部和底部各显示参与者,并且通过垂直虚线相连,这条垂直虚线就是生命线。
3、激活期
激活期是指对象在整个活动中获得了焦点,需要一段时间来执行某个动作,在UML图中是一个空心的矩形表示,其语法为:activate te
激活期是一个时间段,有开始就必要会结束,结束的语法为:deactivate te
在activate和deactivate之间就形成一个矩形,这就是激活期。
4、消息
对象之间的交互是通过相互发消息来实现的。一个对象通过发送消息请求另一个对象做事件。
消息从源对象指向目标对象。消息一旦发送便将控制从源对象转移到目标对象。
页面跳转用实线
人为动作用实线
页面展示用虚线
后台主动调用用实线
后台被动反馈用虚线
提示框:一般是把关键流程包括起来
记住这些我们就可以画这个简单的时序图了
3、状态机图的设计
设计一个状态机图描述在线购物商城中商品订单的生命周期。订单状态的状态有:新建(New)、处理中(Processing)、已完成(Completed)、已取消(Cancelled)。请完成如下要求:
(1)根据题目分析各个状态之间的转换事件或监护条件;
(2)使用UML正确画出状态机图;
知道这些我们就可以画出状态机图了:
问答题(背):
1、你是一名软件工程师,受雇于一家医疗科技公司,公司计划开发一款新的医院管理系统,该系统将用于管理患者信息、医疗记录、医生排班等,请描述该软件设计过程中的主要活动。(参考教科书91页第2小节:软件设计的主要活动)
软件设计的主要活动:
1)软件设计计划
2)体系结构设计
3)界面设计
4)模块/子系统设计
5)过程/算法设计
6)数据模型设计
2、你作为一家软件公司的首席架构师,负责设计和评估在线知识库管理系统的软件体系结构,为了确保所设计的体系结构满足需求,需要对其进行“4+1”多视图建模,请结合项目实际,描述“4+1”视图的名称及各视图在项目中的主要作用。
1. 逻辑视图(Logical View)
- 核心作用:从功能需求出发,抽象系统静态结构,定义 “做什么”。
2. 开发视图(Development View)
- 核心作用:面向开发团队,描述代码模块组织与实现细节。
3. 进程视图(Process View)
- 核心作用:关注系统运行时动态行为,定义 “如何运行”。
4. 物理视图(Physical View)
- 核心作用:描述硬件部署与网络拓扑,定义 “在哪运行”。
+1. 场景视图(Scenarios / 用例视图)
- 核心作用:通过典型业务场景串联前四个视图,验证架构可行性。
3、某软件公司开发一款新的游戏管理系统,人机界面设计师连接用户需求与商业目标的核心枢纽,好的人机界面是系统效能的核心杠杆,请结合项目实际,描述人机界面设计必须符合使用该系统用户的哪些特点。
人性因素
1)用户时间
使用系统完成一系列特定任务所需要使用的时间
2)基准时间
系统统计正确完成基准任务所需要的时间
3)基准出错率
在完成基准任务所犯的错误情况
4)任务出错率
完成一系列任务所犯错误的情况
5)学习能力
学习使用其系统的时间
6)记忆能力
使用系统后的记忆保持情况
7)主观看法
使用系统后的主观满意度情况
4、某软件公司准备为一个购物平台进行界面设计,主要功能包括:商品展示、商品推荐、购物车、购物结算等,请你根据界面设计的布局原则并结合购物平台实际需求简要说明如何对该购物平台进行界面设计。
布局的原则
1)平衡原则
2)预期原则
3)经济原则
4)顺序原则
5)规则化原则
5、假如你是一家电子商务公司的首席架构师,构建一个稳定、可扩展且高性能的知识库管理系统的软件体系结构面临许多因素考虑。请结合项目实际,列举五种你认为最重要的软件质量属性,并简述每种属性的含义。
质量属性
1)功能性 系统完成所期望工作的能力
2)可靠性 软件无故障执行一段时间的概率
3)可用性 易理解性、易学习性、易操作性
4)有效性 在预定的启动时间,系统真正可用并且完全运行时间所占百分比
5)可维护性 纠正一个缺陷或做一次更改的简易程度
6)可移植性 切换运行环境所花费的工作量
6、某软件公司要对公司开发的一款HIS系统(医疗信息系统)进行评估,需要在 SAAM 与 ATAM 评估方法中进行选择,请结合HIS系统的特点简要描述两者的区别。
SAAM
采用头脑风暴技术构建场景(直接场景、间接场景)分别支持对体系的静态分析和动态分析
ATAM
用例场景 信息获取
生成场景 预期的系统变更与质量属性的关系
探索场景 暴露极限和边界,弄清更改的影响
7、假设您是一家电商公司的技术总监,负责维护和发展公司的在线购物平台,随着时间推移,软件需要进化以适应客户需求变化和技术迭代。请结合项目实际,描述计算机软件的基本计算模式经历了几个典型时期的蜕变,每个模式的特征是什么?
(1)主机模式:所有数据处理、存储和运算完全由中央主机完成,终端仅作为输入输出设备。
(2)C/S模式:客户端负责用户界面交互与本地数据处理,服务端专注于核心业务逻辑和数据库管理。
(3)B/S模式:客户端负责用户界面交互,Web服务器负责核心业务处理,数据库服务器负责数据库管理。
8、某公司前期开发的一款智慧城市交通管控系统,随着业务的发展出现了诸多问题,现在要对该项目进行软件再工程实施,请结合系统的实际情况简要说明为什么实施软件再工程。
1)帮助软件机构降低软件进化的风险
2)帮助软件补偿软件投资
3)使软件易于进一步变革
4)有着广阔的市场
5)扩大计算机辅助软件工程
9、某公司即将开发智能健康监测系统,旨在通过收集用户的健康数据(如心率、血压、睡眠质量等)并进行实时分析,该套系统将被部署在云端,请问云计算的服务类型分为几层,每层的主要作用是什么?
1)基础设施作为服务(IaaS)
作为三层服务的最低端,将硬件设备等基础资源封装成服务供用户使用
2)平台作为服务(PaaS)
作为三层服务中间层,提供用户应用程序的运行环境
3)软件作为服务(SaaS)
作为三层服务的最顶端,将特定应用软件功能封装成服务