软件
作者:互联网
软件架构师
- 理解和分析客户的业务需求,确定项目或产品的技术架构和技术路线;
- 负责产品架构分析,提出软件架构整体设计,数据库储存设计方案;
- 划分基本的软件功能模块,指导其他工程师的设计工作;
- 参与项目在技术架构方面的立项评审;
- 负责核心技术问题的公关,系统优化;协助解决项目开发过程中的技术难题;
- 制定开发规范,参与指定技术标准,编写相应的技术文档;
- 配合项目的整体计划和安排,对技术人员进行培训和指导;
- 我们需要知道自己还缺什么能力,为什么需要这些能力
软件工程的概述
1、软件
软件=程序+数据+文档
程序(一组计算机指令)数据(操作对象)文档(设计报告、规格说明、使用维护手册)
2、软件特点
灵活性、维护复杂、不会磨损和老化
3、软件危机
值在计算基软件的开发和维护过程中所遇到的一系列严重问题。
开发:如何满足日益增长的软件需求
维护:如何维护应用中的大量已有软件
原因:软件本身规模庞大,软件开发与维护的方法不正确有关,忽视需求分析,缺乏方法论指导,文档欠缺,忽视交流,忽视测试、维护,无质量保证体系
解决:对软件和软件开发的正确认识:软件开发是组织良好、管理严格、各类人员协同配和、共同完成的工程项目。推广和探索开发软件的成功技术和方法。开发和使用软件工具:分析和设计工具:rose\argo uml 测试工具:junit、winrunner
loadrunner 配置管理工具:cvs 项目管理工具:ms project
4、软件工程
产生:1968年北大西洋公约组织提出软件工程概念。
目标:能在开发成本、开发时间、软件功能、性能等方面达到预期目标。
定义:能在机器上有效运行的软件,而及案例和使用完善的工程原理。
本质:分析与设计、复杂性分解、准确需求、经验技巧、团队精神、用户在用
三要素:工具、方法、过程
5、软件生命周期
......
6、各模型优缺点
生命周期模型 | 优点 | 缺点 | 特点 | 适用范围 |
瀑布模型 | 阶段性强,易于管理 | 灵活性差 | 推迟实现、质量保证的观点(带反馈环) | 需求稳定、本身风险低 |
快速原型模型 | 灵活性好,简单快速,适应中途变更 | 缺乏整体性和稳定性 | 线性开发模型 | 已经有产品(原型)、有快速原型开发工具 |
增量模型 | 开发灵活,模块化 | 要求开放和稳定的体系结构 | 系统模块化和组件化 | 可分批次交互、待开发的软件系统能够被模块化 |
螺旋模型 | 风险分析 | 风险分析过高 | 瀑布与快速模型相结合多出一个风险驱动 | 适用于复杂的、高风险的大型软件项目 |
喷泉模型 | 提高软件项目开发效率,节省开发时间 | 由于迭代,不利于项目的管理 | 迭代、无间隙 | 面向对象的软件开发 |
7、面向对象的开发方法
基本思想:对问题域进行自然的分割,以更接近人类通常思维的方式建立问题领域的模型,以便对客观的信息实体进行结构和行为的模拟,从而使设计的软件更直接地表现问题的求解过程。
定义:面向对象=对象+类+继承+消息
组成:OOA:面向对象的分析,解决“做什么”的问题。OOD:面向对象的设计,解决“如何做”的问题。OOP:面向对象的编程,把面向对象设计的结果翻译成某种程序语言书写的面向对象程序。
标签:模型,面向对象,开发,设计,软件,维护 来源: https://www.cnblogs.com/tjwsaereee/p/16692531.html