1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Topics,The nature of software development,System planning,Systems for three management levels,Software development lifecycle,The essence of software development,Only one out of three software projects complete on-time and on-budget(The Standish Group repor
2、t,2003),The essence of software development:,defined by the issues inherent in the software itself-software is a product of a creative act(not a result of a repetitive act of manufacturing),difficulties not amenable to breakthroughs or silver bullets-define software development invariants,consequenc
3、e of the inherent software,complexity,complexity,conformity,conformity,changeability,and changeability,and,invisibility,The accidents of software development,Accidental difficulties due to software production practices-amenable to human intervention,attributed mostly to the fact that an information
4、system is a social system,must not be adding to the complexity and to the potential lack of supportability of the software product,supportability=understandability+maintainability+scalability(extensibility),Related to:,Stakeholders,Process,Modeling language and tools,Will be discussed soon,Software
5、development invariants,Software in inherently complex,function of interdependencies between components of which the software product is composed complexity in the wires,Data intensive applications(enterprise information systems)are particularly complex,Software must conform to:,hardware/software pla
6、tform on which it is built,pre-existing information systems,Software must be built to accommodate change,Software is buried deeply in“invisible”programming statements,binary library code,and surrounding system software,Stakeholders,People who have a stake in a software project:,Customers(users and s
7、ystem owners),Developers(analysts,designers,programmers,etc.),Information systems are social systems-developed by people(developers)for people(customers),The main causes of software failure can be traced to the stakeholder factor,on the customer end,and,on the developer end,Software process,Defines
8、activities and organizational procedures used in software production and maintenance,A process model:,states an order for carrying out activities;,specifies what development artifacts are to be delivered and when;,assigns activities and artifacts to developers;,offers criteria for monitoring a proje
9、cts progress,for measuring the outcomes,and for planning future projects.,Is not susceptible to standardization,Iterative and incremental process,An iterative process is one that involves managing a stream of executable releases.An incremental process is one that involves the continuous integration
10、of the systems architecture to produce these releases,with each new release embodying incremental improvements over the other.(RUP),Some examples:,the spiral model,Rational Unified Process(RUP),Model Driven Architecture(MDA),the agile development process,Iterative and incremental development,must be
11、 planned and controlled,and,must conform to a pre-defined architectural design framework,Capability maturity model,Modeling language and tools,Modeling artifacts have to be,communicated(language)and,documented(tools),The Unified Modeling Language(UML)is a general-purpose visual modeling language tha
12、t is used to specify,visualize,construct,and document the artifacts of a software system.,Computer-Assisted Software Engineering(CASE)tool enables storage and retrieval of models in a central repository and graphical and textual manipulation of models on a computer screen,CASE and process improvemen
13、t,Process improvement is much more than the introduction of new methods and techniques,the introduction of new methods and techniques to organization at a low level of process maturity can bring more harm than good,An integrated CASE tool can allow multiple developers to collaborate and share design
14、 information in order to produce new design artifacts-the tool imposes processes on the development team-in“immature”organizations processes will not be followed(creating more mess than before),However,the same CASE methods and techniques would always bring personal productivity and quality improvem
15、ents to individual developers,System planning,The question is:Which IS technologies and applications will return the most value to the business?,System planning can be carried out in a number of different ways:,SWOT Strengths,Weaknesses,Opportunities,Threats,VCM Value Chain Model,BPR Business Proces
16、s Reengineering,Information System Architecture(ISA),All system planning approaches have an important common denominator they are concerned with effectiveness rather than efficiency,SWOT approach,VCM approach,The VCM(Value Chain Model)assesses competitive advantage by analyzing the full chain of act
17、ivities in an organization from raw materials to final products sold and shipped to customers,The question is:which value chain configurations will yield the greatest competitive advantage?,The IS development projects can then target those segments,operations,distribution channels,marketing approach
18、es,etc.that give the most competitive advantage,Organizational functions are categorized into:,primary activities,they create or add value to a final product,support activities,they are essential but they do not enrich the product,BPR approach,The BPR(Business Process Reengineering)approach to syste
19、m planning is based on the premise that todays organizations must reinvent themselves and abandon the functional decomposition,hierarchical structures and operational principles that they are now using,Most contemporary organizations are structured in vertical units focused on functions,products or
20、regions,No one employee or department is responsible for a business process which is defined as.a collection of activities that takes one or more kinds of input and creates an output that is of value to the customer,The most visible difference between a process enterprise and a traditional organizat
21、ion is the existence of process owners,The main objective of BPR is to radically redesign business processes in an organization(hence,process redesign),The major hurdle lies in the need to embed a horizontal process in a traditional vertical management structure,BPR initiative requires changing the
22、organization around the development teams as the primary organizational units,These teams are responsible for one or more end-to to-end business processes,ISA approach,ISA(Information Systems Architecture)is a bottom-up approach that offers a neutral architectural framework for IS solutions that can
23、 suit a variety of business strategies,it does not include a system planning methodology,it offers a framework that leverages most business strategies,The ISA framework is represented as a table of thirty cells organized into five rows(labeled 1 through 5)and six columns(labeled A through F),Rows re
24、present the different perspectives used in the construction of a complex engineering product,such as an information system-five major players in the game,Columns represent the six different descriptions or architectural models that each of the participants engages with,Systems for three management l
25、evels,Software development lifecycle,Set of activities conducted and managed for development project,The lifecycle identifies:,the applied modeling approach,the exact phases along which the software product is transformed from initial inception to phasing it out,the method(methodology)and associated
26、 development process,Development approach,Software has become much more interactive,event-driven,user in control,software objects service random and unpredictable events,Conventional software has been well served by the so-called structured approach,Modern GUI systems require object programming and
27、the object approach is the best way to design such systems,Structured approach,Object-oriented approach,Lifecycle phases,Business Analysis,functional and non-functional requirements,System Design,architectural design,detailed design,Implementation,coding,round-trip engineering,Integration and Deploy
28、ment,Operation and Maintenance,Business analysis,Also requirements analysis,Activity of determining and specifying customer requirements,business analyst determines requirements,system analyst specifies(or models)requirements,Business analysis is linked to business process reengineering(BPR),aim of
29、BPR is to propose new ways of conducting business and gaining competitive advantage,Business analysis becomes increasingly an act of requirements engineering,Requirements determination,Requirement a statement of a system service or constraint,Service statement,a business rule that must be obeyed at
30、all times(e.g.fortnightly salaries are paid on Wednesdays),a computation that the system must carry out(e.g.calculate salesperson commission based on the sales in the last fortnight using a particular formula),Constraint statement,a restriction on the systems behavior(only direct managers can see th
31、e salary information of their staff),a restriction on the systems development(we must use Sybase development tools),Requirements specification,Begins when the developers start modeling the requirements using a particular method(such as UML),CASE tool is used to enter,analyze and document the models,
32、Requirements Document is enriched with graphical models and CASE-generated reports,Specifications document(the specs in the jargon)replaces the requirements document,Most important specification techniques,class diagrams,use case diagrams,Ideally,the specification models should be independent from t
33、he hardware/software,platformon,which the system is to be deployed,Architectural design,The description of the system in terms of its modules(components),Concerned with,selection of a solution strategy,to resolve client(user interface)and server(database)issues as well as any middleware needed to gl
34、ue client and server processes,modularization of the system,relatively independent from a solution strategy but the detailed design of components must conform to a selected client/server solution client/server solution,Client/server models are frequently extended to provide a three-tier architecture
35、 where application logic constitutes a separate layer,Good architectural design produces supportable systems,i.e.systems that are understandable,maintainable,and scalable(extensible),Detailed design,Description of the internal workings of each software component,Develops detailed algorithms and data
36、 structures for each component,Dependent on the underlying implementation platform,client,server,middleware,Implementation,Involves,installation of purchased software,coding of custom-written software,other important activities,such as loading of test and production databases,testing,user training,h
37、ardware issues,etc.,Client programs,Server programs,Integration and deployment,Module integration,can take more time and effort than any one of the earlier lifecycle phases,including implementation,The whole is more than the sum of the parts (Aristotle),must be carefully planned from the very beginn
38、ing of the software lifecycle,Deployment,must be carefully managed and allow,if at all possible,fallback to the old solution,if problems encountered,Operation and maintenance,Operation signifies change over from the existing business solution,whether in software or not,Maintenance is not only an inh
39、erent part of the software lifecycle it accounts for most of it as far as IT personnel time and effort is concerned,Housekeeping,Adaptive maintenance,Perfective maintenance,Phasing out would normally happen due to reasons that have little to do with the usefulness of the software,Activities spanning
40、 the lifecycle,Project planning,Metrics,Testing,Summary,The nature of software development is that of a craft or even art.,The triangle for success includes the stakeholders,factor,a sound process and the support of a modeling language and tools.,System planning precedes software development,and det
41、ermines which products can be most effective to the organization.,Modern software products are object-oriented.,Software development follows a lifecycle.,Modern development lifecycles and processes are iterative and incremental.,IBM IT,生命周期管理方法,对整个,IT,生命周期提供管理层面的支撑,对整个,IT,生命周期提供工程层面的支撑,IT,运营经理,应用程序支
42、持,高级经理,分析人员,架构师,项目经理,业务建模,定义需求,分析与设计,实施,测试,部署,管理,保护,测试人员,部署经理,开发人员,管理项目和资产,业务,开发,运营,Govern,最终用户,规划,提交,管理,IT,治理:统一的,IT,管理流程和项目组合管理平台,确保系统的功能,确保系统的性能,加速部署过程,管理,工程,工程,管理,Process View,Deployment View,Logical View,Use-Case View,Implementation View,End-user,Functionality,Programmers,Software management,Performance,Scalability,Throughput,System integrators,System topology,Delivery,installation,communication,System engineering,Analysts/Designers,Structure,IBM,的软件架构方法:,“,4+1 View”,模型,






