E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
HIT-软件构造
LINUX编译系统(2)
3.
软件构造
3.1软件第一级构造init-y:=init/drivers-y:=drivers/sound/net-y:=net/libs-y:=lib/core-y:=usr/core-y+=kernel
hj_shen
·
2020-07-16 00:00
Linux
linux
module
filter
build
symlink
include
软件构造
系列学习笔记(6.2)————可维护性设计模式
可维护性设计模式目录创造性模式结构化模式行为化模式创造性模式创造性模式(Creationalpatterns)一共分为三种模式,分别是:工厂方法模式:创建对象,而不指定要创建的确切类。抽象工厂模式:将具有共同主题的对象工厂分组。Builder模式:通过分离构造和表示来构造复杂的对象。下面对这三种模式一一进行描述工厂方法模式(FactoryMethodpattern)工厂方法模式也被称为虚拟构造器。
fundament
·
2020-07-15 23:27
软件构造系列学习笔记
软件构造
系列学习笔记(5.3)————可复用性的设计模式
可复用性的设计模式除了Framework,5-2节所讨论的其他技术都过于“基础”和“细小”,有没有办法做更大规模的复用设计?本节:几种典型的“面向复用”的设计模式。目录适配器模式(Adapter)装饰器模式(Decorator)外观模式(Facade)策略模式(Strategy)模板方法模式(Templatemethod)迭代器模式(Iterator)除了类本身,设计模式更强调多个类/对象之间的关
fundament
·
2020-07-15 23:55
软件构造系列学习笔记
哈工大18年春
软件构造
课程讨论题
这是哈工大18年春
软件构造
课程(徐汉川老师)的讨论题目,少部分答案摘录自课件PPT和网上的资源(链接在文中给出)。如有错误还望指出,谢谢。
a_18067
·
2020-07-15 19:46
学习
软件构造
课程的心得体会
在学习
软件构造
课程之前,我对于编程工作的理解就是简单的写一写代码,改一改bug。但学完这门课后我对于编程有了更加深刻的认识。
Christolo
·
2020-07-15 17:39
可复用性复习概要
可复用的不仅仅只有代码,最主要的复用是在代码层面,但
软件构造
过程中的任何实体都可能被复用,如需求、设计/规约spec、数据、测试用例、文档。代码复用的类型:(1)白盒复用:源代码可见,可修改和扩展。
小镇二掌柜
·
2020-07-15 15:06
基于案例的
软件构造
教程学期大作业-100以内的加减法
小组开发,感谢组内大佬带我飞,我就是个做ppt的混子说明:①代码仅供参考,实现了课本上的所有功能并且通过了上台展示。②编写用的eclipse,具体的文件路径结构已经不记得了。③下面的代码是很多个Java程序放在一起了,想要用把代码顺一遍,找找文件的开始结尾位置。④注释是个好东西,建议学弟学妹不要直接白嫖,尽量读一读代码。packageExerciseTest;publicclassAddition
PPPParadox
·
2020-07-15 08:24
杂项
软件构造
:3-3 Abstract Data Type (ADT)
抽象数据类型ADT的特性:表示泄露,抽象函数AF,表示不变量RI抽象以及用户定义的类型抽象数据类型是软件工程中一个通用原则的实例,它有很多名字:抽象:用更简单、更高层次的思想忽略或隐藏底层细节。(规约是一种客户端只需要理解千前置和后置条件来使用的抽象,不需要了解内部实现)模块性:将一个系统划分为各个组件或模块,可以设计、实现、测试、推理和重用与系统的其他部分分开。(单元测试和规约使得方法变为模块)
HelloTheWholeWorld
·
2020-07-14 04:23
软件构造
软件构造
:3-4 Object-Oriented Programming (OOP)
3-4面向对象的编程标准的面向对象泛型:对于“准备好更改”和“为重用而设计”:应该可以使用表示任意类型的正式泛型参数来编写类。继承:控制潜在的复杂性。多态:应该可以在基于继承的类型系统的控制下,将实体(表示运行时对象的软件文本中的名称)附加到各种可能类型的运行时对象上。动态分派/绑定:在实体上调用某个特性应该总是触发与所附运行时对象的类型相对应的特性,这在调用的不同执行中不一定是相同的。基本概念:
HelloTheWholeWorld
·
2020-07-14 04:23
软件构造
软件构造
:3-5 Equality in ADT and OOP
ADT和OOP中的等价性等价关系ADT是对数据的抽象,体现为一组数据的操作。抽象函数AF是表示空间到抽象空间的映射,定义了ADT的等价操作。等价关系:自反、传递、对称。不可变类型的等价抽象函数AF映射到同样的结果则等价。==VSequals()==是引用等价性,而equals是对象等价性Object中缺省equals实现方法是判断引用等价性可变类型的等价性分为以下两种:观察等价:在不改变对象状态的
HelloTheWholeWorld
·
2020-07-14 04:23
软件构造
软件构造
:3-2 Designing Specification
DesigningSpecification行为等价性站在客户端视角看行为等价性:根据规约判断行为是否等价规约结构:前置条件和后置条件前置条件:对客户端的约束,在使用方法时必须满足的条件;后置条件:对开发者的约束,方法结束时必须满足的条件;契约:如果前置条件满足了,后置条件必须满足前置条件不满足,则方法可以做任何事情前置条件在@param中定义后置条件在@return和@throws,但是在规范中
HelloTheWholeWorld
·
2020-07-14 04:23
软件构造
软件构造
:5-1 Metrics, Morphology and External Observations of Reusability
在
软件构造
的过程中任何实体都可能被复用。需求规约数据测试用例文档复用类型:白盒复用:源代码课件,可修改和扩展;黑盒复用:源代码不可见,不能修改。
HelloTheWholeWorld
·
2020-07-14 04:52
软件构造
实验踩坑记录:Java迭代器iterator无法remove、remove失败原因以及Iterator源码分析
实验踩坑记录:Java迭代器iterator无法remove、remove失败原因以及Iterator源码分析第一个坑在
软件构造
Lab2实验过程中遇到一个问题,调用Set的iterator.remove
HelloTheWholeWorld
·
2020-07-14 04:52
软件构造
Java语言基础知识复习收获(一)
由于本学期的
软件构造
课程对Java语言有着较大的要求,所以对我来说时不时地对基础知识进行复习也是很有必要。
Mtp.
·
2020-07-13 21:28
2020年春季学期
软件构造
Lab 1
1实验目标概述12实验环境配置13实验过程23.1MagicSquares23.1.1isLegalMagicSquare()23.1.2generateMagicSquare()33.2TurtleGraphics63.2.1Problem1:Cloneandimport63.2.2Problem3:TurtlegraphicsanddrawSquare73.2.3Problem5:Drawin
weixin_45668170
·
2020-07-13 21:44
使用Travis-ci和Eclipse进行在线build
这学期
软件构造
的实验需要放到github上,然后TA会从你github上clone你的代码然后进行验收,这个地方就会存在一个问题,如果你的有些库TA电脑上没有,就会出现问题,这个时候有什么办法呢,就是利用
00111001
·
2020-07-13 20:44
JAVA
软件构造
Lab1总结
第一次的实验其实主要是对于一个java基础比较好的人来说,其实不算难,但是对于我这样的java初学者,还是在实验过程中踩了很多坑的。Problem1MagicSquare这个问题应该是4个问题里最简单的一个问题,从文件中读入一个矩阵,然后判断这个矩阵是否符合magicsquare的定义,只需要把矩阵的行列数据相加比较即可。但是其中还是有很多需要注意的地方1数据大小一般来说,想到矩阵,肯定是用一个二
00111001
·
2020-07-13 20:44
JAVA
2020年春季学期 计算机学院《
软件构造
》课程——Lab2总结(P3)
目录:接lab2上一篇文章规则介绍3.3PlayingChess3.3.1ADT设计/实现方案1.Position(mutable)2.Piece(mutable)3.Player(mutable)4.Board(mutable)5.Action(interface)6.Action的两个实例类:ChessAction与GoAction7.Game(immutable)3.3.2主程序MyChes
丿AnGel灬翼丶族
·
2020-07-13 16:36
软件构造实验总结及报告
2020年春季学期 计算机学院《
软件构造
》课程——Lab1总结
目录1实验目标概述2实验环境配置2.1实验环境的配置方法与过程2.2实验环境配置过程中遇到的问题和困难2.2.1.java环境的配置2.2.2.eclipse的安装与配置2.2.3.Git及Gitbash的安装与使用3实验过程3.1MagicSquares3.1.1isLegalMagicSquare()3.1.1.1处理输入文件并分割3.1.1.2幻方条件判断3.1.1.35个txt的结果显示3
丿AnGel灬翼丶族
·
2020-07-13 16:35
软件构造实验总结及报告
2020年春季学期 计算机学院《
软件构造
》课程——Lab2总结(P1、P2)
目录1实验目标概述2实验环境配置3实验过程3.1PoeticWalks3.1.1GetthecodeandprepareGitrepository3.1.2Problem1:TestGraph3.1.3Problem2:ImplementGraph3.1.3.1ImplementConcreteEdgesGraph(1)实现Edge类(2)实现ConcreteEdgesGraph类(3)实现Con
丿AnGel灬翼丶族
·
2020-07-13 16:35
软件构造实验总结及报告
java
2020年春季学期 计算机学院《
软件构造
》课程 Lab 1实验报告
2020年春季学期计算机学院《
软件构造
》课程Lab1实验报告姓名学号班号电子邮件手机号码目录1实验目标概述12实验环境配置13实验过程13.1MagicSquares13.1.1isLegalMagicSquare
m0_46567380
·
2020-07-13 08:12
浅析List中Integer类型比较的错误
正确的初始化如下实际上是由于我的
软件构造
实验课lab1中一个困扰我近三个小时的程序bug,让我想到了开这样一个测试程序说明这个问题如上图(即我的测试程序),按逻辑List中存入了同一个int类型的数据,
HINJ
·
2020-07-13 06:10
程序bug心得
HashMap与ArrayList在找某个元素时的速度差异
前言在
软件构造
课的实验5时,需要对大数据测试来判断我们程序的性能,最后我的时间总是比室友要慢几秒,在确定了我们读取文件的方式,构建轨道的算法基本复杂度没有区别时,就更加让我疑惑了,最后在仔细对比两个人的算法和
00111001
·
2020-07-12 23:02
JAVA
哈工大
软件构造
学习心得from 01 静态检查
01静态检查冰雹系列定义:从正整数n开始,如果n是偶数,则下一个数是n/2,否则下一个数是3n+1,直到n等于1。Java实现intn=3;while(n!=1){System.out.println(n);if(n%2==0){n=n/2;}else{n=3*n+1;}}System.out.println(n);Python实现n=3whilen!=1:print(n)ifn%2==0:n=n
zm04125
·
2020-07-12 20:01
软件构造
Lab2-实验报告
实验目标概述本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象编程(OOP)技术实现ADT。具体来说:⚫针对给定的应用问题,从问题描述中识别所需的ADT;⚫设计ADT规约(pre-condition、post-condition)并评估规约的质量;⚫根据ADT的规约设计测试用例;⚫ADT的泛型化;⚫根据规约设计ADT的多种不同的实现;针对每种实现,设计其表示(representa
zero_from
·
2020-07-12 19:17
软件构造
HIT
软件构造
《设计模式》部分总结
创造模式创造模式关心的是对象类创造的过程应该遵循的原则。里氏替换原则继承必须确保超类所拥有的性质在子类中仍然成立里氏替换原则(LiskovSubstitutionPrinciple,LSP)是面向对象的设计原则。通俗地讲,它指出了父类不能干的事子类也许也不能干,但父类能干的事子类必须能干。也就是说子类的规约一定要比父类强。具体来说分为以下几个方面子类的precondition弱于或等于父类子类的p
请务必让我来!
·
2020-07-12 17:21
java与软件构造
【MIT
软件构造
】ADT Patterns: Interfaces, Generics, and Enums
接口(Interfaces)基本概念不再赘述,值得注意(记住)的有几点:接口不应该有构造函数只有静态方法才能拥有方法体接口实现不能破坏表示不变性接口实现可以添加接口没有的方法,但是不能缺少接口声明的方法接口实现不应该违背接口规约(比如接口规约声明为不可变类型,但在实现类里加入了mutator)子类型(subtype)a是b的子类型,则a要么implementb,要么extendb。a是b的子类(s
请务必让我来!
·
2020-07-12 17:20
java与软件构造
【MIT
软件构造
】Equality
引言由前文知java提供了抽象数据类型ADT,使数据类型不再表现于具体属性,而表现于ADT在用户眼中的特征。可以想到,定义并阐明ADT的相等关系是很有必要的。等价关系一个等价关系E具有如下性质自反性:E(t,t)∀t∈T对称性:E(t,u)⇒E(u,t)传递性:E(t,u)∧E(u,v)⇒E(t,v)显然,我们定义的相等关系应该是一个等价关系,如“==”,equals()不可变类型的相等定义定义不
请务必让我来!
·
2020-07-12 17:20
java与软件构造
软件构造
lab2心得与体会
0x00序lab2对于java初学者来说是很硬核的,其中涉及到的知识确实不少。0x01PoeticWalksADT//interfacepublicinterfaceGraph{...}//implementwahtevertypeyouwantpublicclassConcreteVerticesGraphimplementsGraph{...}OOPpublicclassobject{priv
请务必让我来!
·
2020-07-12 16:49
java与软件构造
何为
软件构造
软件结构(SoftwareStructure)是指一种层次表况,由软件组成成分构造软件的过程、方法和表示。软件结构主要包括程序结构和文档结构。程序结构有两层含义,一是指程序的数据结构和控制结构;另一是指由比程序低一级的程序单位(模块)组成程序的过程、方法和表示。在后者含义下,具有代表性的是块结构和嵌套结构两种。块结构比较自然,各个部分之间通过一些公用变量取得联系,嵌套结构是在嵌套分程序的基础上引进
xiao____hit
·
2020-07-12 16:43
2020
软件构造
Lab3思考
3.1待开发的三个应用场景1.CourseSchedul2.FlightSchedul3.TrainSchedul3.11.1航班应用显示航班信息系统主菜单,如图-1所示,包括:1)列出所有航班2)按起飞时间查询3)按目的地查询4)删除航班5)更新航班6)退出系统图-1主菜单界面(2)列出所有航班:查出所有航班的信息,以列表形式显示,包括:编号,航班号,目的地,起飞日期。如图-2所示。图-2列出所
赵华洲
·
2020-07-12 14:21
哈工大2020
软件构造
Lab3
目录1实验目标概述···12实验环境配置···13实验过程···13.1待开发的三个应用场景···23.2面向可复用性和可维护性的设计:PlanningEntry·33.2.1PlanningEntry的共性操作···33.2.2局部共性特征的设计方案···43.2.3面向各应用的PlanningEntry子类型设计(个性化特征的设计方案)···43.3面向复用的设计:R·73.4面向复用的设计:
zrhhhhh123
·
2020-07-12 14:16
lab3
软件构造
[HITSC]哈工大2020春
软件构造
复习笔记 (1)
本系列文章Chapter1:ViewsandQualityObjectivesofSoftwareConstructionChapter2:ProcessandToolsofSoftwareConstructionChapter3:AbstractDataTypeandObject-OrientedProgrammingChapter4:Reusability-OrientedSoftwareCo
北言栾生
·
2020-07-12 14:03
软件构造
Java
哈工大-
软件构造
-Lab2的相关问题
Lab2的相关问题前言接着之前的博客,这里简述一下在实验1的P2里我遇到的或同学遇到的一些问题导入文件这里其实就是简单的文件复制,之后刷新(刷新的问题在之前讲过了),但这时候会产生报错,这是因为包的名字和引入报的名字不对造成的,只要在前面加上“P2.”就好了。注意:package和部分的import后面都要加JUint的使用其实,老师是发了一段视频教学的(不知道是不是疫情期间的特殊处理),在这里再
weixin_44553921
·
2020-07-12 14:54
哈工大-
软件构造
-Lab2-P3相关问题
前言到了Lab2的P3,感觉自己终于真正地设计一回程序里,之前都是一条一条的命令行,这回终于弄出了还看得过去的图形界面(其实在第二周的时候把命令行模式的游戏打完了,但在同学的怂恿之下,这才开始打有图形界面的程序)。在这里,命令行模式的东西就不再介绍了,我们已经做的太多了,这里说一下图形界面有关的问题在此,我只介绍我的实验过程之中接触的方法,并不带表我的方法是唯一或最好的,恰恰相反我的方法还有很多的
weixin_44553921
·
2020-07-12 14:23
软件构造
Lab2学习笔记
一、关于ADTAF:抽象函数AF表示值到其对应的抽象值的映射,即该ADT给出的是多种值的抽象化表示。RI:表示不变量RI表示值到布尔值的映射,说明某个值必须满足怎样的条件。safetyfromrepexpose:安全保证safetyfromrepexpose描述ADT如何确保表示是安全的。checkRep():检查表示不变量checkRep检查表示不变量是否始终满足。二、关于迭代器Iterator
zzklh
·
2020-07-12 14:32
SC
软件构造
复习:第六章(上)
目录健壮性和正确性ThrowableError/Runtime异常、其他异常Checked异常、Unchecked异常Checked异常的处理机制自定义异常类健壮性和正确性健壮性:系统在不正常输入或不正常外部环境下仍能够表现正常的程度面向健壮性的编程:处理未期望的行为和错误终止即使终止执行,也要准确/无歧义的向用户展示全面的错误信息错误信息有助于进行debugRobustnessprinciple
Delicia720
·
2020-07-12 14:07
HIT
软件构造
lab3
由于上次lab2几乎把整个报告都放上去了,导致最后很多盆友的写报告的时候直接照样复制了,有点不太好。因此这次我只写了lab3自己的部分实现。其实我ADT的设计挺一般的,而且ddl都到了,我想这个时候大家的实验应该都写完了吧。由于最近太忙,文章内容我也没怎么认真排版了,大家见谅。待开发的三个应用场景首先请列出你要完成的具体应用场景(至少3个,1和2中选一,3必选,4和5中选一,鼓励完成更多的应用场景
你跺你也麻.
·
2020-07-12 13:10
软件构造
HIT
软件构造
期末复习第三章ADT+OOP3.1
HIT
软件构造
期末复习第三章ADT+OOP3.13.1要考的概念很多数据类型是一个集合,每个集合包含的是所有满足这个类型的值基本数据类型(java):(在栈中分配内存存储,数据不可变)intlongbooleandoublechar
伍六七的柳
·
2020-07-12 13:55
软件构造
HIT
软件构造
期末复习3.2设计规约
HIT
软件构造
期末复习3.2参数类型是否匹配,返回值是否匹配,都在静态类型检查阶段完成代码中的“设计决策”:给编译器读注释形式的“设计决策”:给自己和他人读规约是程序与客户端之间达成的一致。
伍六七的柳
·
2020-07-12 13:24
软件构造
哈工大
软件构造
lab3
3.1待开发的三个应用场景首先请列出你要完成的具体应用场景(至少3个,1和2中选一,3必选,4和5中选一,鼓励完成更多的应用场景)。行星系统原子系统社交网络分析你所选定的多个应用场景的异同,理解需求:它们在哪些方面有共性、哪些方面有差异。他们都具有轨道,中心物体,轨道物体等属性,但是各自具体的属性不同,行星系统上物体有实际物理位置,其他两个系统无,行星系统每个轨道只有一个物体,其他两个系统有
海边月
·
2020-07-12 12:25
软件构造实验
哈工大
软件构造
实验 lab2
本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象编程(OOP)技术实现ADT。具体来说:⚫针对给定的应用问题,从问题描述中识别所需的ADT;⚫设计ADT规约(pre-condition、post-condition)并评估规约的质量;⚫根据ADT的规约设计测试用例;⚫ADT的泛型化;⚫根据规约设计ADT的多种不同的实现;针对每种实现,设计其表示(representation)、
海边月
·
2020-07-12 12:25
软件构造实验
软件构造
心得(12):关于JFrame、动态显示、与交互界面制作的入门级心得
前言GUI虽然不是我们
软件构造
课程的核心思想所在,但是却往往代表着一个软件设计者外在而直接的品味。
良夜星光
·
2020-07-12 12:11
软件构造
java
eclipse
软件构造
心得(7):spec、RI、AF、A概念辨析之RI
RI(repinvariant)representation概念representation即为了支持功能实现的ADT内部的数据结构(表示方式)。“representation(theactualdatastructureordatafieldsusedtoimplementit)”repindependent内部的数据结构的改变不影响外部的功能实现。repinvariant一种解释方式是一个re
良夜星光
·
2020-07-12 12:40
软件构造
java
笔记
HIT
软件构造
__Lab3
1实验目标概述本次实验覆盖课程第3、5、6章的内容,目标是编写具有可复用性和可维护性的软件,主要使用以下
软件构造
技术:⚫子类型、泛型、多态、重写、重载⚫继承、代理、组合⚫常见的OO设计模式⚫语法驱动的编程
酒精哥
·
2020-07-12 12:02
HIT
软件构造
__Lab2
1实验目标概述本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象编程(OOP)技术实现ADT。具体来说:⚫针对给定的应用问题,从问题描述中识别所需的ADT;⚫设计ADT规约(pre-condition、post-condition)并评估规约的质量;⚫根据ADT的规约设计测试用例;⚫ADT的泛型化;⚫根据规约设计ADT的多种不同的实现;针对每种实现,设计其表示(represent
酒精哥
·
2020-07-12 12:01
软件构造
Lab2
AbstractDataType(ADT)andObject-OrientedProgramming(OOP)实验目标概述本次实验训练抽象数据类型(ADT)的设计、规约、测试,并使用面向对象编程(OOP)技术实现ADT。实验环境配置安装配置EclEmma实验过程PoeticWalks分别在ConcreteEdgesGraph,ConcreteVerticesGraph两个类中实现Graph接口。在
微小vivi
·
2020-07-12 12:10
软件构造
软件构造
Lab3
ReusabilityandMaintainabilityorientedSoftwareConstruction实验目标概述实验过程待开发的三个应用场景基于语法的图数据输入面向复用的设计:CircularOrbit实验目标概述目标是编写具有可复用性和可维护性的软件,主要使用以下
软件构造
技术
微小vivi
·
2020-07-12 12:10
软件构造
哈工大
软件构造
期末复习考点总结
哈工大
软件构造
课程考点复习总结(第一、二章)
软件构造
的多维视图Build-timeCode-level:源代码:代码的逻辑组织:AST抽象语法树、函数、方法、类、接口等具体的逻辑实现Listitem(classdiagram
weixin_40301308
·
2020-07-12 11:56
【
软件构造
】期末知识点
【考点Equals】==是引用等价性;而equals()是对象等价性。==比较的是索引。更准确的说,它测试的是指向相等(referentialequality)。如果两个索引指向同一块存储区域,那它们就是==的。对于我们之前提到过的快照图来说,==就意味着它们的箭头指向同一个对象。equals()操作比较的是对象的内容,换句话说,它测试的是对象值相等(objectequality)。e在每一个AD
weixin_30914981
·
2020-07-12 07:35
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他