一天晚上睡不着觉,无聊,乱想,遂有如下文章:写完之后发现很多漏洞,呵呵。不过也有些可取之处
发上来留个纪念吧。
软件开发中,有一些方法被反复利用:抽象,泛型,折中。所以试着以这些方法来分析软件开发的过程。
人类的行为大部分可以抽象成这样:
过程一、目标---实施--->成功
过程二、目标---实施--->失败
大部分人都希望走过程一这样的路,如何在软件开发中走好一这条路呢,下边开始分析。
软件公司的目标:
获取利润-->保住利润-->减少成本
软件公司的实施:
开发软件,卖出-->不退货赔款,增加回头客-->压缩成本。
软件公司的成功方法:
保证实施过程路线正确,并顺利进行。对应实施的过程,如下
软件符合需求-->Bug少,性能高-->开发成本少,维护成本少.
在开始长篇大论之前,插播一段:
记得不知道谁说过:"没有一定成功的方法,但可以通过了解失败的方法来提高成功率".我想这也是人们喜欢
排除法的原因吧。本文的很多思想来自这个标准.
--------------------------------------------------------------------------
一、开发出符合需求的软件:
1、开发出不符合需求软件的原因:
(1)、需求挖掘不够 (前期需求挖掘不够)
(2)、人员流动 (大量骨干人才在项目进行期流失)
(3)、实现力不够 (技术储备,人才储备不够)
(4)、反馈不够 (有这样一种情况,客户的需求是现实中不可能实现的,要说服客户做一些放弃)
2、解决上边问题的一些方法:
(1)、RUP 文档 沟通
(2)、文档 企业文化 管理
(3)、技术积累 人才储备
(4)、沟通
总结:仔细分析下来,发现在这个过程中,技术人员占的比例很小,仔细考虑一下,这也是很多公司不重视技术
人员的原因,因为他们的要求是作出符合用户需求的软件,卖出去就好了。因为在这个环节技术人员不是主导,
只要招聘的到开发人员来做软件就好.(中国最不缺的就是人),这个话题还是不多说的好.
二、开发出Bug少、性能高的软件
1、Bug多、性能低下的原因:
(1)、测试力度不够
(2)、管理混乱
(3)、开发人员责任心与技术不够
2、解决上边问题的方法:
(1)、专门的测试小组,对测试的重视程度,测试完善程度(是否有单体、集成、压力等测试)
(2)、有完善的质量管理体系和方法(例如bugtrace QA Junit等测试软件的使用 责任明确)
(3)、企业文化、内部技术交流、引进人才
总结:在这个问题上,技术人员的主导作用在大幅提高,Bug的多少主要取决于测试的投入力度和规范化
性能的高低,主要取决于开发人员的素质,对开发语言,使用框架,数据库等的了解程度和追求高质量的心态.
三、减少成本,经验表明,减少软件成本的主要方法是减少维护成本.
1、增加维护成本的原因:
(1)、软件总体设计混乱,结构不清晰
(2)、代码编写的滥(命名不规范 注释不够 缩进混乱 逻辑不清晰)
(3)、文档的保存和维护
2、解决方法:
(1)、设计模式 管理方法(建议看看<<人月神话>>这本书)
(2)、编码规范
(3)、CMM ISO等
--------------------------------------------------------------------------------
大部分在学习一门语言的时候喜欢看一下Hello World,所以写个HelloWorld体现一下上边的过程
(只从某个角度)
一、demo版本Hello World
1
public
class
HelloWorld
{
2
public
static
void
main(String[] args)
{
3
System.out.println(
"
Hello World!
"
);
4
}
5
}
二、符合需求的Hello World
1,经过需求调研,客户需要频繁输出HelloWorld,而不是一次
1public class HelloWorldOne {
2 public static void main(String[] args) {
3 while(true){
4 System.out.println("Hello World!");
5 }
6 }
7} 马上实现一个简单符合客户需求的原型,交给客户,让客户看一下。
2,客户反馈说不需要如此频繁的输出,只要一般速度就可以了
1public class HelloWorldThree {
2 public static void main(String[] args) {
3 while(true){
4 try{
5 Date date = new Date();
6 if (date.getSeconds()%3==0){
7 System.out.println("Hello World!");
8 }
9 }catch(Exception e){
10 }
11 }
12 }
13} 改一下原型,给客户看
3,客户再次反馈说我们需要是上午快点,下午慢点的的Hello World
1import java.util.Date;
2public class HelloWorldTwo {
3 public static void main(String[] args) {
4 while(true){
5 try{
6 Date date = new Date();
7 if(date.getHours()<12){
8 if(date.getSeconds()%2 ==0){
9 System.out.println("Hello World!");
10 }
11 }else{
12 if(date.getSeconds()%10 ==0){
13 System.out.println("Hello World!");
14 }
15 }
16 }catch(Exception e){
17 }
18 }
19 }
20} 4、......如此继续
5、客户提出要求,能不能开发出我想快就快,想慢就慢的程序
明确告诉他,这个是不可能的。
三、提高性能
1import java.util.Date;
2public class HelloWorld {
3 public static void main(String[] args){
4 while(true){
5 try{
6 System.out.println("Hello World!");
7 Date date = new Date();
8 int hour = date.getHours();
9 if(hour>8 && hour<12){
10 Thread.currentThread().sleep(2000);
11 }else if(hour >13 && hour <17){
12 Thread.currentThread().sleep(10000);
13 }else{
14 Thread.currentThread().sleep(1000*60*60);
15 }
16 }catch(Exception e){
17 }
18 }
19 }
20} 四、增加可维护性
import java.util.Date;
public class HelloWorld {
public static void main(String[] args){
run(8,12,13,17);
}
////**
*四个参数依次是 上午上班时间 ,上午下班时间,下午上班时间,下午下班时间
*/
public static void run(int start1,int end1,int start2,int end2){
while(true){
try{
System.out.println("Hello World!");
Date date = new Date();
int hour = date.getHours();
if(hour>start1 && hour<end1){
Thread.currentThread().sleep(2000);
}else if(hour >=start2 && hour
分享到:
相关推荐
成语“胡思乱想”,顾名思义,是指无凭无据、不切实际的杂乱无章的想象。这一成语最早见于《朱子全书·学》,用来形容那种脱离现实基础,漫无边际的空想状态。其拼音为“hú sī luàn xiǎng”,常缩写为“hslx”。...
胡思乱想.doc
【软件开发】领域的知识点: 1. 心态与情绪管理:在软件开发中,面对复杂的代码问题和项目压力,良好的心态至关重要。如同文中提到的,多心和胡思乱想只会让人陷入困境,学会释怀和坚强是应对挑战的关键。开发者...
在软件开发领域,有效的绩效管理能促进团队协作,激发创新,提高产品质量和开发效率。本资料主要涵盖了提高个人和组织绩效的多种路径和方法。 首先,组织结构对绩效有显著影响。复杂性、正规化和集权化是衡量组织...
在IT技术的世界里,胡思乱想并非毫无意义,它往往是创新和进步的源泉。"为什么没有表格的MarkDown呢?" 这个问题看似简单,却触及了编程语言和标记语言的核心理念。 首先,我们要了解Markdown。Markdown是一种轻量...
脑脊液 Brainfuck 在 Scala 中使用无限内存磁带! 使用sbt assembly构建 主要选项 -c将输入转换为文字字符串 -v打印详细输出(目前还没有) -e输出指针上的最后一个值作为退出代码。 引擎 interpret解释脚本而不...
这句话强调了软件开发的现状,软件开发需要具备艺术性和科学性。 知识点46: 软件开发的挑战 如果汽车能赶上计算机的发展周期的话,⼀辆今天的劳斯莱斯仅值100美元,每加仑要跑100万英⾥,每年还得爆炸⼀次,把⾥⾯...
从网络搜集了一些,QQ好友给了一些,整理了起来做成一个eif格式表情包。
《提高自身绩效路径与方法》题库探讨了与软件开发相关的绩效管理问题,涵盖了组织结构、绩效评估、员工激励、创造性思维、工作设计等多个方面。以下是这些知识点的详细解析: 1. 组织结构的衡量维度包括复杂性、...
01989da4e3dd 个人公众号3 静夜随想 长 周末夜晚的胡思乱想4 哆啦安全 gmkj_dlaq 移动安全(Android/iOS/鸿蒙)、车联网安全、Web安全、终端安全、隐私合规、数据安全、防作弊、溯源取证、软件安全开发等的技术研究...
- 胡思乱想:失眠的夜晚,他躺在床上胡思乱想,无法入睡。 3. 错别字改正: - "边原"应改为"边缘",表示地域的边界。 - "顶锋"应改为"顶峰",指的是最高点或最高峰。 4. 反问句改述句: 反问句:“想开点,人...
本次游戏灵感均来自于函数与胡思乱想 目前为Dome版本 正式版正在优化 大部分剧情已经写好 但是还有一部分还是不全的 多多支持一下新人,新人才初中,QWQ 有些地方的Bug会在正式版修正,Dome目前均在测试阶段,有Bug...
第一:刘一男老师针对2010年考生最新制作考研最强版词汇记忆课程。 第二:帮助学员快速掌握考研核心5500单词,最终做到无生词上考场。...第四:秉信科学,简单实用,不胡编乱造,不胡思乱想,不肤浅搞笑,不增加负担。
7. "想入非非"表示脱离实际的胡思乱想,有时带有贬义。 8. "不速之客"指的是未经邀请而突然来访的人。 9. "人声鼎沸"形容场面非常热闹,声音嘈杂。 10. "置之度外"表示对某事毫不在意,不放在心上。 11. "流光溢彩...
“胡思乱想”与“痴心妄想”这两词虽看似相似,但后者往往带有贬义色彩,指那些不切实际、过分固执的幻想。而“胡思乱想”则更多是指杂乱无章、缺乏根据的思考。 “重整旗鼓”与“卷土重来”在表达失败后的再战时,...
培训原则表明,培训将非常注重参与性,鼓励每个人贡献自己的创新想法,且不会对“胡思乱想”进行批评,这有助于营造一个开放、无压力的思考环境。 创新思维工具部分介绍了多种思维工具和技巧,以促进创新和创造力的...
适用于Python的RPA :snake: | | | 该工具以前称为Python的TagUI。 名称更改的向后兼容,因此...窗口-如果视觉自动化是胡思乱想,试试你的显示器缩放级别设置为推荐%或100% :red_apple: macOS- Catalina更新引入了更
胡思乱想的硬币 Cranky Coin是一个简单的区块链,加密货币,钱包实现 入门 # apt install python3-pip # pip3 install virtualenv # virtualenv -p python3 venv # . venv/bin/activate # pip install -r ...
培训的原则鼓励参与者不惧怕胡思乱想,因为任何创新的想法都值得被尊重和探讨。 在培训过程中,首先进行的是自我评估,通过快速填写关于创新的自我问答题,让参与者了解自己对创新概念的理解程度。接下来,参与者...