第13章 写给C#程序员的UML概述 UML包含3类主要的图示.静态图(static diagram)描述了类.对象.数据结构以及它们之间的关系,藉此表现出了软件元素间那些不变的逻辑结构.动态图(dynamic diagram)展示了软件实体在运行过程中是如何变化的,其中描述了运行流程或者实体改变状态的方式.物理图(physical diagram)展示了软件实体不变的物理结构,其中描述了诸如源文件.库.二进制文件.数据文件等物理实体以及它们之间的关系. 查看如下代码,这段程序实现了一个基于简单…
生成器 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了. 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间.在Python中,这种一边循环一边计算的机制,称为生成器:generator. 要创建一个generator,有很多种方…
Psp个人软件开发软件需求分析和用例分析 一.需求分析 1.业务需求 1.1 应用背景 开发项目进度计划总是那么不明确,延期经常出现,甚至无法给出一个相对比较明确的延迟时间.这样给市场的推广会带来很大的影响,不确定因素使得应对十分困难. 1.2 业务机遇 PSP是个人软件开发过程,通过PSP的贯彻,可以提高软件开发人员的时间安排.时间估算的能力. 1.3 业务目标 业务目标的例子如下: BO-1:在第一版应用之后1个月之内,个人的开发效率提高. BO-2:在第一版应用之后3个月之内,整个开发团队…
一.需求分析 1.  业务需求 1.1 应用背景 开发项目进度计划总是那么不明确,延期经常出现,甚至无法给出一个相对比较明确的延迟时间.这样给市场的推广会带来很大的影响,不确定因素使得应对十分困难. 1.2 业务机遇 PSP是个人软件开发过程,通过PSP的贯彻,可以提高软件开发人员的时间安排.时间估算的能力. 1.3 业务目标 业务目标的例子如下: BO-1:在第一版应用之后1个月之内,个人的开发效率提高. BO-2:在第一版应用之后3个月之内,整个开发团队的开发效率提高. 成功标准的例子如下所…
文章1部分 再了解C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比方从文件里读取一行数据.向文件追加一行数据等. 完毕文件读写操作的方法有非常多,了解各种命令下文件操作的运行情况,有助于开发者在不同使用场景下选择合适的命令. 本文以实际的shell脚本为例,介绍了对文件进行操作的不同方法,为相关开发工作提供了參考. [关键词] shell  文件操作  读写  效率 一.概述 在某些软件项目的需求文档中,要求程序一次性读或写的数据规模较大,可达…
软件开发机器人 产品白皮书 使用说明书 模块名称:软件开发机器人 模块编号:12 项目负责人:王金斗 所属部门:技术中心 文档编制: 编制日期:2018-02-02 文档审核:王金斗 审核日期: 文档批准: 批准日期: 版 本 号:4.0 修 正 号:01 修改记录 日期 版本 修改说明 修改者 0.1 创建文档. 王苗 0.2 补充文档 刘艳 2018-02-02 0.3 调整文档 王金斗   目 录 使用说明书... 2 修改记录... 3 一.       引言... 1 二.      …
1.引言 1.1编写的目的 编写该文档的目的是,对产品进行定义,详尽说明该产品的软件需求,简述我们对 PSP个人软件开发系统的初步设想,及划分的各功能模块以及各模块的实体图和数据流图. 1.2预期的读者 本软件需求规格说明的读者,可以是软件开发人员,用户,测试人员或文档的编写人员. 2.综合描述 这一部分概述了产品“PSP个人软件开发系统”的目标,背景情况,主要功能,运行产品的环境,以及使用产品的用户等. 2.1.目标 准确计划项目的开发进度,尽量避免延期情况的出现,提高整个开发团队的开发效率.…
掌握Makefile的使用方法和工作流程: 掌握make工具变量的相关知识,包括其引用.定义及分类等: 掌握Makefile常见的函数含义: 掌握Makefile与shell命令行的通信方法: 掌握Makefile的常见语法规则,包括显式规则.隐式规则及静态模式规则: 了解autotools的用法,了解autotools中常用的工具链以及如何使用工具链自动创建Makefile文件. 1.Make工具概述 Makefile带来的好处就是“自动化编译”,一旦写好,只需要在shell命令行中输入一个m…
第9章 OCP:开放-封闭原则 软件实体(类.模块.函数等)应该是可以扩展的,但是不可修改. 9.1 OCP概述 遵循开放-封闭原则设计出的模块具有两个主要特征: (1)对于扩展是开放的(open for extension).这意味着模块的行为是可以扩展的.当应用的需求改变时,我们可以对模块进行扩展,使其具有满足那些改变的新行为. (2)对于修改是封闭的(closed for modification).对模块进行扩展时,不必改动模块的源代码或者二进制代码.模块的二进制可执行版本,无论是可链接…
TD校园助手软件开发计划书 1.引言 1.1 编写目的 为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,同时便于老师和其他同学了解我们的项目进程安排以给出宝贵的意见建议,因此以文件化的形式,把对于在项目生命周期内的工作任务范围.各项工作的任务分解.项目团队组织结构.各团队成员的工作责任.团队内外沟通协作方式.开发进度.项目内外环境条件.风险对策等内容做出的安排以书面的方式,作为项目团队成员共识与约定,项目生命周期内的所有项目活动的行动…