佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 17658|回复: 35

软件工程入门

[复制链接]
发表于 23-5-2006 03:06 PM | 显示全部楼层 |阅读模式
可以分享你们对软件工程的看法、心得。[size=-2]

[ 本帖最后由 白日梦 于 7-6-2006 10:55 AM 编辑 ]
回复

使用道具 举报


ADVERTISEMENT

发表于 23-5-2006 06:24 PM | 显示全部楼层
不懂。。。。
读什么的????
回复

使用道具 举报

发表于 23-5-2006 07:52 PM | 显示全部楼层
对我而言, 软件工程是一个概念, 只要概念基础打好的话, 任何一种编程语言也能很快上手. 例如说, 当你懂得 FIFO, If Else While For 等, 你大致上可以掌握任何一种编程语言; 当你了解物件导向, UML, 你便可以轻松面对 Java 或 .Net.

精通任何一种编程语言其实一点也不值钱... 懂得好好运用编程语言才算值钱... 这就是软件工程显得重要的地方.
回复

使用道具 举报

发表于 23-5-2006 08:38 PM | 显示全部楼层
"Engineering" : The practical application of science to commerce or industry

"Software" Engineering : The practical application of science In Software Development
回复

使用道具 举报

发表于 23-5-2006 09:08 PM | 显示全部楼层
我觉得软件工程是用软件制作系统的工程啰~~

其范围包括了:

计划管理(Project Management)
系统分析与设计(System Analysis)
系统的标准评定(UML,CMM等等标准)
回复

使用道具 举报

 楼主| 发表于 24-5-2006 09:48 AM | 显示全部楼层
何谓 Software Engineering? 任何一个 Project 或 一个 Assignment 都是。

在大学毕业论文里的 Final Year Project 就是让你们去实践编程功力之时。

怎样去管理好工程,经验谈每项工程都是经由5个步骤。
1.调查 Survey
  去了解顾客的系统需求、工作程序、对方的预算、编写系统所需的时间及人力。
2.分析 Analysis
  使用逻辑思维去整理整个系统的流程图。
3.规划 Planning
  去规划工作时间表,分配人手。
4.行动 Action
  Nike的座右铭: Just Do It。没行动的话什么都是白谈的。
5.测试 Evaluation
  接近尾声时,除虫和测试,虽不能 100% Guarantee Bug free,至少也要达到
  95% 这水平。
回复

使用道具 举报

Follow Us
发表于 24-5-2006 11:38 AM | 显示全部楼层
在修读software engineering, 在做任何project, assignment,我们必须做很多的doocuments(user reqiurement, syetem specification, case diagram, design, coding, unit-testing, etc), 最后software才能出来。

现在做工时:
1. manager 会给你一个title, 和给你一些的fuctions specs. 给你两天come out 一个sample program.
2. 在什么也不是很清楚下(靠自己想象system flow) , 写完sample program.
3. manager 看了后, 会叫你改写一些, 然后说: “ core functions 出来了, 给多几天时间, 把program做好, 然后可以交给customer了。

我很纳闷, 为什么没有跟读书的时候一样!?
回复

使用道具 举报

 楼主| 发表于 24-5-2006 02:28 PM | 显示全部楼层
Time Management 时间管理的重要性

时间份属于工程管理范围内。

当接到一单工程时,上头就会交给 programmer 每项工作细节及死期(deadline)。

相对而言,顾客也要知道几时可以看到展示(demo),几时可以编写完成,几时可以安装,几时可以训练系统使用者。

它的重要性在于;
1.有效率 efficient
2.商业信用 trust
3.专业化 professional
回复

使用道具 举报


ADVERTISEMENT

发表于 24-5-2006 06:40 PM | 显示全部楼层
原帖由 白日梦 于 24-5-2006 09:48 AM 发表
何谓 Software Engineering? 任何一个 Project 或 一个 Assignment 都是。

在大学毕业论文里的 Final Year Project 就是让你们去实践编程功力之时。

怎样去管理好工程,经验谈每项工程都是经由5个步骤。
1 ...

简称SDLC(System Development Life Cycle)
回复

使用道具 举报

 楼主| 发表于 25-5-2006 09:37 AM | 显示全部楼层
是 Project Management 的 5 step。
这个不只通用于软件工程,其他有关电脑或非电脑的工程都通用。
计划管理的流程图是单线形的, S→A→P→A→E
例如电脑升级计划,购买正版软件计划,年终晚宴活动,公司资助的旅游活动。

SDLC 的流程图。
分析 Analysis

文件记录 Documentation

编码 Coding ←┐←┐
↓            │  │
测试 α testing┘  │
↓                │
安装 Installation │
↓                │
测试 β testing──┘

完成 Complete

[ 本帖最后由 白日梦 于 26-5-2006 09:58 AM 编辑 ]
回复

使用道具 举报

发表于 25-5-2006 05:59 PM | 显示全部楼层
有时很矛盾。。开始时是有根据SDLC来开发的。。当交到客户手上时,他们要加这个加哪个,而且又说URGENT,不然就不给钱。。所以没办法了。。只有跳过一些STEP,直接编码--->测试--->交货-。-!!
回复

使用道具 举报

 楼主| 发表于 26-5-2006 10:05 AM | 显示全部楼层
UML 是什么?
UML 是 Unified Modeling Language 统一建模语言
这里有详解
http://www.uml.org.cn/oobject/200511181.htm

UML 软件工程组织 http://www.uml.org.cn/index.asp


转载自 superwei http://chinese.cari.com.my/myfor ... &extra=page%3D1
回复

使用道具 举报

发表于 30-5-2006 10:26 AM | 显示全部楼层
好料!! 我顶。。。。
谢谢分享如此好的网页。。。
回复

使用道具 举报

发表于 1-6-2006 05:13 PM | 显示全部楼层
我覺得軟體工程是一套開發軟體的方法,或者說是流程,

他能夠幫助你,讓你對你的專案需求,進度,流程,測試等等問題能夠掌握

能夠推算出大致的進度表,當然也可以通過某些方法的出開發成本之類的問題,


從前的從前,當大家還在用結構式語言的時候,(C之類的語言)

採用的流程是瀑布式流程,

雖然有很多的缺陷和問題,但是確實是那個時候的一個軟體工程的解決方案


當物件導向出現之後,瀑布式流程慢慢不再合適,

於是又有了反覆式的開發流程,反覆式流程能夠解決某些瀑布式流程的問題,

而且更加的適合以物件導向技術為基礎的系統,
(p/s 用物件導向語言寫出來的系統並不一定物件導向.....)

而在反覆式流程中又有許多的方法論,

每一種方法論都提出了自己的一套精神,

例如 RUP,XP programming 等等,都有自己的原則和理由,

通過這些方法論,我們可以更"工程"的對專案進行開發.

以上...就是我的看法....有點亂.... :p


對了, UML 只是一套視覺化的工具,

能夠幫助我們進行溝通,能夠依照一些規則把系統表現出來,

雖然它是這樣的一個分析工具,

但是如果想要用 UML 進行物件導向分析與設計,

只看 UML 的書恐怕是沒有辦法的喔

必須去看相關的方法論之類的書,

因為我以前曾經卡在這個觀念上蠻久的,

在這裡提醒大家....
回复

使用道具 举报

 楼主| 发表于 7-6-2006 10:51 AM | 显示全部楼层

Computer-Aided Software Engineering (CASE)

听过 CASE tool 是什么吗?

CASE工具箱 就是给 软件工程师 筛选工商业界里常采用的标准规格软件模块并组合成为一套专业化的 应用程序软件。

比如说,某建筑公司顾客要求把目前人手做的账目全部电脑化。
那样子,就得在工具箱里打包有关的模块。如 GL,AP,AR
GL Transaction的Account改到又可分裂出Project来。
Profit & Loss可查看每个Project的盈亏。
AR里的Invoice,Receipt,Statement报告要改letter head,有公司名,地址及商标等。
回复

使用道具 举报

 楼主| 发表于 5-9-2006 11:52 AM | 显示全部楼层

Ms Access 的开发工具箱 CASE tools

说起来很简单它就是我们所熟悉的 Wizard (魔法师)。

用来设计表格的 Form Wizard
用来设计报告的 Report Wizard
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 5-9-2006 12:16 PM | 显示全部楼层

M$ Visual FoxPro version 6.0 - 9.0 SP1 的开发工具箱

M$ VFP 的开发工具箱比起上述 Access 的更多更强大。

开发新软件用的 Application Wizard
不喜欢垂直排列打横来的 Cross Tab Wizard
设计数据库用的 Database Wizard
懒得写方案也行的 Documentation Wizard
设计表格的 Form Wizard
设计图表的 Graph Wizard
接受其它类型数据库的 Import Wizard
要看过滤的数据的 Local View Wizard
有书信文字处理功能的 Mail Merge Wizard
把自身小型数据库变成 M$ SQL server 庞大型数据库的 Microsoft SQL Server Upsizing Wizard
账单式表格的 One-to-many Form Wizard
账单式报告的 One-to-many Report Wizard
输出 Excel 电子表的 PivotTable Wizard
类似 SQL 的 Query Wizard
接通 M$ SQL 数据库的 Remote View Wizard
设计报告的 Report Wizard
设计数据表的 Table Wizard
上传数据库去网站用的 Web Publishing Wizard

假如有人问你要做个简单的图书管理系统用VFP需要多少天?
你可以自信又夸张的答他: 做什么要多少天,一个小时就好了。
回复

使用道具 举报

发表于 7-11-2006 12:03 AM | 显示全部楼层
很棒。。。我认识多一样东西了。。。。顶
回复

使用道具 举报

发表于 18-10-2007 03:44 PM | 显示全部楼层
听说 Agile 也蛮好的,不过本地不常听说有人用。。。

http://en.wikipedia.org/wiki/Agile_software_development
回复

使用道具 举报

发表于 22-9-2008 12:55 PM | 显示全部楼层

回复 19# pcstory 的帖子

有谁写FRAMEWORK (DESIGN PATTERN), 可以分享 ? 小第只有两年FRAMEWORK experinece.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 29-3-2024 05:24 AM , Processed in 0.070476 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表