際際滷

際際滷Share a Scribd company logo
Software Evolution 
犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 (Software Engineering) : 
犢犖犢犖犖犖迦権犖о鹸犖犖迦犖朽犢犖犢犖犖犖迦牽犖犖犖犢犖犖 犢犖ム鍵犖犖園犖犖迦犖犖犖犢犢犖о牽犢犢犖犢犖÷元犖犖伍犖犖迦犖犖項 
犢犖犖∇見犖迦硯犖巌犖朽犖迦牽犢犖犖犖迦牽犢犖犢犖犖園犖犖迦犖犖劇犖犖犖迦犖犢犖犖犖犖犢犢犖о牽犢犖犖朽犖犖園犖犖迦犖謹犖犖÷元 
犖犖伍犖ム犖園県犖犖萎犖朽犖犖朽犖犖犖犖迦検犖犖о顕犖÷犢犖犖犖犖迦牽犖犖犖犖ム弦犖犖犢犖 犖犖項犢犖犢犖犖萎犖 犢犖ム鍵犖犖項犖犖犖園犖 
犖犖萎犖 
犢犖犖犖迦鍵犖犖伍犖о犖園犖朽 犖犖犖犖犢犢犖о牽犢犖犖犖÷犖巌硯犢犖犖犖犢犢犖犢犖犢犖犖犢犖犢犖ム権犖朽犖朽犖÷元犖犖犖犖迦犖犖 犖犖犖 
犖÷顕犖犖犖朽犖犖伍犖犖萎犖犖園犖ム犢犖ム鍵犖犖迦犢犖÷犢犖犢犢犖犖犖迦牽犖犖 犖犖伍牽犖犖巌 犖犖犖犖犖迦犖犖朽 犖犖犖犖犢犢犖о牽犢 
犖∇犖園犖犢犖犢犖犖犖犖ム犖園犖犖園犖犢犢犖犖巌犖犖迦牽犖犖犖犖園犖犖÷見犖犢犖迦犖犖犖犖犖÷犖巌硯犢犖犖犖犢犖犖迦犖犖萎犖犖犖朽 
犖÷元犖犖犖迦犢犖犖犢 (Mainframe) 犖÷顕犖犖項犖∇幻犖犖犖犖犖犖萎犖犖犖朽犖÷元犖犖犖迦犢犖ム犖 
(Micro/Personal Computer) 犖犖犖犖犖萎犢犖犖園犖犖巌犖犖巌犢犖犖犖犢犢犖犢犖犖犖謹犖犢犖 
犖犖園犖犖伍犖犖 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 1 LPRU
Software Evolution 
犖犖о顕犖÷犖犖犖犢犖迦犖犖犖犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢犢犖ム鍵犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 
犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 (Software Engineering) 
犖 犖∇弦犢犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖о鹸犖犖朽 犖 犖 犖 犖 犖 犖о鹸犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖犢 犖犖謹犖 
犖犖犖萎権犖伍犖犢犢犖犖о犖巌/犖犖む県犖犖朽犖迦犖о鹸犖犖∇顕犖犖迦肩犖犖犢 犖犖犖巌犖犖迦肩犖犖犢犢犖ム鍵 
犢犖犖犢犖犢犖ム権犖朽犖犖萎犖園犖犢犖犖犖迦牽犖犖犢犖迦犖犖ム鹸犖犖犖犖園犢犖犖朽犢犖犢犖犖犖犖萎犖∇犖犢 
犢犖ム鍵犖犖ム賢犖犖犖∇険犖犢犖犖犖迦犖迦牽犖犖 
* 犖犖ム犖迦犖犖項犖犖巌犖迦牽犖犖 犖犖犖劇賢 犖犖犖園肩犖巌犢犖犖∇犖ム犖÷幻犖犖項犢犖犢 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 2 LPRU
犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 
Software Engineering 
(SE) 
Software Evolution 
SEs main goal is to develop systematic 
models and reliable techniques for 
producing high-quality software on time and 
within budget and 
SE people are interested in designing and 
developing information systems that are 
appropriate to the client organization 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 3 LPRU
Software Evolution 
犖ム犖園県犖犖萎犖犖犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 
 犢犖犖朽犖∇硯犖犢犖犖犖犖犖園犖迦牽犖犖犢犖迦犢犖犖犢犖犖犖÷犖犖迦犢犖犖犢 
 犖犖迦検犖迦牽犖犖犖犖園犖迦牽犢犖犖朽犖∇硯犖犖犖園犖о顕犖÷犖迦犖犢犖犖犢犖犢 
 犢犖犢犖犖犖迦牽犖犖 犖犖迦犖犢犖о検犖犖犖園犖犖犖犖伍犖ム顕犖犖 
 犖犖迦検犖迦牽犖犢犖犖ム元犢犖∇犢犖犖ム犢犖犢犖犢犖迦権犢犖÷厳犢犖犖犖迦犖犢犖 
 犢犖犢犖犖犖迦牽犖犖犖園犖迦犖犢犖÷元犖犖犖萎肩犖巌犖犖巌犖迦 
 犖犖犖犖犖犖о顕犖÷犢犖犖犖犖迦牽犖犖犖犖犖項犢犖犢 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 4 LPRU
Software Evolution 
犖犖犖犢犖犖犖萎犖犖犖犖犖犖犖迦牽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 
犖 犖 犖 犖о鹸犖 犖 犖 犖 犖 犖 犖 犖 犖 犖犢犢 犖 犖犢犢 犖犢 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖ム鹸犖 (production)犖犖朽 
犖 犖 犖 犖 犖 犖 犖犢犖 犖 犖犖巌 犖 犖 犖 犖 犖犢犖 犖 犖犢犖 犖 犢 犢 犖犖劇犖 犖 犖犢犖 犖 犖 犖ム鹸犖 犖犖園犖犢犖 犖 犖 犖犢犢 犖 犖犢 
(software products) 犖犖迦牽犖犖 犖犖巌犖犖犖犖÷犖犢犖犢犖ム鍵犖犢犖о犖犖迦絹犖∇険犢犖犖犖犖巌犢犖ム鍵 
犢犖犖犖劇犖犖犖÷厳犖犖犢犖о権犖犢犖迦犢 (support tools) 犖犖朽犖犖園犖о鹸犖犖迦犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢犢犖ム鍵 
犖犖犖園硯犖巌犖∇険犢犖犢犢犖犖犖犢犖о 
Software production 
processes 
Software products 
Support tools 
/Environments 
Market places / 
users 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 5 LPRU
Software Evolution 
 犖犖犖萎犖о犖犖迦牽 犖犖÷顕犖∇犖謹 犖犢犖犖園犖犖犖犢犖迦 犢 犖犖朽犢犖犖朽犖∇硯犖犢犖犖犖犖犖 犢犖ム鍵犖犖迦犖犖犖蹩巌犖犖園鹸 
犢犖犢犖犖劇犖犢犖犖犖犖ム硯犖伍犖園犖犖伍牽犖萎肩犖犖犢犖犖朽犖犖 犖犖犖犢犖о 
 犖犖犖萎犖о犖犖迦牽犖÷元犖犖о顕犖÷見犖÷顕犖∇牽犖о検犖犖謹 犖犖犖園犖∇顕犖犖 犢犖犢犖 犖犖 , 犖о鹸犖犖朽犖迦牽 犢犖ム鍵 
犢犖犖犖劇犖犖犖÷厳犖犖犖朽犖犖 犢犖犢犖犖犖 犖犖犖犖園犖迦犖犢犖犢犖犖蹩巌犖犖園鹸犖犖迦検犖犢犖犖園犖犖犖о鹸犖犖朽犖迦牽犖犖朽犖犖 犖犖犖犢犖о 
犢犖犖犖犖萎犖о犖犖迦牽犖犢犖о権 
 犖犖犖萎犖о犖犖迦牽犖犖朽犖犖朽権犢犖犖÷肩犖迦検犖迦牽犖犖犖蹩巌犖犖園鹸犖犖迦 犢犖ム鍵犢犖犢犖犖ム献犖犖園犢犢犖犖犢犖犖朽権犖о犖犖園犖犖÷賢 
 犖犖犖萎犖о犖犖迦牽犖犖迦犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犖犢犖о権犢犖犢犢犖犢犖犖犖巌犖犖犖犖÷犢犖迦 犢犖犖朽犖犖 犢犖犢犖 
犖犖 犖犖犖犖園犖迦牽犖犖犖園犖 SW 犖犖朽犖犖 犖犖犖犢犖犢 犖犢犖犖園犖犢犖犢犖犖犖犖犖犢犖ム鍵犖犖犖萎肩犖犖犖ム肩犖 犢犖犢犖 
犖犖 
 犖犖犖萎犖о犖犖迦牽犖犖犖園犖ム犖迦硯 犢犖÷犢犖犢 SDLC (System Development Life 
Cycle) 犖犖朽犖犖犖園犖犖園犖迦牽犢犖犖項犖園犖犢犖迦犢犖犖 犢犖犖犖迦鍵 SDLC 犖÷元犢犖犢犢犖犖朽権犖犢犖犖 (phase) 
犖犖 犖犖犖園犖犢犖迦犖園犖 犢犖ム鍵 SDLC 犖犢犢犖犢犖犢犖犢犢犖犖朽権犖犖犖巌犖犖犖犖÷犖朽犢犖犖朽犖∇硯犖犢犖犖犖犖犖園犖迦牽 
犖犖園犖犖迦犖犢犖迦犖園犖 犢犖÷犢犖犢犖犖ム犖迦硯犖犖謹犖犖巌犖犖犖犖÷賢犖劇犖 犢 犢犖犢犖 犖犖迦牽犖о顕犖犢犖犖 , 犖犖迦牽 
犖犖犖萎検犖迦犖犖迦牽 , 犖犖迦牽犖犖犖犖犖迦犖犖ム犖迦 犢犖犢犖犖犢犖 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 6 LPRU
Software Evolution 
犖ム犖園県犖犖萎犖犖犖犖犖萎犖о犖犖迦牽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 
o Understandability : 犖÷元犖犖迦牽犖犖巌権犖迦検犖犖犖犢犖犖犖犖犖犖犖犖萎犖о犖犖迦牽犖犖朽犖犖犖 
犢犖犢犖犢犖ム鍵犖犢犖迦権犖犢犖犖犖迦牽犢犖犢犖迦犖 
o Visibility : 犖犖 犢犖犢犖犖巌犖犖犖犖÷犖犖萎犖о犖犖迦牽犖犖犖園犖犖犖犖朽犖犖伍犢犖犖劇犖犖犖迦検犖迦牽犖 
犖÷賢犖犢犖犢犖犖犖迦犖犖迦権犖犖犖犢犖犢犖犖犖園犖犖 
o Supportability : 犢犖犖犖劇犖犖犖÷厳犖犖犢犖о権犖犖迦牽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 (CASE) 
犖犖迦検犖迦牽犖犖犢犖о権犖犖犖犖園肩犖犖伍犖犖巌犖犖犖犖÷犖犖萎犖о犖犖迦牽犢犖犖犖犖犢犖犖犢犖 
o Acceptability : 犖犖犖萎犖о犖犖迦牽犖犖朽犖犖 犖犖犖犖犖迦検犖迦牽犖犖∇賢犖÷牽犖犖園犖ム鍵犢犖犢犢犖犖 
犖о鹸犖犖о犖犖犖犖犖犢犢犖о牽犢犢犖犖犖迦牽犖犖ム鹸犖犖犖ム鹸犖犖犖犖園犢犖犖犖犖犢犢犖о牽犢 
o Reliability : 犖犖犖萎犖о犖犖迦牽犖犖項犖犖犖犢犖犖犢犖犢犖犖о犖迦犖犖謹犖犖犖о顕犖÷犖巌犖犖ム顕犖 
犖犖犖犖犖犖萎犖о犖犖迦牽犖犖項犖犖ム元犖犢犖ム元犢犖∇犖犢犖犖犖犖朽犖犖萎肩犢犖犖犖ム犢犖犖犖о顕犖÷犖巌犖犖ム顕犖犖 犖犖 
犖犖ム鹸犖犖犖犖園犢犖犖犖犖犢犢犖о牽犢 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 7 LPRU
Software Evolution 
犖ム犖園県犖犖萎犖犖犖犖犖萎犖о犖犖迦牽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 
o Robustness : 犖犖犖萎犖о犖犖迦牽犖犖迦検犖迦牽犖犖犖迦犖迦犖犢犖犢犖犢犢犖÷犖犖о犖迦検犖朽犖園犖犖迦犖朽 
犢犖÷犖犖迦犖犖迦牽犖犢犢犖犖巌犖犖謹犖 
o Maintainability : 犖犖犖萎犖о犖犖迦牽犖犖迦検犖迦牽犖犖о鹸犖о犖園犖迦犖迦牽犢犖犖劇犖犖犖犖犖犖犖犖 
犖犖迦牽犢犖犖ム元犢犖∇犢犖犖ム犖犖о顕犖÷犢犖犖犖犖迦牽犖犖犖犖犖犖犢犖犖 
o Rapidity : 犖犖犖萎犖о犖犖迦牽犖犖迦検犖迦牽犖犖犖 犢犖犢犖犢犖犖÷賢犖犖犖ム鹸犖犖犖犖園犢犢犖犢犢犖犢犖о犖園 
犖 犖 犖 犖犖朽 犖犖項 犢 犖 犖 犖犖 犖 犖ム険犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖犢 犢 犖 犖犢 (Software 
specifications) 犖犖項犖犖迦見犖犖 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 8 LPRU
Introduction 
5 犖犖園犖犖∇険犖犖朽犖犢犖犖犖犖 犖犖謹犢犖犢犖犖巌犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 
(Five Different Aspects) 
犖犖迦犖犖園犖犖迦犢犖迦犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢犖犖迦検犖迦牽犖犢犖犢犢犖犢犖犖∇見犖ム犖園犖迦牽 
犖犖迦犖犖犖巌犖犖迦肩犖犖犢犢犖ム鍵犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢 犢犖犢犖犢犖÷元犖犖ム顕犖∇犖朽犢犖÷犖犖迦検 犖迦牽犖 
犖犖迦犖犖巌犖犖迦牽犢犖犢 犖犖迦犖 犢犖犖犖犖犖犖迦肩犖犖犢 (Economics) 犖犖迦牽犖犖園犖犖迦牽 
(Management) 犖犖犖劇賢犖犖犖犖園犖 (Psychology) 犖犖謹犖犢犖犖犢犖犖犖犢犖犢犢犖犢犖犖犖謹 
犖犖犖犢犖犖犖犖朽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢犖犖萎犢犖犖犖犖巌犖迦牽犖犖 
1. 犖犢犖迦犖犖犖萎硯犖犖園鹸犖犖迦肩犖犖犢 (Historical Aspects) 
2. 犖犢犖迦犢犖犖犖犖犖犖巌 (Economic Aspects) 
3. 犖犢犖迦犖犖迦牽犖犖 犖犖犖伍牽犖犖園県犖 (Maintenance Aspects) 
4. 犖犢犖迦犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖 (Specification and Design 
Aspects) 
5. 犖犢犖迦犖犖朽検犢犖犖朽権犖犢犖犖犢犖犖犖 (Team Programming Aspects) 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 9 LPRU
Introduction 
1. 犖犖園犖犖∇険犖犢犖迦犖犖犖萎硯犖犖園鹸犖犖迦肩犖犖犢 (Historical Aspects) 
- !Fact 犖犖萎犖犢犖犖犢犖迦肩犖迦検犖迦牽犖犖ム犖÷犖犢 犢犖犢犖∇犖園犖÷犖犢犖犖∇犖犢犖迦牽犖萎犖犢犖犖巌犢犖犖劇賢犖犖ム犖 
- !True 犖犖萎犖迦犖犖迦検犖迦牽犖犖犖犖園犖犢 犢犖犢犖∇犖園犖÷犢犖犢犖迦犖犖園犖朽犖犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽犖犖犖 犢犖÷犖犖犖萎犢犖犖 
犖犖迦牽犖犖巌犖迦犖犖迦犖項犖犖ム鹸犖 
- NATO Study group in 1967 coined the term Software 
Engineering A conclusion : Software engineering should use the 
philosophies and paradigms of established engineering 
disciplines to solve Software Crisis 
- Software Crisis : Quality of software ware generally unacceptably 
low and deadlines and cost limits were not being met. 
- Why then cannot bridge-building techniques be used to build 
operating System ????? 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 10 LPRU
Introduction 
1. 犖犖園犖犖∇険犖犢犖迦犖犖犖萎硯犖犖園鹸犖犖迦肩犖犖犢 (Historical Aspects) 
- First major difference. 
犖犖伍犖犖÷犖犖園鹸犖犖犖犖о鹸犖犖о犖犖犖÷犢犖迦犖犖劇犖 犢 犖犖犖園硯犖巌絹犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犖∇犖園検犖朽犖ム犖犖萎犖犖犖朽犢犖犖巌犖犖迦牽 
犖犖迦牽犖ム犖÷犖犖ム硯犖犖犖犖犖犖巌犖犖 犢犖犖巌犖犖迦牽犖犢犖迦犖犖犖 犢犖犢犖 
Civil 
- 犖犖迦牽犖犖犖犢犖犖犖犖萎犖 犖犖謹犖犖謹犖犖о顕犖÷犖ム賢犖犖犖∇険犖犖犖犖÷犖伍県犖∇ 
- 犖犖ム犖犖萎犖犖犖迦犖犖迦牽犖ム犖÷犖犖ム硯犖犖萎犖犖犖∇弦犢犢犖ム鍵犖犖萎犖犖÷厳犖犖犖犖犢犖犖朽権犖犖犖朽犖犖犖犢犖犢犖犢犖犖項原犖犖犖о顕犖 
犢犖犖朽権犖犖迦権犖犖朽犢犖犖巌犖犖迦犢犖犖犖犖犖犢犖迦犖犖萎犖迦 
Software 
- 犖犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽犖ム犖 犖犖萎犖÷犖犖項犖犖迦犖犖犖巌犖迦牽犖犖迦犖犖劇犖犖犖犖迦牽犖ム犖犖伍犢犖 犢 
- 犢犖÷厳犢犖犢犖犖巌犖犖迦牽犖ム犖, 犖犢犢犖÷犖÷元犖犖ム犖園犖迦犢犖 犢 犖犢犖犖犖犖犖犖謹犖犖迦犖犖犖伍犖迦牽犖ム犖÷犖犢 
- 犖犢犖 犖о鹸犖 犖 犖 犖 犖 犖 犖 犖犢犢 犖 犖犢犢 犖 犖 犖 犖犖巌 犢 犖 犖 犖犖園 犖犖園 犢 犖犖劇犖 犢 犖÷犢 犖犢犢 犖犖巌 犖 犖 犖 犖ム犖 犖 犖 犖 
犖犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽犢犖犖÷厳犖犖犖犖犖園硯犖巌絹犖о犖犢犖∇犖迦犖犖迦犖犖巌犢犖犖迦犖犖園犢犖犖犖犖犖園犖÷犢犖犢犢犖犖巌犖犖迦牽犖犖犖 
犖犖犖犖犖萎犖迦犢犖犢 犖犢犖犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖犖園 犖 犖 犖 犖 犢 犖犖朽犖 犖 犖 犖 犖 犖犢犖 犖 犖о鹸犖 犖 犖 犖 犖 犖 
犖犖犖犖犢犢犖о牽犢犢犖犖朽権犖犢犖犢犖迦犖犖園硯犖巌絹犖о犖犖犖÷犢犖迦犖犖劇犖犢 犢犖犢 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 11 LPRU
Introduction 
1. 犖犖園犖犖∇険犖犢犖迦犖犖犖萎硯犖犖園鹸犖犖迦肩犖犖犢 (Historical Aspects) 
- Second major difference. 
犖犖萎見犖о犖迦犖犖迦牽犖犖犖犖園犖犖伍/犖犖 犖犖伍犖犖犖園県犖迦犖犖劇犖犢犖犢犖犖萎犖迦犖犖犖園牽犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽犖÷元犖犖犖萎肩犖巌犖犖巌犖迦 
- 犖犖迦牽犖犖 犖犖伍犖犖犖園県犖迦肩犖萎犖迦 犖÷犖園犖 犢犖犖巌犖犖迦牽犢犖犖朽権犖 犖犖迦肩犖朽犖犖÷, 犖犢犖犖÷犖犖÷牽犖犖∇牽犢犖迦硯犢犖ム犖 犢 
犖犢犖犖 犢 , 犖犖犖犖園犖劇犖犖犖犖 犢犖犢犖犖犢犖 犖犖謹犖犢犖÷犖犖 犢犖犢犢犖犖犖犖犖犢犖迦犢犖犖巌検犢犖犖ム元犢犖∇犢犖犖ム 
- 犢犖犢犖犢犖迦犖о鹸犖犖о犖犖犖犖犖犢犢犖о牽犢犖犢犖犖犖犖犖犖園犖犖ム元犢犖∇犖犖迦牽犖犖犖萎検犖о献犖犖ム牽犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽 
犢犖犖 time sharing 犖犖迦犖犖ム顕犖∇牽犖萎犖犖犖朽犖犖犖迦犖園犖∇犖犖犖÷犖犖犖犢犖迦犖犖犖園犖犢 犖犖謹犖犖犖迦犖÷元 
犖犖ム犖 犢犖犢犢犖犖巌犖犖迦牽犢犖犖ム元犢犖∇犢犖犖ム犢犖犖犖犖犖犢犖迦犢犖犢 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 12 LPRU
Introduction 
2. 犖犖園犖犖∇険犖犢犖迦犢犖犖犖犖犖犖巌 (Economic Aspects) 
- 犖犖о顕犖÷肩犖÷険犖犖犖園犢犖犖萎見犖о犖迦犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犢犖ム鍵犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢犢犖犖÷厳犖犖犖犖犖 
犖犖о顕犖÷肩犖÷険犖犖犖園犢犖犖萎見犖о犖迦犖о鹸犖犖о犖犖犖÷犖犖÷元 犢犖ム鍵犢犖犖÷元 犢犖犖∇犖朽 
> 犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢 犢犖ム鍵犢犖犖÷元 犖犖∇弦犢犢犖犖犖迦権犖о鹸犖犖∇顕犖犖迦肩犖犖犢 犖犖謹犖犖÷元犖犢犖犖園犖む県犖犖朽犖ム鍵犖犖迦牽 
犖犖蹩巌犖犖園鹸 
> 犢犖犖÷元 犖犖蹩巌犖犖園鹸犢犖犖∇犖迦牽犢犖犢犖迦犖ム犖犖犖 犖犖迦 犖犢犖о犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢 犖犖蹩巌犖犖園鹸犢犖犖∇犖迦牽 
犢犖犖朽権犖犢犖犖犢犖犖犖 
犖犖о険犖犖∇犖迦犢犖犢犖 犖犖犖萎犖о犖犖迦牽犖犖犖犖園犢犖迦検犖犖園犖犖犖犖巌犖犖迦犖犢犖迦権犖犖巌 
- 犖犖犖園犖犖÷元-> 犖犖迦硯犖巌犖朽犖迦牽犖犢犖犖朽鍵犖犖迦検犖迦牽犖犢犖犖ム犖犢犖迦犖犖巌犢犖犢犖犖ム顕犖∇犖犢犖犖犢犖迦検犖犖園犖犖犖犖巌 
- 犖о鹸犖犖о犖犢犖犖÷元 
-> 犖犖巌犖巌犢犖ム鍵犖о鹸犢犖犖犖迦鍵犖犢犢犖犖劇犖犖犖萎犖ム賢犖劇犖犖ム犖犢犖犖朽権犖 1 犢犖犖朽権犖о犖朽犖犖萎肩犖犖犖園犢犖迦検犖犖園犖犖犖犖巌犖犖迦 
犖犢犖迦犖犖巌 
-> 犖犖犖萎犖÷鹸犖犖犖ム犖犖犖伍犖犖迦犖犖朽犖犖萎肩犖犢犖迦犖犖о顕犖÷犖犖園犖犖犢犖犖犖迦犢犖ム厳犖犖犢犖ム鍵犖犖迦犢犖犖犖伍 
犖犢犖迦犖犢犖犢犖迦権犖犢犖犖ム鹸犖犖犖犖朽犖犢犖犖∇犖朽犖犖伍 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 13 LPRU
Introduction 
2. 犖犖園犖犖∇険犖犢犖迦犢犖犖犖犖犖犖巌 (Economic Aspects) 
- 犢犖犢犖犢犖犖朽権犖о犖犖園犖о顕犖÷肩犖÷険犖犖犖園犢犖犖萎見犖о犖迦犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢犢犖ム鍵犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢 
> 犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢犖ム犖犖伍犢犖犖犖迦牽犖犖ム鹸犖犖犖犖犖犢犢犖о牽犢犖犖朽犖犖ム顕犖犖犖ム顕犖 犖犖謹犖犖犖迦犖犖朽犖迦犢犖÷ 
犖犖朽犖迦犢犖犖劇犖犢犖犢犢犖犢犖犖ム献犖犖園犢犖犖朽犖犢犖犖犖犖迦牽 
> 犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢犖犖萎献犖犖犖伍犢犖犖∇犖ム厳犖犖犢犖犖犖犖巌犖犖犖謹犖 犢 犢犖ム鍵犖犖迦硯犖巌犖朽犖迦牽犢犖犢犖犖犖萎見犖∇犖 
犖犢犖迦犖犢犖犢犖迦権犖÷顕犖犖犖朽犖犖伍 
Example!! Currently using CTold discovery that CTnew produced in 
nine-tenths (10%) of the time. Common sense seems to dictate 
that CTnew is appropriate techniques to use. 
But!! The economics of software engineering may imply the 
opposites. 
- One reason : Cost of introducing new technology 
- Second reason : Economics of Maintenance 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 14 LPRU
Introduction 
3. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖犖 犖犖犖伍牽犖犖園県犖 (Maintenance Aspects) 
- Life cycle : (waterfall model, 1970s) : seven broad phases. 
1) Requirements : clients s requirement 
2) Specification (analysis) : the clients s requirement are analyzed 
and presented in the form of specification document. 
proposed software development . 
3) Design : design 2 process 
> architectural design - broken down into component (module) 
> detailed design  designed each module . 
(resulting design document) 
4) Implementation : coded and tested. 
5) Integration : combined and tested as a whole. 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 15 LPRU
Introduction 
3. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖犖 犖犖犖伍牽犖犖園県犖 (Maintenance Aspects) 
6) Maintenance : includes all changes to the product 
-> specification document. Maintenance includes : 
- Corrective maintenance (or software repair) 
specification unchanged. 
- Enhancement maintenance (or software update) 
specification and implementation of those changes. 
Two types of enhancement. 
(1) perfective maintenance : changes that client thinks 
will improve the effectiveness of the product. 
(2) adaptive maintenance : change that environment in 
with product operates, new government regulations. 
7) Retirement : product is removed from service. 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 16 LPRU
Introduction 
3. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖犖 犖犖犖伍牽犖犖園県犖 (Maintenance Aspects) 
Approximate relative costs of the phases of the software life cycle. 
(Stephen R. Schach, 1996, P.11) 
integration 
8% 
Module 
testing 
7% 
Maintenance 
67% 
Module 
Coding 
Design 5% 
6% 
Specification 
(Analysis) 
5% 
Requirement 
2% 
Maintenance is so important, 
a major aspect of software 
engineering consists of those 
techniques, tools, and 
practices the lead to a 
reduction in maintenance 
cost. 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 17 LPRU
Introduction 
4. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖 
(Specification and Design Aspects) 
- Software Professional : HUMAN 
Larger Software Projects 
Requirement 
and specification 
Design 
Implementation 
Smaller Software Projects 
Integration 
Acceptance 
Test 
Maintenance 
犖犢犖迦犖犢犖犢犖迦権犢犖犖犖迦牽 
犖犖犖園犖迦牽犖犢犖犖犖巌犖犖ム顕犖 
(Relative cost 
to fix fault) 
500 
100 
50 
20 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 18 LPRU
Introduction 
4. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖 
(Specification and Design Aspects) 
- 犖犢犖迦犖犖巌犖犖о顕犖÷犖巌犖犖ム顕犖犢犖犖犖萎見犖о犖迦 requirement phase 犖犢犖犖萎検犖朽犖ム犖迦犖犢犢犖犖巌 
犖犢犖犖犖巌犖犖ム顕犖犖犖迦検犖÷顕犢犖 specification, design and the code. 
- 犖犖∇犖迦犢犖犖犢犖犖迦検 犢犖÷犖犖о牽犢犖犢犖犖о顕犖÷肩犖迦犖犖園犖犖犖迦鍵犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖 犢犖犖犖迦鍵 
犖犢犖犖犖巌犖犖ム顕犖犖犖迦犢犖犖巌犢犖犢犢犖犖犢犖о犖犖迦犖犢犖犖犢犖ム鍵犖犖ム犖園犖犢 
- 犖犖迦犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖犢犖犢犖犖 犖犖萎肩犖迦検犖迦牽犖犖ム犖犢犖迦犖犢犖犢犖迦権犖犖犖犖犖迦牽犖犖迦牽犖伍犖犖犖園県犖迦犖犢 
10% 犢犖ム鍵犖犖迦検犖迦牽犖犖ム犖犢犖迦犖犢犖犢犖迦権犢犖犖∇牽犖о検犢犖犢犖犖謹 7% 
犖犖謹犖犖犖÷顕犖∇犖謹 犖犖迦犖ム犖犢犖犖犖巌犖犖ム顕犖犢犖犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖犢犖犢 犖犖萎肩犖迦検犖迦牽犖犖ム 
犖犖迦犖о犖犢犖犖犖巌犖犖ム顕犖犢犖犖∇牽犖о検犢犖犢 6% -7% 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 19 LPRU
Introduction 
5. 犖犖園犖犖∇険犖犢犖迦犖犖朽検犢犖犖∇元犖犢犖犖犢犖犖犖 
(Team Programming Aspects) 
- 犖犖園犖犖∇険犖犖朽犖÷元犖犖ム犢犖犖犖犖萎肩犖巌犖犖巌犖迦犢犖ム鍵犖犢犖迦犖犢犖犢犖迦権 (Performance-price factor) 
= 犢犖о献犖迦犖朽犢犖犢犖犖蹩巌犖犖園鹸犖犖迦牽犢犖犖ム犖迦犖犖 犖犢犖犖 x 犖犢犖迦犖犢犖犢犖迦権 CPU 犢犖ム鍵犖犖犢犖о権犖犖о顕犖÷犖 犖犖ム犖 
- 犖犖迦犖犖巌犖迦牽犖犖迦犖謹犖犢犖迦犖ム献犖犖園犢 犖犖萎肩犖迦検犖迦牽犖犖ム犖ム犢犖犢犢犖犖∇幻犖犖犖犖÷犖巌硯犢犖犖犖犢犖犖朽犢犖犖ム元犢犖∇犢犖犖ム犢犖 
犖犖謹犖 犖犢犖迦犢犖迦犖犖迦牽犢犖犢犖о牽犢犖÷元犖犖犖萎肩犖巌犖犖巌犖迦犖犖朽犖謹犖 犖ム犖犖伍犖犢犖犖∇献犖 犖犖∇犖迦犢犖犖犢犖犖迦検 犖犖犖犢犖犖 
犖犖迦検犖迦牽犖犖犖犖園見犖迦軒犖迦牽犢犖犢犖о牽犢犢犖犖犖迦牽犖犖犖園犖ム鹸犖犖犖犖園犢犖犖犖犖犖犢犖犢 犢犖犢犖犖ム鹸犖犖犖犖園犢犖犖園犖犖犖∇犖迦犢犖犖犢 
犖犢犖犖犖犖項犢犖犖朽権犖犢犖犖∇犖伍犖犖ム犖犢犖о献犖迦犖朽犖犖 犖犖犖 犖犖犖園犢犖犖園犖園犖犖∇険犖犖朽犖犢犖犖犖犖 犖犖謹犖犖犖萎犖迦牽犖犖伍犖犢犖迦権犖犖劇賢 
犖犖朽検犢犖犖朽権犖犢犖犖犢犖犖犖 犖о犖迦犖о牽犖犖萎犖犖園犖迦犖犖∇犖犢犖犖朽権犖 犖犖犖劇賢犖犖朽犖犖 犖犖謹犖犖萎犖犖÷顕犖萎肩犖 
Example: 犖犢犖迦犖ム鹸犖犖犖犖園犢犖犢犖犖園犖萎犖犖項肩犢犖犖÷賢犖犖犖迦権犢犖 8 犢犖犖劇賢犖 犢犖犢犖犢犖迦犖犖園犖迦犖犖∇犖犖園犖犖朽権犖 
犢犖犖犢犖犖犖÷犖犖朽権犖 1 犖犖 犖犖萎犢犖犖犢犖犢犢犖о献犖迦犖謹 15 犖犖朽犖謹犖犖萎肩犖÷犖項牽犖犢 
Ans 犖犖о牽犖犢犖犖犖犖犖園犖迦犖犖園犖犢犖犖犖朽検犖犖謹犢犖犖÷顕犖萎肩犖. 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 20 LPRU
Introduction 
5. Team Programming Aspects (犖犢犖) 
- 犖犖∇犖迦犢犖犖犢犖犖迦検 犖犖項犖犖犖巌見犖迦牽犢犖犖犖犖犖迦牽犖犢犖犢犖犖犖犖迦牽犖犖朽検犖犖項犖犖園犖犖迦犖犢犢犖犖÷顕犖萎肩犖÷犖犢犖犢犖ム鍵 
犖犖犖萎犖о犖犖迦牽犖犖犖園犖迦犖犖∇賢犖迦犢犖犢犢犖犖犖犖巌犢犖犖犖迦牽犖犖 犖犖犖犖犖о顕犖÷肩犖÷険犖犖犖園犢犖犖萎見犖о犖迦犖犖/犖犖迦/ 
犢犖о献犖迦見犖犖劇賢犖犢犖迦犖犢犖犢犖迦権 
- 犖犖о検犖犖謹犖犖о険犖犖犢犖迦犖朽検犢犖犖朽権犖犢犖犖犢犖犖犖÷犢犖犖犖犖迦検犖迦牽犖犖犖犖園犖園犖犖迦犢犖迦 interface and 
communication. 
- Example: 
> Somchai and Somsri code modules P and Q respectively, where 
module P calls module Q. 
> When Somchai codes P he writes a call to Q with five arguments 
in the argument list. Somsri codes Q with five arguments, but in a 
difference order from those of Somchai. 
Ans Fault or error result. 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 21 LPRU
Introduction 
5. Team Programming Aspects (犖犢犖) 
- 犖犖園犖犖迦犖朽犖犖 : 
- Design problem 
- Often changed after coding commences 
- Notification of a change is sometimes not distributed to all 
members of the development team. 
- Poor communication 
- Tip of the iceberg 
- However, considerable proportion of todays software engineering 
must also include techniques for ensuring that teams are properly 
organized and managed. 
Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 22 LPRU

More Related Content

..

  • 1. Software Evolution 犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 (Software Engineering) : 犢犖犢犖犖犖迦権犖о鹸犖犖迦犖朽犢犖犢犖犖犖迦牽犖犖犖犢犖犖 犢犖ム鍵犖犖園犖犖迦犖犖犖犢犢犖о牽犢犢犖犢犖÷元犖犖伍犖犖迦犖犖項 犢犖犖∇見犖迦硯犖巌犖朽犖迦牽犢犖犖犖迦牽犢犖犢犖犖園犖犖迦犖犖劇犖犖犖迦犖犢犖犖犖犖犢犢犖о牽犢犖犖朽犖犖園犖犖迦犖謹犖犖÷元 犖犖伍犖ム犖園県犖犖萎犖朽犖犖朽犖犖犖犖迦検犖犖о顕犖÷犢犖犖犖犖迦牽犖犖犖犖ム弦犖犖犢犖 犖犖項犢犖犢犖犖萎犖 犢犖ム鍵犖犖項犖犖犖園犖 犖犖萎犖 犢犖犖犖迦鍵犖犖伍犖о犖園犖朽 犖犖犖犖犢犢犖о牽犢犖犖犖÷犖巌硯犢犖犖犖犢犢犖犢犖犢犖犖犢犖犢犖ム権犖朽犖朽犖÷元犖犖犖犖迦犖犖 犖犖犖 犖÷顕犖犖犖朽犖犖伍犖犖萎犖犖園犖ム犢犖ム鍵犖犖迦犢犖÷犢犖犢犢犖犖犖迦牽犖犖 犖犖伍牽犖犖巌 犖犖犖犖犖迦犖犖朽 犖犖犖犖犢犢犖о牽犢 犖∇犖園犖犢犖犢犖犖犖犖ム犖園犖犖園犖犢犢犖犖巌犖犖迦牽犖犖犖犖園犖犖÷見犖犢犖迦犖犖犖犖犖÷犖巌硯犢犖犖犖犢犖犖迦犖犖萎犖犖犖朽 犖÷元犖犖犖迦犢犖犖犢 (Mainframe) 犖÷顕犖犖項犖∇幻犖犖犖犖犖犖萎犖犖犖朽犖÷元犖犖犖迦犢犖ム犖 (Micro/Personal Computer) 犖犖犖犖犖萎犢犖犖園犖犖巌犖犖巌犢犖犖犖犢犢犖犢犖犖犖謹犖犢犖 犖犖園犖犖伍犖犖 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 1 LPRU
  • 2. Software Evolution 犖犖о顕犖÷犖犖犖犢犖迦犖犖犖犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢犢犖ム鍵犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 (Software Engineering) 犖 犖∇弦犢犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖о鹸犖犖朽 犖 犖 犖 犖 犖 犖о鹸犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖犢 犖犖謹犖 犖犖犖萎権犖伍犖犢犢犖犖о犖巌/犖犖む県犖犖朽犖迦犖о鹸犖犖∇顕犖犖迦肩犖犖犢 犖犖犖巌犖犖迦肩犖犖犢犢犖ム鍵 犢犖犖犢犖犢犖ム権犖朽犖犖萎犖園犖犢犖犖犖迦牽犖犖犢犖迦犖犖ム鹸犖犖犖犖園犢犖犖朽犢犖犢犖犖犖犖萎犖∇犖犢 犢犖ム鍵犖犖ム賢犖犖犖∇険犖犢犖犖犖迦犖迦牽犖犖 * 犖犖ム犖迦犖犖項犖犖巌犖迦牽犖犖 犖犖犖劇賢 犖犖犖園肩犖巌犢犖犖∇犖ム犖÷幻犖犖項犢犖犢 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 2 LPRU
  • 3. 犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 Software Engineering (SE) Software Evolution SEs main goal is to develop systematic models and reliable techniques for producing high-quality software on time and within budget and SE people are interested in designing and developing information systems that are appropriate to the client organization Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 3 LPRU
  • 4. Software Evolution 犖ム犖園県犖犖萎犖犖犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犢犖犖朽犖∇硯犖犢犖犖犖犖犖園犖迦牽犖犖犢犖迦犢犖犖犢犖犖犖÷犖犖迦犢犖犖犢 犖犖迦検犖迦牽犖犖犖犖園犖迦牽犢犖犖朽犖∇硯犖犖犖園犖о顕犖÷犖迦犖犢犖犖犢犖犢 犢犖犢犖犖犖迦牽犖犖 犖犖迦犖犢犖о検犖犖犖園犖犖犖犖伍犖ム顕犖犖 犖犖迦検犖迦牽犖犢犖犖ム元犢犖∇犢犖犖ム犢犖犢犖犢犖迦権犢犖÷厳犢犖犖犖迦犖犢犖 犢犖犢犖犖犖迦牽犖犖犖園犖迦犖犢犖÷元犖犖犖萎肩犖巌犖犖巌犖迦 犖犖犖犖犖犖о顕犖÷犢犖犖犖犖迦牽犖犖犖犖犖項犢犖犢 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 4 LPRU
  • 5. Software Evolution 犖犖犖犢犖犖犖萎犖犖犖犖犖犖犖迦牽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犖 犖 犖 犖о鹸犖 犖 犖 犖 犖 犖 犖 犖 犖 犖犢犢 犖 犖犢犢 犖犢 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖ム鹸犖 (production)犖犖朽 犖 犖 犖 犖 犖 犖 犖犢犖 犖 犖犖巌 犖 犖 犖 犖 犖犢犖 犖 犖犢犖 犖 犢 犢 犖犖劇犖 犖 犖犢犖 犖 犖 犖ム鹸犖 犖犖園犖犢犖 犖 犖 犖犢犢 犖 犖犢 (software products) 犖犖迦牽犖犖 犖犖巌犖犖犖犖÷犖犢犖犢犖ム鍵犖犢犖о犖犖迦絹犖∇険犢犖犖犖犖巌犢犖ム鍵 犢犖犖犖劇犖犖犖÷厳犖犖犢犖о権犖犢犖迦犢 (support tools) 犖犖朽犖犖園犖о鹸犖犖迦犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢犢犖ム鍵 犖犖犖園硯犖巌犖∇険犢犖犢犢犖犖犖犢犖о Software production processes Software products Support tools /Environments Market places / users Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 5 LPRU
  • 6. Software Evolution 犖犖犖萎犖о犖犖迦牽 犖犖÷顕犖∇犖謹 犖犢犖犖園犖犖犖犢犖迦 犢 犖犖朽犢犖犖朽犖∇硯犖犢犖犖犖犖犖 犢犖ム鍵犖犖迦犖犖犖蹩巌犖犖園鹸 犢犖犢犖犖劇犖犢犖犖犖犖ム硯犖伍犖園犖犖伍牽犖萎肩犖犖犢犖犖朽犖犖 犖犖犖犢犖о 犖犖犖萎犖о犖犖迦牽犖÷元犖犖о顕犖÷見犖÷顕犖∇牽犖о検犖犖謹 犖犖犖園犖∇顕犖犖 犢犖犢犖 犖犖 , 犖о鹸犖犖朽犖迦牽 犢犖ム鍵 犢犖犖犖劇犖犖犖÷厳犖犖犖朽犖犖 犢犖犢犖犖犖 犖犖犖犖園犖迦犖犢犖犢犖犖蹩巌犖犖園鹸犖犖迦検犖犢犖犖園犖犖犖о鹸犖犖朽犖迦牽犖犖朽犖犖 犖犖犖犢犖о 犢犖犖犖犖萎犖о犖犖迦牽犖犢犖о権 犖犖犖萎犖о犖犖迦牽犖犖朽犖犖朽権犢犖犖÷肩犖迦検犖迦牽犖犖犖蹩巌犖犖園鹸犖犖迦 犢犖ム鍵犢犖犢犖犖ム献犖犖園犢犢犖犖犢犖犖朽権犖о犖犖園犖犖÷賢 犖犖犖萎犖о犖犖迦牽犖犖迦犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犖犢犖о権犢犖犢犢犖犢犖犖犖巌犖犖犖犖÷犢犖迦 犢犖犖朽犖犖 犢犖犢犖 犖犖 犖犖犖犖園犖迦牽犖犖犖園犖 SW 犖犖朽犖犖 犖犖犖犢犖犢 犖犢犖犖園犖犢犖犢犖犖犖犖犖犢犖ム鍵犖犖犖萎肩犖犖犖ム肩犖 犢犖犢犖 犖犖 犖犖犖萎犖о犖犖迦牽犖犖犖園犖ム犖迦硯 犢犖÷犢犖犢 SDLC (System Development Life Cycle) 犖犖朽犖犖犖園犖犖園犖迦牽犢犖犖項犖園犖犢犖迦犢犖犖 犢犖犖犖迦鍵 SDLC 犖÷元犢犖犢犢犖犖朽権犖犢犖犖 (phase) 犖犖 犖犖犖園犖犢犖迦犖園犖 犢犖ム鍵 SDLC 犖犢犢犖犢犖犢犖犢犢犖犖朽権犖犖犖巌犖犖犖犖÷犖朽犢犖犖朽犖∇硯犖犢犖犖犖犖犖園犖迦牽 犖犖園犖犖迦犖犢犖迦犖園犖 犢犖÷犢犖犢犖犖ム犖迦硯犖犖謹犖犖巌犖犖犖犖÷賢犖劇犖 犢 犢犖犢犖 犖犖迦牽犖о顕犖犢犖犖 , 犖犖迦牽 犖犖犖萎検犖迦犖犖迦牽 , 犖犖迦牽犖犖犖犖犖迦犖犖ム犖迦 犢犖犢犖犖犢犖 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 6 LPRU
  • 7. Software Evolution 犖ム犖園県犖犖萎犖犖犖犖犖萎犖о犖犖迦牽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 o Understandability : 犖÷元犖犖迦牽犖犖巌権犖迦検犖犖犖犢犖犖犖犖犖犖犖犖萎犖о犖犖迦牽犖犖朽犖犖犖 犢犖犢犖犢犖ム鍵犖犢犖迦権犖犢犖犖犖迦牽犢犖犢犖迦犖 o Visibility : 犖犖 犢犖犢犖犖巌犖犖犖犖÷犖犖萎犖о犖犖迦牽犖犖犖園犖犖犖犖朽犖犖伍犢犖犖劇犖犖犖迦検犖迦牽犖 犖÷賢犖犢犖犢犖犖犖迦犖犖迦権犖犖犖犢犖犢犖犖犖園犖犖 o Supportability : 犢犖犖犖劇犖犖犖÷厳犖犖犢犖о権犖犖迦牽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 (CASE) 犖犖迦検犖迦牽犖犖犢犖о権犖犖犖犖園肩犖犖伍犖犖巌犖犖犖犖÷犖犖萎犖о犖犖迦牽犢犖犖犖犖犢犖犖犢犖 o Acceptability : 犖犖犖萎犖о犖犖迦牽犖犖朽犖犖 犖犖犖犖犖迦検犖迦牽犖犖∇賢犖÷牽犖犖園犖ム鍵犢犖犢犢犖犖 犖о鹸犖犖о犖犖犖犖犖犢犢犖о牽犢犢犖犖犖迦牽犖犖ム鹸犖犖犖ム鹸犖犖犖犖園犢犖犖犖犖犢犢犖о牽犢 o Reliability : 犖犖犖萎犖о犖犖迦牽犖犖項犖犖犖犢犖犖犢犖犢犖犖о犖迦犖犖謹犖犖犖о顕犖÷犖巌犖犖ム顕犖 犖犖犖犖犖犖萎犖о犖犖迦牽犖犖項犖犖ム元犖犢犖ム元犢犖∇犖犢犖犖犖犖朽犖犖萎肩犢犖犖犖ム犢犖犖犖о顕犖÷犖巌犖犖ム顕犖犖 犖犖 犖犖ム鹸犖犖犖犖園犢犖犖犖犖犢犢犖о牽犢 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 7 LPRU
  • 8. Software Evolution 犖ム犖園県犖犖萎犖犖犖犖犖萎犖о犖犖迦牽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 o Robustness : 犖犖犖萎犖о犖犖迦牽犖犖迦検犖迦牽犖犖犖迦犖迦犖犢犖犢犖犢犢犖÷犖犖о犖迦検犖朽犖園犖犖迦犖朽 犢犖÷犖犖迦犖犖迦牽犖犢犢犖犖巌犖犖謹犖 o Maintainability : 犖犖犖萎犖о犖犖迦牽犖犖迦検犖迦牽犖犖о鹸犖о犖園犖迦犖迦牽犢犖犖劇犖犖犖犖犖犖犖犖 犖犖迦牽犢犖犖ム元犢犖∇犢犖犖ム犖犖о顕犖÷犢犖犖犖犖迦牽犖犖犖犖犖犖犢犖犖 o Rapidity : 犖犖犖萎犖о犖犖迦牽犖犖迦検犖迦牽犖犖犖 犢犖犢犖犢犖犖÷賢犖犖犖ム鹸犖犖犖犖園犢犢犖犢犢犖犢犖о犖園 犖 犖 犖 犖犖朽 犖犖項 犢 犖 犖 犖犖 犖 犖ム険犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖犢 犢 犖 犖犢 (Software specifications) 犖犖項犖犖迦見犖犖 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 8 LPRU
  • 9. Introduction 5 犖犖園犖犖∇険犖犖朽犖犢犖犖犖犖 犖犖謹犢犖犢犖犖巌犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 (Five Different Aspects) 犖犖迦犖犖園犖犖迦犢犖迦犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢犖犖迦検犖迦牽犖犢犖犢犢犖犢犖犖∇見犖ム犖園犖迦牽 犖犖迦犖犖犖巌犖犖迦肩犖犖犢犢犖ム鍵犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢 犢犖犢犖犢犖÷元犖犖ム顕犖∇犖朽犢犖÷犖犖迦検 犖迦牽犖 犖犖迦犖犖巌犖犖迦牽犢犖犢 犖犖迦犖 犢犖犖犖犖犖犖迦肩犖犖犢 (Economics) 犖犖迦牽犖犖園犖犖迦牽 (Management) 犖犖犖劇賢犖犖犖犖園犖 (Psychology) 犖犖謹犖犢犖犖犢犖犖犖犢犖犢犢犖犢犖犖犖謹 犖犖犖犢犖犖犖犖朽犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢犖犖萎犢犖犖犖犖巌犖迦牽犖犖 1. 犖犢犖迦犖犖犖萎硯犖犖園鹸犖犖迦肩犖犖犢 (Historical Aspects) 2. 犖犢犖迦犢犖犖犖犖犖犖巌 (Economic Aspects) 3. 犖犢犖迦犖犖迦牽犖犖 犖犖犖伍牽犖犖園県犖 (Maintenance Aspects) 4. 犖犢犖迦犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖 (Specification and Design Aspects) 5. 犖犢犖迦犖犖朽検犢犖犖朽権犖犢犖犖犢犖犖犖 (Team Programming Aspects) Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 9 LPRU
  • 10. Introduction 1. 犖犖園犖犖∇険犖犢犖迦犖犖犖萎硯犖犖園鹸犖犖迦肩犖犖犢 (Historical Aspects) - !Fact 犖犖萎犖犢犖犖犢犖迦肩犖迦検犖迦牽犖犖ム犖÷犖犢 犢犖犢犖∇犖園犖÷犖犢犖犖∇犖犢犖迦牽犖萎犖犢犖犖巌犢犖犖劇賢犖犖ム犖 - !True 犖犖萎犖迦犖犖迦検犖迦牽犖犖犖犖園犖犢 犢犖犢犖∇犖園犖÷犢犖犢犖迦犖犖園犖朽犖犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽犖犖犖 犢犖÷犖犖犖萎犢犖犖 犖犖迦牽犖犖巌犖迦犖犖迦犖項犖犖ム鹸犖 - NATO Study group in 1967 coined the term Software Engineering A conclusion : Software engineering should use the philosophies and paradigms of established engineering disciplines to solve Software Crisis - Software Crisis : Quality of software ware generally unacceptably low and deadlines and cost limits were not being met. - Why then cannot bridge-building techniques be used to build operating System ????? Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 10 LPRU
  • 11. Introduction 1. 犖犖園犖犖∇険犖犢犖迦犖犖犖萎硯犖犖園鹸犖犖迦肩犖犖犢 (Historical Aspects) - First major difference. 犖犖伍犖犖÷犖犖園鹸犖犖犖犖о鹸犖犖о犖犖犖÷犢犖迦犖犖劇犖 犢 犖犖犖園硯犖巌絹犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犖∇犖園検犖朽犖ム犖犖萎犖犖犖朽犢犖犖巌犖犖迦牽 犖犖迦牽犖ム犖÷犖犖ム硯犖犖犖犖犖犖巌犖犖 犢犖犖巌犖犖迦牽犖犢犖迦犖犖犖 犢犖犢犖 Civil - 犖犖迦牽犖犖犖犢犖犖犖犖萎犖 犖犖謹犖犖謹犖犖о顕犖÷犖ム賢犖犖犖∇険犖犖犖犖÷犖伍県犖∇ - 犖犖ム犖犖萎犖犖犖迦犖犖迦牽犖ム犖÷犖犖ム硯犖犖萎犖犖犖∇弦犢犢犖ム鍵犖犖萎犖犖÷厳犖犖犖犖犢犖犖朽権犖犖犖朽犖犖犖犢犖犢犖犢犖犖項原犖犖犖о顕犖 犢犖犖朽権犖犖迦権犖犖朽犢犖犖巌犖犖迦犢犖犖犖犖犖犢犖迦犖犖萎犖迦 Software - 犖犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽犖ム犖 犖犖萎犖÷犖犖項犖犖迦犖犖犖巌犖迦牽犖犖迦犖犖劇犖犖犖犖迦牽犖ム犖犖伍犢犖 犢 - 犢犖÷厳犢犖犢犖犖巌犖犖迦牽犖ム犖, 犖犢犢犖÷犖÷元犖犖ム犖園犖迦犢犖 犢 犖犢犖犖犖犖犖犖謹犖犖迦犖犖犖伍犖迦牽犖ム犖÷犖犢 - 犖犢犖 犖о鹸犖 犖 犖 犖 犖 犖 犖 犖犢犢 犖 犖犢犢 犖 犖 犖 犖犖巌 犢 犖 犖 犖犖園 犖犖園 犢 犖犖劇犖 犢 犖÷犢 犖犢犢 犖犖巌 犖 犖 犖 犖ム犖 犖 犖 犖 犖犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽犢犖犖÷厳犖犖犖犖犖園硯犖巌絹犖о犖犢犖∇犖迦犖犖迦犖犖巌犢犖犖迦犖犖園犢犖犖犖犖犖園犖÷犢犖犢犢犖犖巌犖犖迦牽犖犖犖 犖犖犖犖犖萎犖迦犢犖犢 犖犢犖犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖 犖犖園 犖 犖 犖 犖 犢 犖犖朽犖 犖 犖 犖 犖 犖犢犖 犖 犖о鹸犖 犖 犖 犖 犖 犖 犖犖犖犖犢犢犖о牽犢犢犖犖朽権犖犢犖犢犖迦犖犖園硯犖巌絹犖о犖犖犖÷犢犖迦犖犖劇犖犢 犢犖犢 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 11 LPRU
  • 12. Introduction 1. 犖犖園犖犖∇険犖犢犖迦犖犖犖萎硯犖犖園鹸犖犖迦肩犖犖犢 (Historical Aspects) - Second major difference. 犖犖萎見犖о犖迦犖犖迦牽犖犖犖犖園犖犖伍/犖犖 犖犖伍犖犖犖園県犖迦犖犖劇犖犢犖犢犖犖萎犖迦犖犖犖園牽犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽犖÷元犖犖犖萎肩犖巌犖犖巌犖迦 - 犖犖迦牽犖犖 犖犖伍犖犖犖園県犖迦肩犖萎犖迦 犖÷犖園犖 犢犖犖巌犖犖迦牽犢犖犖朽権犖 犖犖迦肩犖朽犖犖÷, 犖犢犖犖÷犖犖÷牽犖犖∇牽犢犖迦硯犢犖ム犖 犢 犖犢犖犖 犢 , 犖犖犖犖園犖劇犖犖犖犖 犢犖犢犖犖犢犖 犖犖謹犖犢犖÷犖犖 犢犖犢犢犖犖犖犖犖犢犖迦犢犖犖巌検犢犖犖ム元犢犖∇犢犖犖ム - 犢犖犢犖犢犖迦犖о鹸犖犖о犖犖犖犖犖犢犢犖о牽犢犖犢犖犖犖犖犖犖園犖犖ム元犢犖∇犖犖迦牽犖犖犖萎検犖о献犖犖ム牽犖萎犖犖犖蹩巌犖犖園鹸犖犖迦牽 犢犖犖 time sharing 犖犖迦犖犖ム顕犖∇牽犖萎犖犖犖朽犖犖犖迦犖園犖∇犖犖犖÷犖犖犖犢犖迦犖犖犖園犖犢 犖犖謹犖犖犖迦犖÷元 犖犖ム犖 犢犖犢犢犖犖巌犖犖迦牽犢犖犖ム元犢犖∇犢犖犖ム犢犖犖犖犖犖犢犖迦犢犖犢 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 12 LPRU
  • 13. Introduction 2. 犖犖園犖犖∇険犖犢犖迦犢犖犖犖犖犖犖巌 (Economic Aspects) - 犖犖о顕犖÷肩犖÷険犖犖犖園犢犖犖萎見犖о犖迦犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢 犢犖ム鍵犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢犢犖犖÷厳犖犖犖犖犖 犖犖о顕犖÷肩犖÷険犖犖犖園犢犖犖萎見犖о犖迦犖о鹸犖犖о犖犖犖÷犖犖÷元 犢犖ム鍵犢犖犖÷元 犢犖犖∇犖朽 > 犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢 犢犖ム鍵犢犖犖÷元 犖犖∇弦犢犢犖犖犖迦権犖о鹸犖犖∇顕犖犖迦肩犖犖犢 犖犖謹犖犖÷元犖犢犖犖園犖む県犖犖朽犖ム鍵犖犖迦牽 犖犖蹩巌犖犖園鹸 > 犢犖犖÷元 犖犖蹩巌犖犖園鹸犢犖犖∇犖迦牽犢犖犢犖迦犖ム犖犖犖 犖犖迦 犖犢犖о犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢 犖犖蹩巌犖犖園鹸犢犖犖∇犖迦牽 犢犖犖朽権犖犢犖犖犢犖犖犖 犖犖о険犖犖∇犖迦犢犖犢犖 犖犖犖萎犖о犖犖迦牽犖犖犖犖園犢犖迦検犖犖園犖犖犖犖巌犖犖迦犖犢犖迦権犖犖巌 - 犖犖犖園犖犖÷元-> 犖犖迦硯犖巌犖朽犖迦牽犖犢犖犖朽鍵犖犖迦検犖迦牽犖犢犖犖ム犖犢犖迦犖犖巌犢犖犢犖犖ム顕犖∇犖犢犖犖犢犖迦検犖犖園犖犖犖犖巌 - 犖о鹸犖犖о犖犢犖犖÷元 -> 犖犖巌犖巌犢犖ム鍵犖о鹸犢犖犖犖迦鍵犖犢犢犖犖劇犖犖犖萎犖ム賢犖劇犖犖ム犖犢犖犖朽権犖 1 犢犖犖朽権犖о犖朽犖犖萎肩犖犖犖園犢犖迦検犖犖園犖犖犖犖巌犖犖迦 犖犢犖迦犖犖巌 -> 犖犖犖萎犖÷鹸犖犖犖ム犖犖犖伍犖犖迦犖犖朽犖犖萎肩犖犢犖迦犖犖о顕犖÷犖犖園犖犖犢犖犖犖迦犢犖ム厳犖犖犢犖ム鍵犖犖迦犢犖犖犖伍 犖犢犖迦犖犢犖犢犖迦権犖犢犖犖ム鹸犖犖犖犖朽犖犢犖犖∇犖朽犖犖伍 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 13 LPRU
  • 14. Introduction 2. 犖犖園犖犖∇険犖犢犖迦犢犖犖犖犖犖犖巌 (Economic Aspects) - 犢犖犢犖犢犖犖朽権犖о犖犖園犖о顕犖÷肩犖÷険犖犖犖園犢犖犖萎見犖о犖迦犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢犢犖ム鍵犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢 > 犖о鹸犖犖∇顕犖犖迦牽犖犖犖÷犖巌硯犢犖犖犖犢犖ム犖犖伍犢犖犖犖迦牽犖犖ム鹸犖犖犖犖犖犢犢犖о牽犢犖犖朽犖犖ム顕犖犖犖ム顕犖 犖犖謹犖犖犖迦犖犖朽犖迦犢犖÷ 犖犖朽犖迦犢犖犖劇犖犢犖犢犢犖犢犖犖ム献犖犖園犢犖犖朽犖犢犖犖犖犖迦牽 > 犖о鹸犖犖о犖犖犖÷犖犖犖犢犢犖о牽犢犖犖萎献犖犖犖伍犢犖犖∇犖ム厳犖犖犢犖犖犖犖巌犖犖犖謹犖 犢 犢犖ム鍵犖犖迦硯犖巌犖朽犖迦牽犢犖犢犖犖犖萎見犖∇犖 犖犢犖迦犖犢犖犢犖迦権犖÷顕犖犖犖朽犖犖伍 Example!! Currently using CTold discovery that CTnew produced in nine-tenths (10%) of the time. Common sense seems to dictate that CTnew is appropriate techniques to use. But!! The economics of software engineering may imply the opposites. - One reason : Cost of introducing new technology - Second reason : Economics of Maintenance Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 14 LPRU
  • 15. Introduction 3. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖犖 犖犖犖伍牽犖犖園県犖 (Maintenance Aspects) - Life cycle : (waterfall model, 1970s) : seven broad phases. 1) Requirements : clients s requirement 2) Specification (analysis) : the clients s requirement are analyzed and presented in the form of specification document. proposed software development . 3) Design : design 2 process > architectural design - broken down into component (module) > detailed design designed each module . (resulting design document) 4) Implementation : coded and tested. 5) Integration : combined and tested as a whole. Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 15 LPRU
  • 16. Introduction 3. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖犖 犖犖犖伍牽犖犖園県犖 (Maintenance Aspects) 6) Maintenance : includes all changes to the product -> specification document. Maintenance includes : - Corrective maintenance (or software repair) specification unchanged. - Enhancement maintenance (or software update) specification and implementation of those changes. Two types of enhancement. (1) perfective maintenance : changes that client thinks will improve the effectiveness of the product. (2) adaptive maintenance : change that environment in with product operates, new government regulations. 7) Retirement : product is removed from service. Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 16 LPRU
  • 17. Introduction 3. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖犖 犖犖犖伍牽犖犖園県犖 (Maintenance Aspects) Approximate relative costs of the phases of the software life cycle. (Stephen R. Schach, 1996, P.11) integration 8% Module testing 7% Maintenance 67% Module Coding Design 5% 6% Specification (Analysis) 5% Requirement 2% Maintenance is so important, a major aspect of software engineering consists of those techniques, tools, and practices the lead to a reduction in maintenance cost. Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 17 LPRU
  • 18. Introduction 4. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖 (Specification and Design Aspects) - Software Professional : HUMAN Larger Software Projects Requirement and specification Design Implementation Smaller Software Projects Integration Acceptance Test Maintenance 犖犢犖迦犖犢犖犢犖迦権犢犖犖犖迦牽 犖犖犖園犖迦牽犖犢犖犖犖巌犖犖ム顕犖 (Relative cost to fix fault) 500 100 50 20 Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 18 LPRU
  • 19. Introduction 4. 犖犖園犖犖∇険犖犢犖迦犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖 (Specification and Design Aspects) - 犖犢犖迦犖犖巌犖犖о顕犖÷犖巌犖犖ム顕犖犢犖犖犖萎見犖о犖迦 requirement phase 犖犢犖犖萎検犖朽犖ム犖迦犖犢犢犖犖巌 犖犢犖犖犖巌犖犖ム顕犖犖犖迦検犖÷顕犢犖 specification, design and the code. - 犖犖∇犖迦犢犖犖犢犖犖迦検 犢犖÷犖犖о牽犢犖犢犖犖о顕犖÷肩犖迦犖犖園犖犖犖迦鍵犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖 犢犖犖犖迦鍵 犖犢犖犖犖巌犖犖ム顕犖犖犖迦犢犖犖巌犢犖犢犢犖犖犢犖о犖犖迦犖犢犖犖犢犖ム鍵犖犖ム犖園犖犢 - 犖犖迦犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖犢犖犢犖犖 犖犖萎肩犖迦検犖迦牽犖犖ム犖犢犖迦犖犢犖犢犖迦権犖犖犖犖犖迦牽犖犖迦牽犖伍犖犖犖園県犖迦犖犢 10% 犢犖ム鍵犖犖迦検犖迦牽犖犖ム犖犢犖迦犖犢犖犢犖迦権犢犖犖∇牽犖о検犢犖犢犖犖謹 7% 犖犖謹犖犖犖÷顕犖∇犖謹 犖犖迦犖ム犖犢犖犖犖巌犖犖ム顕犖犢犖犖犖迦牽犖о鹸犢犖犖犖迦鍵犖犢犢犖ム鍵犖犖犖犢犖犖犢犖犢 犖犖萎肩犖迦検犖迦牽犖犖ム 犖犖迦犖о犖犢犖犖犖巌犖犖ム顕犖犢犖犖∇牽犖о検犢犖犢 6% -7% Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 19 LPRU
  • 20. Introduction 5. 犖犖園犖犖∇険犖犢犖迦犖犖朽検犢犖犖∇元犖犢犖犖犢犖犖犖 (Team Programming Aspects) - 犖犖園犖犖∇険犖犖朽犖÷元犖犖ム犢犖犖犖犖萎肩犖巌犖犖巌犖迦犢犖ム鍵犖犢犖迦犖犢犖犢犖迦権 (Performance-price factor) = 犢犖о献犖迦犖朽犢犖犢犖犖蹩巌犖犖園鹸犖犖迦牽犢犖犖ム犖迦犖犖 犖犢犖犖 x 犖犢犖迦犖犢犖犢犖迦権 CPU 犢犖ム鍵犖犖犢犖о権犖犖о顕犖÷犖 犖犖ム犖 - 犖犖迦犖犖巌犖迦牽犖犖迦犖謹犖犢犖迦犖ム献犖犖園犢 犖犖萎肩犖迦検犖迦牽犖犖ム犖ム犢犖犢犢犖犖∇幻犖犖犖犖÷犖巌硯犢犖犖犖犢犖犖朽犢犖犖ム元犢犖∇犢犖犖ム犢犖 犖犖謹犖 犖犢犖迦犢犖迦犖犖迦牽犢犖犢犖о牽犢犖÷元犖犖犖萎肩犖巌犖犖巌犖迦犖犖朽犖謹犖 犖ム犖犖伍犖犢犖犖∇献犖 犖犖∇犖迦犢犖犖犢犖犖迦検 犖犖犖犢犖犖 犖犖迦検犖迦牽犖犖犖犖園見犖迦軒犖迦牽犢犖犢犖о牽犢犢犖犖犖迦牽犖犖犖園犖ム鹸犖犖犖犖園犢犖犖犖犖犖犢犖犢 犢犖犢犖犖ム鹸犖犖犖犖園犢犖犖園犖犖犖∇犖迦犢犖犖犢 犖犢犖犖犖犖項犢犖犖朽権犖犢犖犖∇犖伍犖犖ム犖犢犖о献犖迦犖朽犖犖 犖犖犖 犖犖犖園犢犖犖園犖園犖犖∇険犖犖朽犖犢犖犖犖犖 犖犖謹犖犖犖萎犖迦牽犖犖伍犖犢犖迦権犖犖劇賢 犖犖朽検犢犖犖朽権犖犢犖犖犢犖犖犖 犖о犖迦犖о牽犖犖萎犖犖園犖迦犖犖∇犖犢犖犖朽権犖 犖犖犖劇賢犖犖朽犖犖 犖犖謹犖犖萎犖犖÷顕犖萎肩犖 Example: 犖犢犖迦犖ム鹸犖犖犖犖園犢犖犢犖犖園犖萎犖犖項肩犢犖犖÷賢犖犖犖迦権犢犖 8 犢犖犖劇賢犖 犢犖犢犖犢犖迦犖犖園犖迦犖犖∇犖犖園犖犖朽権犖 犢犖犖犢犖犖犖÷犖犖朽権犖 1 犖犖 犖犖萎犢犖犖犢犖犢犢犖о献犖迦犖謹 15 犖犖朽犖謹犖犖萎肩犖÷犖項牽犖犢 Ans 犖犖о牽犖犢犖犖犖犖犖園犖迦犖犖園犖犢犖犖犖朽検犖犖謹犢犖犖÷顕犖萎肩犖. Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 20 LPRU
  • 21. Introduction 5. Team Programming Aspects (犖犢犖) - 犖犖∇犖迦犢犖犖犢犖犖迦検 犖犖項犖犖犖巌見犖迦牽犢犖犖犖犖犖迦牽犖犢犖犢犖犖犖犖迦牽犖犖朽検犖犖項犖犖園犖犖迦犖犢犢犖犖÷顕犖萎肩犖÷犖犢犖犢犖ム鍵 犖犖犖萎犖о犖犖迦牽犖犖犖園犖迦犖犖∇賢犖迦犢犖犢犢犖犖犖犖巌犢犖犖犖迦牽犖犖 犖犖犖犖犖о顕犖÷肩犖÷険犖犖犖園犢犖犖萎見犖о犖迦犖犖/犖犖迦/ 犢犖о献犖迦見犖犖劇賢犖犢犖迦犖犢犖犢犖迦権 - 犖犖о検犖犖謹犖犖о険犖犖犢犖迦犖朽検犢犖犖朽権犖犢犖犖犢犖犖犖÷犢犖犖犖犖迦検犖迦牽犖犖犖犖園犖園犖犖迦犢犖迦 interface and communication. - Example: > Somchai and Somsri code modules P and Q respectively, where module P calls module Q. > When Somchai codes P he writes a call to Q with five arguments in the argument list. Somsri codes Q with five arguments, but in a difference order from those of Somchai. Ans Fault or error result. Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 21 LPRU
  • 22. Introduction 5. Team Programming Aspects (犖犢犖) - 犖犖園犖犖迦犖朽犖犖 : - Design problem - Often changed after coding commences - Notification of a change is sometimes not distributed to all members of the development team. - Poor communication - Tip of the iceberg - However, considerable proportion of todays software engineering must also include techniques for ensuring that teams are properly organized and managed. Asst.Prof.Paijit Suksomboon SoftwareEvolution 1 / 22 LPRU