预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

网上购书系统 一.了解系统需求和目标 1.采样类型 采样的类型是复杂类型中的分层类型: 对于采样对象的属性,进行分层包括不同的性别,区域,年龄,行业,类型等, 这样能更好地了解不同用户的需求和系统面向的重点人群。可以根据不同属性 进行分层为: 所在区域:分为市内繁华商业区和远离商业中心的区域两层。 年龄:分为年轻人(12-25),中年人(30-45)和老年人(50-65)三层 所在行业:分为白领,学生,科研,无业游民四层 类型:分为追求时尚,关注价格,注重质量三层 (5)性别:分为男性,女性两层 2.采样规模 规模的计算: 对报表进行分析,得到错误率为6% 主观设定允许的区间为[-0.03,+0.03] 可信度:94%,可信度系数(z):1.96 (4)计算种群比例的标准差σp: (5)确定必须的采样规模n: 面谈的采样规模: 至少与组织中每个阶层的3个人进行面谈 (2)这3个人中至少有一个人来自组织中的不同部门 (3)至少一个人直接参与了某个新系统,或系统升级 3.安排问题的方式 安排问题的方式为:金字塔结构 先以具体的问题(封闭式问题)开始,让调查的对象先对话题进行预热,然后再询问开放式问题。 二.系统开发的原型种类 为了加快系统交付进度和尽量让用户参与其中,采用进化式原型开发: (1)进化式开发的系统的系统需求事先不能完全确定 (2)首先设计一个全局性框架,然后建立一个初始的稳定模型,运行该原型,并反复添加、修改和完善,逐步向目标系统进化.每一次进化,都产生一个逼近目标的新版本. (3)该模型在进化过程中,始终强调可靠性、可维护性、适应性和效率等 软件质量问题.该模型的最终成果就是投入使用的系统. (4)系统描述、设计和实现交叉进行的 (5)系统是逐渐递增的 (6)系统用户界面都是用交互式开发系统来实现的 三.COTS软件的模块化安装 原型可以通过COTS软件的模块化安装 COTS软件 (1)简化嵌入式设计过程 (2)实现可扩展的原型设计平台的价值 (3)在应用程序开发中提高的效率 (4)可配置原型设计平台 对于大部分技术和分工而言,一个过程或者功能越是标准化,那么那个工作就变的越轻松越有效。一个COTS原型设计平台可以更快地在嵌入式设计上进行反复,更迅速地实现一个可演示的概念验证。使用一个现成的、模块化I/O平台以及扩展的I/O支持简化嵌入式系统设计过程。 满足对高层开发工具的关键要求 要想为广泛的嵌入式系统应用集提供高效率,一个与COTS原型设计兼容的高层系统设 计环境需要提供: ●信号处理和数学IP的箱外有效性 ●设计系统硬件逻辑和实时部分的功能 ●支持各种I/O模块和驱动 ●具有能与传统的和第三方IP集成的接口 ●与特定领域应用的集成(例如滤波器设计,控制设计工具) ●直观的,快速的调试性能 四.制定敏捷建模方案 1.敏捷建模的3次变更迭代 (1)每一次迭代都要进行各自的需求分析、系统分析、系统设计和代码实现。 (2)每一次迭代都要产生经过测试、集成并可执行的局部系统。 (3)迭代开发通过多次迭代对系统进行持续扩展和精化,并以循环反馈和调整作 为核心驱动力,使用之最终成为适当的系统。 每一次迭代都是构造—反馈—调整的过程 计划 需求分析 设计 编码 测试 运行维护 定义 阶段 开发 阶段 维护 阶段 图1每一次迭代的过程 2.制定编程规范 JAVA代码规范: (1)类名首字母应该大写 (2)为了常规用途而创建一个类时,请采取"经典形式" (3)对于自己创建的每个类,都考虑置入一个main(),其中包含了用于测试那个类的代码 (4)应将方法设计成简要的、功能性单元,用它描述和实现一个不连续的类接口部分。 (5)设计一个类时,请设身处地为客户程序员考虑一下(类的使用方法应该是非常明确的)。 (6)使类尽可能短小精悍,而且只解决一个特定的问题。 (7)让一切东西都尽可能地"私有"--private。 (8)谨惕"巨大对象综合症"。 (9)若不得已进行一些不太雅观的编程,至少应该把那些代码置于一个类的内部。 (10)任何时候只要发现类与类之间结合得非常紧密,就需要考虑是否采用内部类,从而改 善编码及维护工作。 (11)尽可能细致地加上注释,并用javadoc注释文档语法生成自己的程序文档。 (12)涉及构建器和异常的时候,通常希望重新丢弃在构建器中捕获的任何异常 (13)在特定的作用域内,若一个对象必须清除(非由垃圾收集机制处理),请采用下述 方法:初始化对象成功后,立即进入一个含有finally从句的try块,开始清除工作。 (14)若在初始化过程中需要覆盖(取消)finalize(),请记住调用super.finalize() HTML编