《ch14.Current-Trends-in-System-Development》由会员分享,可在线阅读,更多相关《ch14.Current-Trends-in-System-Development(39页珍藏版)》请在金锄头文库上搜索。
1、Current Trends in System Development,School of Management Chenggong Lyu,14:50,1.1 The Unified Process,Unified Process (UP) defines a complete methodology that uses UML for system models and describes a new, adaptive system development life cycle. It is originally offered by Rational Software, which
2、is now part of IBM. Developed by: Grady Booch, James Rumbaugh, Ivar Jacobson which are the three pioneers behind the success of UML.,14:50,A phase in the UP can be thought of as a goal or major emphasis for a particular portion of the project.,1.1 The Unified Process,A UP discipline is a set of func
3、tionally related activities that contributes to one aspect of the development project. The disciplines can be divided into two main categories: System development activities (1) Business modeling, (2) Requirements, (3) Design, (4) Implementation, (5) Testing, (6) Deployment, Project management activ
4、ities (7) Configuration and Change management, (8) Project management, and (9) Environment. Each iteration usually involves activities from all disciplines.,14:50,14:50,1.2 Extreme Programming,Extreme Programming (XP) is an adaptive, agile development methodology that was created in the mid-1990s. T
5、he word extreme sometimes makes people think that this methodology is completely new and that developers who embrace XP are radicals. Extreme programming has these characteristics: Takes proven industry best practices and focuses on them intensely Combines those best practices (in their most intense
6、 forms) in a new way to produce a result that is greater than the sum of the parts,Four Core Values of XP,Communication Effective communication involves not only documentation but also verbal discussion. Simplicity less is more Even though developers have always advocated keeping solutions simple, t
7、hey dont always follow their own advice. Feedback As with simplicity, getting frequent, meaningful feedback is recognized as a best practice of software development. Courage Developers always need courage to face the harsh choice of doing things right or throwing away bad code and starting over.,XP
8、Practices: Planning,XP embraces change. Change the changing. XP planning focuses on making a rough plan quickly and then refining it as things become clearer. The basis of an XP plan is a set of stories that users develop. A story describes what the system needs to do. XP doesnt use the term use cas
9、e, but a user story and a use case express a similar idea.,14:50,XP Practices: Testing,Every new piece of software requires testing, and every methodology includes testing. The developers write the unit tests, and the users write the acceptance tests. Before any code can be integrated into the libra
10、ry of the growing system, it must pass the tests. By having the tests written first, XP automates their use and executes them frequently. Over time, a library of required tests is created, so when requirements change and the code needs to be updated, the tests can be rerun quickly and automatically.
11、,XP Practices: Pair Programming,Instead of simply requiring one programmer to watch anothers work, pair programming divides up the coding work. First, one programmer might focus more on design and double-checking the algorithms while the other writes the code. Then, they switch roles; Thus, over tim
12、e, they both think about design, coding, and testing. XP relies on comprehensive and continual code reviews.,XP Practices: Pair Programming,Errors are caught quickly and early, two people become familiar with every part of the system, all design decisions are developed by two brains, and fewer “quic
13、k and dirty” shortcuts are taken. The quality of the code is always higher in a pair-programming environment. Interestingly, Research has shown that pair programming is more efficient than programming alone.,XP Practices: Simple Designs,Opponents say that XP neglects design, but that isnt true. XP c
14、onforms to the principles of Agile Modeling, for avoiding the “ Big Design Up Front ” approach. Instead, it views design as so important that it should be done continually, although in small chunks.,14:50,XP Practices: Refactoring the Code,Refactoring is the technique of improving the code without c
15、hanging what it does. XP programmers continually refactor their code. Before and after adding any new functions, XP programmers review their code to see whether there is a simpler design or a simpler method of achieving the same result.,14:50,XP Practices: Continuous Integration,This practice embodi
16、es XPs idea of “growing” the software. Small pieces of code which have passed the unit tests are integrated into the system daily or even more often. Continuous integration highlights errors rapidly and keeps the project moving ahead. Small Releases A release is a point at which the new system can be turned over to users for acceptance testing and even for productive use.,14:50,XP Practices: Pair Programming,Owning the Code Collectively In XP, everyone is responsible for the code. No one person