2024系统分析设计笔记汇总

一、项目管理


    范围管理
    时间管理
        活动定义
        活动排序
        活动资源估算
        活动历时估算
        制订进度计划
        进度制制


二、系统测试与维护


    尽早、不断的进行测试
    程序员避免测试自己设计的程序
    即要选 择有效、合理的数据,也要选择无效不合理的数据
    修改后应进行回归测试
    尚未发现的错误数据与已发现的错误成正比
    动态测试:利用计算机测试结果、功能测试
        黑盒测试法
            等价类划分: 不同情况分等价类
            边界值分析: 边界值
            错误推测:经验
            因果图
        白盒测试法:语句、判定、路径覆盖
            基本路径测试
            循环覆盖
            逻辑覆盖
    静态测试:全人工的测试,不利用到计算机
        桌面检查
        代码审核
    测试阶段
        单元测试:模块的功能、性能、接口等
        集成测试:模块间的接口
            一次性组装 (省成本)
            增量式组装(全面)
                自顶向下:桩模块
                自底向上:驱动模块
                混合式
        确认测试:验证软件与需求的一致性:
            内部确认测试(用户)、
            产品Alpha测试、
            Beta测试、验证测试
        系统测试:真实环境下,验证完软件配置项能滞和系统正确连接
            性能测试分类
                负载测试:确定在各种工作负载下系统的性能,目标是测试当负载
                增加时,系统各项性能指标的变化情况
                压力测试:通过确定一个系统的瓶颈或不能接受的性能点,来获得系统能
                提供的最大服务级别的测试。(找临界点)
                强度测试:系统特别低的情况下考查软件系统运行情况
                并发测试:容量测试,主要用来确定系统可处理的同时在线的最大用户数。
        回归测试:测试软件变更之后,变更部分的正确性对变更需求的符合性
        系统测试活动与步骤
            制定系统测试计划:进行人员以及任务的确定、明确测试范围、测试方法、测试
            环境与辅助工具。
            
            设计系统测试用例:如等价类划分、边界值分析等测试方法的应用
            执行系统测试:执行设计好的测试用例、并记录结果
            缺陷管理与改错:消队已经发现的错误 
        面向对象测试
        测试自动化
            提高测试执行的速度
            提高运行效率
            保证测试结果的准备性
            连续运行测试脚本
            摸拟现实环境下受约束的情况
            
            *不是所测试都适用自动测试
            
        软件调试
            蛮力法
            回溯法
            原因排除法:主要思想是演绎和归纳,用二分法实现
        测试与调试区别:
            1、测试措错误,调试:定位错误并修改程序以修正错误
            2、调式是测试之后的活动,目标方法和思路上都有所不同
            3、测试从一个已知的条件开始,使用预先定的过程,有预知的结果调式
            从一个未知条件开如、结束的过程不可预计
            4、测试过程可以事先设计,进度可以事先确定,调试不能描述过程或持续时间
    软件评审
        注意:不应以测试代替评审
        技术评审
        管理评审
    验证与确认
        验证:阶段
        确认:整体全局
        
    软件过程改进-CMMI
        阶段式:混乱级、已管理级、已定义(标准化)、定量管理级、优化级
    软件开发环境与工具
    系统运行与评价
        转换
            集成(技术高水平、低价值)
            改造(技术高水平、高价值)
            继承(技术低水平、高价值)兼容
            淘汰(双低)
        新旧系统转换策略
            直接转换
            并发转换
            分段转换:一个一个子系统上线,一个一个模块的更新
        维护
            可以维性
                易分析、改变、稳定性、易测试性
            维护类型
                改正性维护(25%) 正确性维护
                适应性维护(20%)环境变化
                预防性维护(5%)针对未来
                完善性维护(50%)增加功能或者增加性能
                

三、系统设计


    处理流程设计
        业务注流程建模
            标标对照
            IDEF
                0 业务注流程建模
                1 信息建模
                1X ER 
                4 面向对象设计
                12 组织结构建模
            DEMO
            Petri网
            业务注流程建模语言
            基于服务的BPM
    软件架构设计
        需求分析 架构 软件设计
        架构设计就是需求分配,即将满足需求的职责分配到组件上
            架构风格
                数据流风格:批处理序列、管道-过滤器
                调用、返回风格:主、子程序、面向对旬、层次结构
                独立构件: 进程通信、事件驱动系统(隐式)
                虚拟机风格:解释器、基于规则的系统
                仓库风格:数据库系统,黑板系统(语方处理、信号处理)、超文本系统
    结构化设计
        概要设计:拆分、模块之间交互 =架构设计
        详细设计:单个模块的内部设计
        思想:
            抽象化
            自顶而下、逐步求精
            信息隐藏
            模块独立(高内聚、低耦合)
        多扇入,少扇出
    面向对象设计
        分析模型
            用例模型 用例
            分析模型 类图
        设计原则
            单一职责
            开封原则
            李氏替换原则
            依赖倒置
            接口隔离
            组合重用
            迪米特原则(最少知识法则)
        架构模式:高层决策
        设计模式:局布,关注软件系统的设计与具体实现语言无关
            创建型
                抽象工厂模式:生产成系统对象
                工厂方法模式:生产一个
                构建器模式:将复杂对象构造
                原型模式:克隆
                单例
            结构型
                适配器模式(转换接口)
                桥接模式:类的抽象部和实现部分分离
                组合模式:整本-部分
                装饰模式:附加职责
                外观模式:对外统一接口
                享元模式:共享
                代理模式:快捷方式
            行为型
                职责链:传递职责
                命令模式:可撤销
                解释器模式:虚拟机的机制
                迭代器模式:数据集
                中介者:不直接引用
                备忘录模式:游戏存档
                观察者模式:联动
                状态模式:状态变成类
                策略模式:多方案切换
                模板方法:
                访问者:访问和数据做分离
        习惯用法:是最低层
        
    人机界面设计
        置于用户控制之下
        减少用户的记忆负担
        保持界面的一致性
    Web应用设计
        1台单机
        1台应用服务器+1台数据库服务器
        负责均衡+应用服务器集群+1台数据库服务器
            HTTP重定向 (应用层)
                特点:实现简单,但性能较差
            反向代理 (应用层)
                特点:部署简单,但代理服务器可能成为性能的瓶颈
            DNS(传输层)域名解析
                特点:效率比HTTP重定向高,减少维护负责均衡服务器成本
                故障,不能及时通知DNS,控制权在域名服务商那里,无法做更多的改善
                
            NAT(传输层)域名解析
                特点:技术较为成熟,一般在网关位置,可以通过硬件实现。像四层
                交换机一般就采用了这种技术。
            混合
                静态算法:轮转
                动态算法:最小连接算法、加权最小连接、加权百分比
            负责均衡:有状态与无状态问题
            无状态:对单次请求的处理,不依赖其他请求,也就是说,处理一次请求
            所需的全部信息,要么都包含在这个请求里,要么可以从外部获取
            有状态:则相反,它会在自身保存一些数据,先后的请求是有关联的
        负责均衡+应用服务器集群+1台写数据库服务器+1-N 从(读)库
        负责均衡+应用服务器集群+缓存集群+1台写数据库服务器+1-N 从(读)库
        CDN(内容分发网络)Content Delivery Network 就近访问,分发新的资源
        XML 与JSON
            XML 优点:格式统一,符合标准备,数据共享比较方便 
                缺点:XML文伯庞大,文件格式复杂,传输占带宽
                    解析复杂花费时间和资源多,难维护
            JSON 优点:格式简单,易于读写,点用带宽小、易于解析、支持多种语言、开发效率高,易维护
            
                缺点:格式,没有XML那么通用
    WEB 应用服务器
        WEB服务器 
        应用服务器
    REST(表述性状态传递)(Representational state Transfer)是一种只使用HTTP
    和XML进行基于Web通信的技术,可以降低开发的复杂性,提高系统的可伸缩性。
    

四、需求工程


    软件需求概述
        软件需求是指用户对系统在功能、行为、性能、设计约束等方面的期望
    需求开发(技术)
        需求获取
            需求开发-需求分类
                业务需求(整体全局)
                用户需求(用户视解)偏操作
                系统需求(计算机化)功能、非功能、设计约束
                QFD:项目管理
                    基本需求(明示,常规需求)
                    期望需求(隐含)
                    兴奋需求(多余、镀金)
            需求开发-需求获取
                用户访谈:1对3,有代表性的用户 耗时
                    开放式问题 与封闭式问题相结合(选择题)
                问卷调查:用户多,无法一一访谈
                现在观察:针对较为复杂的流程和操作
                参加业务实践:有效地发现问题的本质和寻找解决问题的办法
                联合需求计划(JRP):高度组织的群体会议,各方参与,成本较高
                会议的形式获取需求。
                情节串联板:一系统图片,通过这些图片来讲故事(原型)
                收集资料
                阅读历史文档:对收集数据性的信息较为有用。
                抽样调查:降低成本。样本大小=a
                
        

五、需求分析


            结构化需求分析
                数据流图(DFD) 功能模型
                    数据流、加工(功能模块)、数据存储、外部实体
                    一、补充实体
                        人物角色、组织机构、外部系统
                    二、补充存储
                        特征:”**文件、**表、**库、**清单、**档案”
                    三、补充数据流
                        1、数据平衡原则
                        2、按题目说明与图进行匹配
                    四、补充加工名
                        动词+名语
                        例外,如物流跟踪、用户管理
                状态转换图(STD) 行为模型
                    节点即为状态--事件--节点
                实体联系图(ER) 数据模型
                    实体A 联系 实体B
                数据字典:数据元素、数据结构 
            面向对象需求分析
                对象:属性+方法+对象ID
                类:(实体类、控制类、边界类)
                继承与泛化:复用机制
                封装:隐藏对象的属笥和实现细节,仅对外公开接口
                多态:不同对象收到同样的消息产生不同的结果
                接口:只有定义没有实现
                重载:一个类可以有多个同名而参数类型不同的方法
                消息和消息通信:消息是异步通信的
                OOA-UML
                    构造块
                        事务
                            结构事务:最静态的部分类、接口、协作、用例、活动类、
                            构件和节点
                            行为事务:代表时间和空间上的动作。消息、动作次序、连接
                            分组事物: 看成是个盒子, 包,构件
                            注解事物:UML模型的解释部分。描述、说明和标注模型的元素。
                            例题讲解:
                                类:是描述具有相同属性、方法、关系和语义的对象的集合
                                接口:是指类或构件提供特定服务的一组操作集合
                                构件是物理上或可替换的系统部分,实现了一个接口集合;
                                包是一组将组织的元素分组的机制
                                用例是一系列的动作,产生有价值的结果
                                协作:交互的操作,是一些解色和其它事物一起工作
                                节点:是一个物理元素,它在运行进存
                        关系
                       图
                            静态图(结构图)
                                类图、对象图、构件图、部署图(软硬件之间的映射)、制品图、包图
                            动态图(行为图)
                                用例图:系统与外部参与者的交互
                                顺序图:强调按时间顺序
                                通信图:协作图
                                定时图:强调实际时间
                                交互概览图
                                状态图:状态转换变迁
                                活动图:类似程序程图,并行行为
                            逻辑视图:展现系统功能 类与对象
                            实现视图:源代码结构
                            进行视图:并发与同步结构
                            部署视图:软件构件到物理结点映射
                            用户视图:需求分析模型
                            用例图:描述一组用、参与者及它们之间的关系
                            关系包括:
                                包含关系:原始指向被包含用例
                                扩展关系: 扩展指向原始
                                泛化关系:
                                
                            
                    规则
                    公共机制
            OOA-需求建模
                用例模型
                    识别参与者
                    合并需求获得用例
                    细化用例描述
                    调整用例模型
                分析模型
                    定义概念类
                    识别类之间的关系
                    为类添加职责
                    建立交互图
                    
        需求定义(SRS)
            严格定义法:瀑布模型的思想
            原型法:
        需求验证
            需求评审
            需求测试
            用户签字确认
            验收标准之一
          需求基线
    需求管理(管理)
        需求跟踪
            用户原始需求 to  软件需求(用例) to  下游工作产品
        需求风险管理
            无足够用户参与
            忽略了用户分类
            不断增加需求
            模棱两可的需求
            不必要的特性
            过于精简的SRS
            不准备的估算


六、软件工程


    系统规划
    软件工程
        信息系统生命周期
            立项阶段:企业全局、形成概念、需求分析(做与不做) 
            开发阶段:
                系统规划 
                    初步调查、分析系统目标、可行性研究、制定系统建设方案
                    系统设计任务书(系统建设方案、实施计划)
                系统分析
                    业务流程、数据、软件需求、网络需求分析
                    产出物:系统需求规格说明书、软件需求规格说
                    明书、确认测试计划、系统测试计划、初步的用户手册
                系统设计
                    软件架构设计、软件概要设计、详细设计、网络设计
                    产出物:架构设计文档、概要设计说明书、详细设计说明书
                    程序规格说明书、概要测试设计、详细测试设计、各类设计图
                系统实施
                    软件编码、软件单位集成系统测试、综合布线
                    产出物:源码、单元测试、集成测试报告、操作手册
                系统收验
                    确认测试、试运行
                    产出物:确认测试报告、项目验收报告
            运维阶段:通收难收、移交之后(最长的阶段)
            消亡阶段:更新改造、功能扩展、报废重新
        软件开发模型
            瀑布模型 需求明确(结构化方法)
            原型 需求不明确、需求分析、了解需求、简易系统可以只有界面
                快速原型
                增量模型
            螺旋模型:制定计划、风险分析、实施工程、客户评估
            原型+瀑布模型
            V模型 偏向于测试的模型、测试贯穿于始终
            喷泉模型 迭代、无间隙
            构件组装模型
                需求分析和定义
                软件架构设计
                构件库的建立 
                    构件标准
                    构件库
                        构件获取
                        构件管理
                应用软件构件
                测试和发布
            UP 统一过程 大型系统开发特点:
                用例驱动、以架构为中心、迭代和增量
                1-初始:确定项目范围和边界、识别系统关键用例
                展示系统的候选架构、估计项目费用和时间、评估项目风险
                2-细化:建立软件架构基出(完成软件架构设计)
                3-构建:开发剩余的构件、构件组装与测试 详细设计+实现
                4-交付:进行测试、制作发布版本
            敏捷方法共性:小步快跑、分很多轮小迭代
            减轻了一些文档负荷
                4大价值观:
                    沟通(面对面)、简单、反馈、勇气
                    
            常见方法:XP 对费用控制严格的公司中使用
                    水晶系列:最少的纪律约束
                    开放式源码: 地域广
                    SCRUM:明确定义了的可重复的方法过程    
                    FDD: 首席程序员和类程序员
            
        逆向工程:从最终成果,反推设计,需求
            实现级:包括程序的抽象语法树、符号表、过程的设计表示低层
            结构级:
            功能级:
            领域级:UML图
        净室软件工程
            
    需求工程
    系统设计
    系统测试与维护


七、系统规划


    初步调查
    确定系统目标
    分析子系统的组成
    拟定系统的实施
    进行可行性研究
    制订系统建设方案 (系统设计任务书)

可行性分析
    经济可行性
        成本
            固定成本:不随产量变化 
                管理人员的工资、办公费、员工培训费、
                广告费、技术开发经费等
            变动成本:随产量变化 
                开发资金、外包费用、产品包装费、直接材料费
            混合成本
            直接成本:投入在项目上
            间接成本:分摊到项目上
            
            销售额=固定成本+可变成本+利润
            
             现值P=F/(1+i)n
             净现值NPV 大于0
             净现值率=NPV/Ip(投入)
             投资回收期=3+(差钱/收益)
             投资回收率=1/投资回收期*100%
             总投资收益率=投资收益/投资总额*100%
             
    技术可行性
    社会(法律)可行性分析
    用户使用可行性
        管理可行性 系统与现有管理机制的一致性,改革
        运行可行性
    

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
根据提供的引用内容,操作系统是计算机系统中的核心软件,负责管理和控制计算机硬件资源以及提供各种服务和功能。在2024年的考研笔记中,以System Five系统为例,该系统允许多个写进程同时访问一个管道,但只允许一个读进程。这样可以确保数据的一致性和避免冲突。System Five系统最初由AT&T Bell Labs在20世纪80年代开发,是UNIX操作系统的一个分支,主要用于商业领域的大型计算机和服务器。 传统的计算机在一个物理机器上只能运行一个操作系统,而在商业环境中,同时运行两个应用程序可能会导致相互影响和资源竞争的问题。这也是为什么在操作系统设计中需要考虑如何解决这些隐患的原因。 在实际应用中,操作系统可以分为不同类型,例如大内核/宏内核/单内核操作系统(如Linux、UNIX)和微内核操作系统(如Windows NT)。每种类型都有各自的特点和适用场景。 总结来说,操作系统是计算机系统中的核心软件,负责管理和控制计算机硬件资源,为应用程序提供服务和功能。在2024考研笔记中,可以涉及不同类型的操作系统,以及解决多进程访问资源的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [2024考研408-操作系统 第二章-进程与线程 学习笔记](https://blog.csdn.net/cl939974883/article/details/131679526)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [2024考研408-操作系统 第一章-计算机系统概述学习笔记](https://blog.csdn.net/cl939974883/article/details/131543432)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学博成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值