




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程第一章成材之路技术方向 两大集团IBM, Sun , BEA为首, J2EE构架 核心技术 JSP, Servlet, JDBC , RMI, JMS, JNDI等,产品提供商有 IBM websphere, BEA Weblogic , Sun IPlanet,SunOne,tomcat书籍 Thinking in Java Second Ed. EJB J2EE技术入门点:tomcat + struts Microsoft .Net Framework( VS.net 2005)采用类似Java VM的技术,称为 CLR (Common Language Runtime)VB.ne
2、t, VC.net, C#.net包括ASP.net ADO.net .Net FrameWork软件发展的方向 基于web的应用 了解web应用的基础 内容,html、DOM(Document Object Model),request, response 因为web很健忘,所以还要理解session (会话)成材之路 精通掌握一种IDE 如Microsoft visual c#.net Java 开发环境 如 Eclips, IntelliJ IDEA Inprise (Borland) C+ builder,C# Builder, Delphi 注意跨平台的编程环境 Windows 和
3、Linux之争 原代码可跨平台(在统一的集成环境下) Delphi -Kylix成材之路选择一种语言选择一种语言( OOP)(object oriented programming)JAVA C#.net VB.net VC.net C+ 与集成环境有关: 如VC , C+ BuilderObject Pascal -DelphiObject Basic 语言 VB掌握一种大型数据库掌握一种大型数据库 如MS SQL ServerOracle 更好 IBM DB2推荐语言信息化系统建设信息化系统建设 C#.netJAVAVB.net信号处理等有特殊效率要求信号处理等有特殊效率要求 C+习惯OO
4、P从面向过程的编程思路转到面向对象的编程思路。理解对象的组成,封装、多态和继承成材之路-良好的习惯编码习惯 格式等 函数头、参数的描述,函数之间的间隔,缩进缩出,变量尽量局部化命名规范 如匈牙利规范,其他的命名规则 例如类的命名第一个字母就大写,后续单词的第一个字母大写,方法的第一个字母小写。如类Student,类的方法saveStudent。思维逻辑 general 不要盲目为提高程序语言的简洁而降低可阅读性 变量与数值的结合的时间要合理 尽量函数化,一个函数只作一个任务 一个变量只用于一个目的使用成熟的算法问题 选课系统需求 教务员可以输入一个新学生;更新、查询学生的信息。 教务员可以输入
5、一门新课程;更新、查询课程的信息。 教务员指定教师开设一门课程。 教务员可以查询一门课程的所有的选课学生名单,总人数。 教务员可以为某个指定的学生选课;输入学生成绩。为操作方便,输入学生的成绩时,可以是指定一门课程的课程号,把学生的名单按学号从小到大次序罗列,逐个输入学生成绩。 学生可以查询自己所有的选课信息,自己的已选课列表和待选课列表,实现选课。可以输入自己对某门课程任课教师的评价。 软件工程 软件应该是一个可维护的产品 编制一整套的配置文档编制一整套的配置文档 软件应该以系统的、工程的方法开发制作,并提供售后服务 NATO提出软件工程1、程序设计时期(1946年到60年代中期)2、软件时
6、期(1960年代中期至70年代中期)3、软件工程时期(1970年代至今) 软件发展的三个阶段1983年IEEE定义:“软件工程是开发、运行、维护和修复软件的系统方法”。 软件工程定义 1.软件工程方法学 研究软件构造技术的学问。软件从定义、开发到维护,都有适当的方法。 2.软件工程环境 最终用户(end user):环境就是他们运行程序所使用的计算机系统。 软件开发人员:是软件开发环境。 软件工具:一切帮助开发软件的软件。例如很多的IDE,可以明显提高软件的生产率。 3.软件工程管理 软件工程管理的目的,是为了按照软件的预算和进度完成项目计划,实现预期的经济和社会效益。软件工程的范围于1976
7、年由BWBoehm提出。是基于软件生存周期的一种范型。它将软件生存周期分为定义、开发、维护三个阶段每个阶段又分为若干个子阶段软件工程范型 瀑布软件的配置文档组成软件的配置文档组成 需求分析 结构设计(概要设计、顶层设计) 详细设计 数据库设计(如果存在的话) 测试用例 维护手册 使用手册弥补瀑布模型的缺点划分成阶段,但不严格评审步骤建立一个待开发软件的原型经过用户评价后提出对软件需求的修改这种修改可能会反复多次根据用户和开发者一致认定的软件需求,设计和实现所需要的软件。工程范型 -快速原型适合大型新产品的开发从概念开发最初产品开发产品增强开发产品维护改进 工程(Engineer)的任务是作出本
8、产品原型,交出一个可运行的原型以便评审和审计。 构建和发布(Construction & Release)是开发、测试、安装完整的产品,并提供用户支持(如文档、手册、培训)。客户验证(Customer Validation)的任务是得到用户的反馈。 工程范型 螺旋模型4GT (Fourth- Generation Techniques)的简称。以第四代语言为核心的一类技术的统称,数据库查询的非过程化语言,自动报表生成,自动代码生成,高级作图、如ZedGraph快速应用开发模型 (4GT范型范型)需求分析如何获得一个完整的需求识别问题 与领导和实际操作者多方沟通 与实际操作者: 事务处理
9、系统 TPS 与领导: 决策支持系统 DSS分析与综合 判断出信息处理的种类。例如信息管理类,工程控制类、智能系统类 建立模型写规格说明 在什么条件下能做什么事情需求分析的实例面向对象基本概念 真实世界里的很多事物都是对象,对象具有属性和行为,它们是紧密联系在一起 什么是对象面向对象基本概念 类和对象是有区别的,可以认为类是一类对象的抽象,而对象则是具体的 类面向对象基本概念 类具有属性,例如,不管手机是那个厂商生产的,它都有自己尺寸、色彩、按键等基本属性。属性分配到一个具体的对象时,也变成具体的内容 属性面向对象基本概念 类的行为或操作,是指一个类可以作的事情。在面向对象的方法中,行为又称为
10、方法。 行为或操作面向对象基本概念 对象有属性和方法,但不是所有的方法和属性都对外公开的 封装面向对象基本概念 泛化也成为抽取一类事物的共性 泛化多态 多态,是一类对象具体化得到不同的对象时,每个对象对泛化的内容的具体表现形式 面向对象基本概念 对象经过泛化后,得到共同的特征,从而可以实施对这些共性内容的定义和描述,形成一个类,这样的类,一般是是给后续的具体化的类进行继承的。被称为超类或父类。 超类面向对象基本概念 父类和子类是一个统一的概念,是面向对象设计中类间的上下级的关系,一般而言,父类整理了一个类中的共性内容,具有高度的抽象,而子类通过继承父类类获得这些共性的内容。 子类需求的组织 用
11、例,用来说明一个系统的行为和功能。 在一个特定的环境下,参与系统的用户与系统之间可能进行的操作,以及这些操作的交互序列。用例 Use case问题 选课系统需求 教务员可以输入一个新学生;更新、查询学生的信息。 教务员可以输入一门新课程;更新、查询课程的信息。 教务员指定教师开设一门课程。 教务员可以查询一门课程的所有的选课学生名单,总人数。 教务员可以为某个指定的学生选课;输入学生成绩。为操作方便,输入学生的成绩时,可以是指定一门课程的课程号,把学生的名单按学号从小到大次序罗列,逐个输入学生成绩。 学生可以查询自己所有的选课信息,自己的已选课列表和待选课列表,实现选课。可以输入自己对某门课程
12、任课教师的评价。需求的组织 参与者:用一个特定的小人表示,其下面用文字描述角色的名称。 用例:用椭圆表示,文字写在椭圆内或下面,描述其要实现的功能。 连接:一条直线,画在参与者和用例之间,表明角色参与了该用例。 扩展关系:用例之间可能会存在参与关系,就是一个用例可以继续扩展到另一个用例,扩展用例用虚线箭头加关键字 extended来表达。 包含关系:用例是描述功能的,功能上相互独立的2个用例,可能会存在包含关系,包含用例也用虚线箭头表达,上加关键字include。用例图需求的组织学生选课用例图 用例图- 需求的组织培训机构接待收款用例图 用例图- 需求的组织类分析 实体类:实体类: 实体类是指
13、在系统运行过程中,其生成的对象是持久的,它的存在会超过一个会话的生命期,它持有系统应用的大部分数据。 边界类:边界类: 边界类负责系统与用户的交互 控制类:控制类: 控制类是为了增加系统的适应性而设计的类,负责主要的应用逻辑,将实体类和频繁变更的业务逻辑隔离开。 实体类、边界类、控制类类之间的交互图 类被分成了实体类、边界类和控制类,用例中有不同的类参与,这些类之间互相通讯,担负各自的责任,类对象之间互相交互的图就是交互图。 交互图又被分为顺序图、通信图、活动图和状态图 交互图的目的:弄清数据、数据流向、先后次序、对象 交互图顺序图描述对象之间的交互顺序交互图 在一个用例图中确定用例的参与者,
14、注意参与者之间没有交互图,因为它们在系统范围外。 每次考虑一个用例,描述用例的功能。 对每个用例,建立用例与每个参与者的边界类。 对一个给定的用例,确定其控制类(如果必须的话)。 从用例的对象关系中得到实体类。 顺序图中的各个交互,是在类的对象之间进行的。顺序图步骤顺序图举例学生选课用例顺序图 交互图通信图强调对象之间的通信学生选课用例通信图活动图 活动图表达一个系统功能的工作流 表达活动到其他活动的路径。 和传统设计中的流程图很相似活动图符号p活动:以椭圆型内包含说明组成。p转移:用箭头表达。p判断点:以菱形内包含条件说明。p同步:用粗线条表达。p开始:用空心圆表达。p停止:用靶心表达。活动
15、图例子学生选课用例活动图设计体系结构p设计体系结构的总体蓝图p确定系统的复杂度p确定系统的层次关系多层构架多层体系结构的演变多层体系结构的分层p数据层p表示层p逻辑层p数据访问层详细设计和编码详细设计和编码详细设计的任务q为软件结构图中的每一个模块确定采用的算法和块内数据结构q用某种选定的表达工具给出清晰的描述。详细设计的描述工具详细设计的描述工具 程序流程图 方框图(N-S图) 问题分析图(PAD图) 伪码(PDL语言)程序流程图1. 顺序结构2. 选择结构3. 多分支选择结构4. 先判断型循环5. 后判断型循环Task1Task2Task31CElseThen2C1C2C3T1T2T33C
16、循环体4C循环体5程序流程图例子a入bX1X2fX5cdeX3X4X6gihX7X8g学生登陆流程图入输入学号,密码tblStudent(no, name, dept, birthday,sex)tblAccount(no, password)tblRole(no, role)从tblAccount中查找记录C返回空生成登陆者实体对象,返回abc循环体While循环条件循环体Until条件dea 顺序 b 选择 c 多路选择 d 先判断 e 后判断 N-S的基本元素N-S框图的例子abF x1 TCase xi,i=1,2,3,4 fX2 x3 x4 F x6 TX5 g i C d e h
17、x7x8jN-S框图的优点每个步骤都用一个方框表示方框中可以嵌套另一个方框.深度没有限制由于只能从上面进入方框,N-S图限制了随意的控制转移,保证了程序的良好的结构它强制设计人员按结构化程序设计的方法进行思考形象直观,易于表达嵌套结构,容易确定局部和全局数据问题分析图 PAD基本结构要素任务1任务2任务3任务1任务2 T条件 F任务1任务2任务3 值1 值2控制=变量 值nwhile循环体until循环体顺序选择多分支先判断后判断PAD例子aUntil x8bx1fx6until x7igh x2xi x3 x4while x7hdej程序流程图例子a入bX1X2fX5cdeX3X4X6gih
18、X7X8jPAD例子组b有26个元素,初始化每个元素为0While is的长度t=s的第i个字符减去字符a的序号之差b的第t个元素增1i=0接口定义接口定义 void freq(string s, out int b)public static void main() string s; int b=new int26; s=tbStr.Text; / 输入的全部是字母 freq(s,b); for (int i=0; i26, i+) cout bi “ ” ;PAD的优点 从左到右延伸的树结构,每一层一条竖线 容易反映逐步求精的过程PDL语言u一种形式的灵活的语言,与编程语言无关u分内语法和外语法 内语法自然表述,外语法是编程语言的抽象u外语法的关键字: 先判断 do while enddo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025石油开采租赁合同
- 2025保健品加盟店合作合同书模板
- 2025租赁合同标准格式
- 小学生传染病预防教育
- 人教版小学一年级下册数学第八单元测试题
- 肺快速康复护理
- catchingcrabs课文总结模版
- 三晋卓越联盟·2024-2025学年高三5月质量检测卷(25-X-635C)语文(B)
- 浙江省宁波市镇海中学2025年5月第二次模拟考试 数学试卷+答案
- 2025年出纳个人上半年工作总结模版
- 生死擂台免责协议书
- 试管婴儿合格协议书
- 事业单位公开招聘分类考试公共科目笔试考试大纲(2025版)
- 高考考务人员培训系统试题答案
- 【MOOC】设计的力量-湖南大学 中国大学慕课MOOC答案
- 车辆技术档案
- 2019译林版高中英语全七册单词总表
- 人工智能导论智慧树知到课后章节答案2023年下哈尔滨工程大学
- 燃气公司绩效考核表格大全(共61页)
- 室外配套工程监理实施细则
- 英语教学课件Unit-4-Lions-and-Tigers-and-Bears
评论
0/150
提交评论