软件工程笔记
文章平均质量分 77
Aurorapeak
某IT外企混日子的程序员
展开
-
WebAPP与移动APP部分
输出(5种模型)content model(内容模型)包括所有内容对象和分析类检查使用场景中对内容直接或间接的引用,从用例得到内容对象数据树适用于包含多个内容对象和数据项的内容数据树是内容设计的基础interaction model(交互模型)功能、内容和行为之间的交流用例时序图状态图用户界面原型functional model(功能模型)计算和操纵功能,内容,使用活动图描述用户观察到的功能由app(前端)传达分析类中包含的操作,这些操作实现了与类关联的行为需求模型原创 2021-01-26 13:12:04 · 399 阅读 · 3 评论 -
Chapter 14 构件级设计
面向对象观点(*设计构件细化)????传统观点与面向对象的构件类似,传统的软件构件也来自于分析模型。不同的是在这种情况下,是以分析模型中的构件细化作为导出构件的基础。构件层次结构上的每个构件都被映射为某一层次上的模块。一般来讲,控制构件(模块)位于层次结构(体系结构)顶层附近,而问题域构件则倾向位于层次结构的底层。为了获得有效的模块化,在构件细化的过程中采用了功能独立性的设计概念。设计基于类的构件基本设计原则????开闭原则(The Open-Closed Principle,OCP):模块原创 2021-01-26 13:09:10 · 715 阅读 · 0 评论 -
Chapter 13 体系结构设计
体系结构设计作用对设计在满足既定需求方面的有效性进行分析在设计变更相对容易的阶段,考虑体系结构可能的选择方案降低与软件构建相关的风险体系结构风格以数据为中心的体系结构????数据存储(如文件或数据库)位于这种体系结构的中心,其他构件会经常访问该数据存储,并对存储中的数据进行更新、增加、删除或者修改。客户软件访问中心存储库数据流体系结构????当输入数据经过一系列计算构件和操作构件的变换形成输出数据时,可以应用这种体系结构。管道-过滤器模式拥有一组称为过滤器的构件,这些构件通过管道原创 2021-01-26 13:07:05 · 716 阅读 · 0 评论 -
Chapter 12 设计概念
需求→设计????设计过程目标设计应当实现所有包含在需求模型中的明确需求,而且必须满足利益相关者期望的所有隐含需求。对于那些编码者和测试者以及随后的软件维护者而言,设计应当是可读的、可理解的指南。设计应当提供软件的全貌,从实现的角度对数据域、功能域和行为域进行说明。原则设计应展现出这样一种体系结构:已经使用可识别的体系结构风格或模式创建由能够展现出良好设计特征的构件构成能够以演化的方式实现,从而便于实施与测试。设计应该模块化,也就是说,应将软件逻辑地划分为元素或子系统。原创 2021-01-26 12:44:53 · 422 阅读 · 0 评论 -
Chapter 11 行为、模式和Web/移动App
生成行为模型行为模型显示了软件如何对外部事件或激励做出响应。相关步骤:评估所有的用例,以保证完全理解系统内的交互顺序识别驱动交互顺序的事件,并理解这些事件如何与特定的对象相互关联为每个用例生成序列创建系统状态图评审行为模型以验证准确性和一致性识别用例事件用例场景中加下划线的部分表示事件。应确认每个事件的参与者,应标记交换的所有信息,而且应列出任何条件或限制。一旦确定了所有的事件,这些事件将被分配到所涉及的对象,对象负责生成事件(例如,Homeowner房主生成输入密码事件)或识别已经原创 2021-01-23 14:59:15 · 177 阅读 · 0 评论 -
Chapter 10 需求建模:基于类的方法
识别类的方法????语法解析分析类的表现:外部实体(例如其他系统、设备、人员):产生或使用基于计算机系统的信息。事物(例如报告、显示、字母、信号):问题信息域的一部分。偶发事件或事件(例如所有权转移或完成机器人的一组移动动作):在系统操作环境内发生。角色(例如经理、工程师、销售人员):由和系统交互的人员扮演。组织单元(例如部门、组、团队):和某个应用系统相关。场地(例如制造车间或码头):建立问题的环境和系统的整体功能。结构(例如传感器、四轮交通工具、计算机):定义了对象的类或与对象相关原创 2021-01-23 14:34:01 · 428 阅读 · 0 评论 -
Chapter 9 需求建模
需求建模模型类型场景模型面向类的模型基于行为和模式的模型数据模型面向流的模型总体目标????需求模型必须实现三个主要目标:描述客户需要什么;为软件设计奠定基础;定义在软件完成后可以被确认的一组需求。原理需求模型在系统描述和设计模型之间建立桥梁经验原则模型应关注在问题域或业务域内可见的需求,抽象的级别应该相对高一些。 “不要陷入细节”,即不要试图解释系统将如何工作。需求模型的每个元素都应能增加对软件需求的整体理解,并提供对信息域、功能和系统行为的深入理解。关于基础原创 2021-01-23 14:29:00 · 1530 阅读 · 0 评论 -
Chapter 8 理解需求
需求工程阶段起始在项目起始阶段,要建立基本的理解,包括存在的问题、谁需要解决方案、所期望解决方案的性质、与项目利益相关者和开发人员之间达成初步交流合作的效果。获取询问客户、用户和其他人:系统或产品的目标是什么,想要实现什么,系统和产品如何满足业务的要求,最终系统或产品如何用于日常工作。细化在起始和获取阶段获得的信息将在细化阶段进行扩展和提炼。该任务的核心是开发一个精确的需求模型,用以说明软件的功能、特征和信息的各个方面。协商需求工程师必须通过协商过程来调解需求冲突。应该让客户原创 2021-01-23 14:24:58 · 325 阅读 · 0 评论 -
Chapter 6 软件工程人员方面
软件工程师特质个人责任感敏锐的意识坦诚的抗压能力高度的公平感注重细节务实的软件工程心理学行为模式层图????在个人层面,软件工程心理学注重待解决的问题、解决问题所需的技能以及在模型外层建立的限制内解决问题的动机。在团队和项目层面,团队能动性成为主要因素。在这一层面,成功是由团队结构和社会因素决定的。团队交流、合作和协调同单个团队成员的技能同等重要。在外部层面,有组织的行为控制着公司的行为及其对商业环境的应对方式。团队毒性混乱的工作氛围会造成团队成员分裂的挫败支离破碎或协调原创 2021-01-23 14:20:48 · 166 阅读 · 0 评论 -
Chapter 5 敏捷开发
敏捷宣言个人和他们之间的交流胜过了开发过程和工具可运行的软件胜过了宽泛的文档客户合作胜过了合同谈判对变更的良好响应胜过了按部就班地遵循计划敏捷原则我们最优先要做的是通过尽早、持续交付有价值的软件来使客户满意。即使在开发的后期,也欢迎需求变更。敏捷过程利用变更为客户创造竞争优势。经常交付可运行软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。围绕有积极性的个人构建项目。给他们提供所需的环境和支持,并且信任他们能原创 2021-01-23 14:19:33 · 207 阅读 · 0 评论 -
Chapter 4 过程模型
惯用过程模型瀑布模型????瀑布模型( waterfall model)又称为经典生命周期(( classic life cycle),它提出了一个系统的、顺序的软件开发方法,从用户需求规格说明开始,通过策划、建模、构建和部署的过程,最终提供完整的软件支持。适用场景适合在需求已经确定的情况下,且工作采用线性方式完成的情况。适用于在开发时间内需求没有或很少变化,分析设计人员应对应用领域很熟悉的低风险项目(对目标、环境很熟悉),且用户使用环境很稳定,用户除提出需求以外,很少参与开发工作。原创 2021-01-23 14:17:38 · 399 阅读 · 0 评论 -
Chapter 3 软件过程结构
通用过程模型软件过程框架图????由图可以看出,每个框架活动由一系列软件工程动作构成;每个软件工程动作由任务集来定义,这个任务集明确了将要完成的工作任务、将要产生的工作产品、所需要的质量保证点,以及用于表明过程状态的里程碑。过程流图????线性过程流 从沟通到部署顺序执行五个框架活动迭代过程流 在执行下一个活动前重复执行之前的一个或多个活动演化过程流 采用循环的方式执行各个活动,每次循环都能产生更为完善的软件版本并行过程流 将一个或多个活动与其他活动并行执行原创 2021-01-23 14:14:23 · 459 阅读 · 0 评论 -
Chapter 2 软件工程
软件工程定义????IEEE将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件对上述方法的研究。Pressman软件工程包括一个过程、管理和构建软件的方法以及工具适应性和敏捷性软件工程是一种分层技术软件工程层次图????????支持软件工程的根基在于质量关注点软件工程的基础是过程( process)层。软件工程方法(method)为构建软件提供技术上的解决方法(如何做)。软件工程工具( tool)为过程和方法提供自动化或半自动化的支持。原创 2021-01-23 14:10:07 · 428 阅读 · 2 评论 -
Chapter 1 软件的本质
说在前面:本复习专题使用教材为SoftwareEngineering-APractitioner’sApproach.8thEdition.RogerPressman原版,设计第一、二两部分,即并不包括软件设计之后的内容,适合TJU软件专业的同学参考复习。300页浓缩成48页,考试都考到了,但是我考前最后一晚没记住//(ㄒoㄒ)/~~选择题部分考查基础知识,像软件的定义这种分几点的,多选题。解答题部分考查结合例子描述一些过程,比如Scrum,描述一些概念,比如Web App/Mobile App的几原创 2021-01-23 14:06:42 · 1363 阅读 · 1 评论