软件工程第一次作业

一、为何会经历软件危机,软件危机表现在哪?

提问原因:在科技水平进步的同时,软件领域为何没有更上硬件的脚步。

资料:

软件危机的定义:

在计算机软件的开发和维护过程中所遇到的一系列严重问题

产生软件危机的原因:

(1)与软件本身特点有关
        1. 软件不同于硬件,管理和控制软件开发过程相当困难
        2. 软件在运行过程中不会因为使用时间过长而被”用坏“如果运行中发现了错误,很可能是遇到了一个在开发时期引入的在测试阶段没能检测出来的错误
        3. 软件不同于一般程序,他的一个显著特点是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升
(2)软件开发于维护的方法不正确有关
        1.只重视程序而忽视软件配置其余成分的糊涂观念。
        2.软件开发人员在定义时期没有正确全面地理解用户需求,知道测试阶段或软件交付使用后才发现”已完成的“软件不完全符合用户的需要
        3.严重的问题在软件开发的不同阶段进行修改需要付出的代价是很不相同的!

软件危机的具体表现:

1、对软件开发成本和进度的估计常常很不准确
2、用户对“已完成的“软件系统不满意的现象经常发生
3、软件产品的质量往往靠不住
4、软件常常是不可维护的
5、软件通常没有适当的文档资料
6、软件成本在计算机系统总成本中所占的比例逐年上升
7、软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势

二、面对对象技术是什么,它有何特点?

提问原因:想了解面对对象是一个什么过程

资料:

面对对象技术是指在 软件开发 过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。

特点:

1、抽象性

把众多的事物进行归纳、分类是人们在认识客观世界时经常采用的思维方法,“物以类聚,人以群分”就是分类的意思,分类所依据的原则是抽象。抽象(Abstract)就是忽略事物中与当前目标无关的非本质特征,更充分地注意与当前目标有关的本质特征。从而找出事物的共性,并把具有共性的事物划为一类,得到一个抽象的概念。

2、封装性

封装就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。图1-1中的学生类也反映了封装性。封装有两个含义:一是把对象的全部属性和行为结合在一起,形成一个不可分割的独立单位。对象的属性值(除了公有的属性值)只能由这个对象的行为来读取和修改;二是尽可能隐蔽对象的内部细节,对外形成一道屏障,与外部的联系只能通过外部接口实现。

3、继承性

客观事物既有共性,也有特性。如果只考虑事物的共性,而不考虑事物的特性,就不能反映出客观世界中事物之间的层次关系,不能完整地、正确地对客观世界进行抽象描述。运用抽象的原则就是舍弃对象的特性,提取其共性,从而得到适合一个对象集的类。如果在这个类的基础上,再考虑抽象过程中各对象被舍弃的那部分特性,则可形成一个新的类,这个类具有前一个类的全部特征,是前一个类的子集,形成一种层次结构,即继承结构。

4、多态性

多态性(Polymorphism)是指类中同一函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数。

三、目前开发软件主要会使用那些开发工具?

提问原因:想了解一下软件开发的主流开发工具

资料:

集成开发环境(IDE)

Eclipse: 一个开源的、跨平台的IDE,支持多种编程语言,特别适用于Java开发。
Intell IDEA: 面向Java、Kotlin等语言的商业IDE,以其强大的功能和智能化的代码建议而受欢
迎。
Visual Studio: 由Microsoft提供的强大IDE,支持多种语言,包括C#9、C++、Python等

版本控制工具

Git:分布式版本控制系统9,用于跟踪代码变更、协作开发和版本管理9
SVN(Subversion):集中式版本控制系统9,提供对文件和目录的版本控制。

构建工具

Apache Maven: 用于项目管理9和构建的工具,支持自动化构建、依赖管理Q等
Gradle:类似于Maven,但使用Groovy语言编写配置文件9,更灵活。

项目管理和协作工具

Jira: 由Atlassian提供的项目管理和问题跟踪工具。
Trello: 简单直观的项目管理工具9,支持卡片式的任务管理。
Confluence: Atlassian提供的团队协作和文档管理工具。

.......

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值