软件工程HomeWorks
个人学习内容
杰keeping
新手上路了
展开
-
有人负责,才有质量:写给在集市中迷失的一代
原文链接:图灵社区在阅读了他发表的这篇文章后,来说说自己的感受.写这篇文章的作者是一个在软件开发邻域工作了二十几年的老程序员,见证了开源软件市场的发展历程.对如今的软件开发领域有独特的见解.按照它所说的,如今的IT行业比10年前增长了两个数量级(100倍),作为一个刚开始学习软件工程的学生来说,我也太清楚,但我知道,IT行业发展确实迅猛,随着如今智能手机\各种软件的更新迭代,就是很好的证明.以我的理解,他这篇文章的意思是对如IT行业发展过于迅速,开发程序员的质量参差不齐,行业秩序混乱,软件邻域缺原创 2022-04-10 15:58:23 · 209 阅读 · 0 评论 -
推荐阅读《大象--thinking in UML》
《大象:ThinkinginUML》以UML为载体,将面向对象的分析设计思想巧妙地融入建模过程中,通过贯穿全书的实例将软件系统开发过程中方方面面的知识有机地结合在一起,用生动的语言和精彩的事例将复杂枯燥的软件过程讲解得津津有味。全书分为准备篇、基础篇、进阶篇和总结篇四个部分。准备篇讲述面向对象分析的一些基本概念,及学习建模需要了解的一些基本知识。基础篇对UML的基础概念重新组织和归纳整理,进行扩展和讨论,引申出针对UML的这些概念在中应用面向对象方法方法的思考。进阶篇以一个实例贯穿全篇,阐述如何使用UML从原创 2022-04-10 14:24:54 · 132 阅读 · 0 评论 -
形式化方法
形式化方法英文的名称是formal methods。在逻辑科学中是指分析、研究思维形式结构的方法。它把各种具有不同内容的思维形式(主要是命题和推理)加以比较,找出其中各个部分相互联结的方式,如命题中包含概念彼此间的联结,推理中则是各个命题之间的联结,抽取出它们共同的形式结构;再引入表达形式结构的符号语言,用符号与符号之间的联系表达命题或推理的形式结构。例如,把全称肯定命题,用符号形式化为“SAP”;把联言命题、假言命题分别形式化为:“p∧q、“p→q”。又例如:一个具体的假言联言推理“如果这种金属是纯铝,那原创 2022-04-05 16:45:08 · 113 阅读 · 0 评论 -
java的反射机制
Java 反射机制是 Java 语言的一个重要特性。在学习 Java 反射机制前,大家应该先了解两个概念,编译期和运行期。编译期是指把源码交给编译器编译成计算机可以执行的文件的过程。在 Java 中也就是把 Java 代码编成 class 文件的过程。编译期只是做了一些翻译功能,并没有把代码放在内存中运行起来,而只是把代码当成文本进行操作,比如检查错误。运行期是把编译后的文件交给计算机执行,直到程序运行结束。所谓运行期就把在磁盘中的代码放到内存中执行起来。Java 反射机制是在运行状态中,对于任意一个转载 2022-04-05 16:40:05 · 86 阅读 · 0 评论 -
决策表(决策树)
决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。但不同于传统程序语言中的控制语句,决策表能将多个独立的条件和多个动作直接的联系清晰的表示出来。定义:用表格的方式描述决策问题一种方法,这种表格也被称为决策矩阵。所谓决策表是指一个以行、列形式来描述和表示决策规则和知识信息的表,如果决策问题的后果是用损失的费用表示,这个表也被称为损失矩阵。表示:上述的决原创 2022-04-02 18:53:13 · 756 阅读 · 0 评论 -
画流程图和盒图,结构化图
1.程序流程图:盒图:2.不是结构化,因为它有两个输出口。原创 2022-03-30 22:18:26 · 171 阅读 · 0 评论 -
为什么软件开发方法论让你觉得糟糕?
软件开发方法论让人觉得糟糕原创 2022-03-24 21:00:37 · 114 阅读 · 0 评论 -
什么是分而治之?
分而治之”( Divide and conquer)方法(又称“分治术”) ,是有效算法设计中普遍采用的一种技术。所谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解,这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。...原创 2022-03-21 10:55:53 · 167 阅读 · 0 评论 -
了解WBS
工作分解结构,又称WBS,它跟因素分解是一个原理,就是把一个项目,按一定的原则分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常生活中,直到分解不下去为止。即:项目→任务→...原创 2022-03-21 10:44:07 · 300 阅读 · 0 评论 -
为什么软件开发周期总是预估的2~3倍
说到软件开发,我们知道软件生命周期由软件定义、软件开发和运行维三个时期组成,每个时期又进一步划分成若干个阶段。总体为问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试和软件维护,这八个阶段。在软件开发开始之前,需要对软件开发周期进行预估,这是一个综合分析的过程,其中的工作包括了很多细节问题需要处理,比如:预估的准确性标准是什么、选择什么样的预估方法和工具、预估应遵守的原则和态度、预估人员的选择等。其中任何一个环节没有做到位,周期预估时间与实际时间就会产生较大差异。对于开发周期总原创 2022-03-19 21:50:27 · 204 阅读 · 0 评论 -
医院患者监护系统的问题定义和可行性研究
目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察病人的病情变化,还可能会延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统,试写出问题定义,并分析开发这个系统的可行性。医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日记,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。问题定义:(1)目标:开发患者监护系统。(2)原创 2022-03-15 22:51:29 · 1795 阅读 · 1 评论 -
软件工程与计算机科学的关系和区别
软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而验证正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。20世纪60年代中期,“软件危机”的出现,促使了“软件工程”这门学科的出现。具体讲,它是从管理和技术两方面研究如何更好地开发和维护计算机软件。其目的就是为了消除软件危机。 计算机科学,是研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科...原创 2022-03-05 23:23:05 · 796 阅读 · 1 评论 -
软件工程方法论对我们的软件开发有多大用处?
我觉得软件工程方法论对于我们软件开发来说有非常大的用处。软件开发是一个涉及管理知识(项目的任务分配、执行计划)、社场行情(软件在市场上的竞争力)、心理学(软件是给人使用的,但我们并不知道人们具体要什么功能,而某个功能在实际生活中可能会遇到多种类型的特殊情况,那么它的应对方法是什么,这就需要我们根据人的心理去猜想这些可能并做出解决方案,在软件中体现)、交流能力(软件开发过程中,组员间要交流交换意见看法)、理解能力(理解别人的代码和想法)和专业知识(过硬的编程能力可以起到事半功倍的作用)等多方面的实践创作过原创 2022-03-06 19:40:02 · 311 阅读 · 0 评论