軟件工程復(fù)習(xí)_第1頁
軟件工程復(fù)習(xí)_第2頁
軟件工程復(fù)習(xí)_第3頁
軟件工程復(fù)習(xí)_第4頁
軟件工程復(fù)習(xí)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、What Is Software?什么是軟件?:Software is corresponding and related to hardware, both are components of computer system. Its a integrated collection which includes Programs, Data and Documents.軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,它是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。Program is serious of instructions that perform according to initially

2、 designed function and performance requirement;程序是按事先設(shè)計(jì)的功能和性能要求執(zhí)行的指令序列Documents are text and graphic materials that are related to program developing, maintaining and using. 文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文材料 Phenomena of Software Crisis 軟件危機(jī)的表現(xiàn)Cost and schedule of developing can not be estimated accurately. 對軟件

3、開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確User are always unsatisfied with delivered software system. 用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生Quality of software are usually poor. 軟件產(chǎn)品的質(zhì)量往往靠不住Software can hardly be maintained. 軟件常常是不可維護(hù)的There is always no proper document of software. 軟件通常沒有適當(dāng)?shù)奈臋n資料Proportion of software cost in computer syste

4、m are increasing. 軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升The progress of software productivity can not catch up with trend of pervasively using of computer. 軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢Reason of Software Crisis 軟件危機(jī)的原因Some are because of characters of Software 自身性質(zhì)的原因Logicality of software 邏輯特性Complexity of sof

5、tware 復(fù)雜性Large scale of software 大規(guī)模特性Some are because of wrong developing and maintaining method 過程的原因(開發(fā)和維護(hù)方法錯(cuò)誤的原因)Neglecting the importance of requirement analysis 忽視需求分析Consider developing to be writing program and making it run 認(rèn)為開發(fā)就是寫程序并使之運(yùn)行Despising of maintaining of software 輕視軟件的維護(hù)Tools :in

6、strument or automated system for accomplishing something in a better way. 工具:為較好完成一件事情的設(shè)備或自動化系統(tǒng)。procedures :recipe for combination of tools and techniques, produce a particular product.過程:將技術(shù)和工具結(jié)合的方法,來生產(chǎn)一個(gè)特定的產(chǎn)品。paradigms :style of doing something規(guī)范:做某事的樣式。Software engineers use tools, techniques(met

7、hod), procedures, and paradigms to enhance the quality of their software products. Their aim is to use efficient and productive approaches to generate effective solutions to problems. 軟件工程師使用工具、技術(shù)(方法)、過程、規(guī)范來改進(jìn)軟件產(chǎn)品的質(zhì)量。他們的目標(biāo)就是使用高效的高產(chǎn)的途徑產(chǎn)生解決問題的有效方案。 軟件質(zhì)量要素:正確性(Correctness) :程序滿足規(guī)格說明及完成用戶目標(biāo)的程度可靠性(Reliab

8、ility) :能夠防止因概念、設(shè)計(jì)和結(jié)構(gòu)等方面的不完善造成的軟件系統(tǒng)失效,具有挽回因操作不當(dāng)造成軟件系統(tǒng)失效的能力有效性(Efficiency):軟件系統(tǒng)能充分地利用計(jì)算機(jī)的時(shí)間資源和空間資源的程度完整性(Integrity):控制未被授權(quán)人員訪問程序和數(shù)據(jù)的程度可用性(Usability):學(xué)習(xí)使用軟件的難易程度, 包括: 操作軟件, 為軟件準(zhǔn)備輸入數(shù)據(jù), 結(jié)實(shí)軟件輸出結(jié)果可維護(hù)性(Maintainability):軟件產(chǎn)品交付用戶使用后, 能夠?qū)λM(jìn)行修改的難易程度可測試性(Testability):測試程序使之具有預(yù)定功能所需的工作量適應(yīng)性(Flexibility):改變一個(gè)操作程序所

9、需的工作量可移植性(Portability):軟件從一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境搬到另一個(gè)計(jì)算機(jī)系統(tǒng)或環(huán)境的難易程度可重用性(Reusability):軟部件可以在多種場合應(yīng)用的程度互用性(Interoperability):兩個(gè)或多個(gè)系統(tǒng)交換信息并相互使用已交換信息的能力Who Does Software Engineering? 誰來做軟件工程? 客戶(Customer)is the company, organization, or person who is paying for the software system to be developed.花錢開發(fā)軟件系統(tǒng)的公司、組織或個(gè)人; 開發(fā)

10、者(Developer)is the company, organization , or person who is building the Software system for the customer. 為客戶構(gòu)建軟件系統(tǒng)的公司、組織或個(gè)人; 用戶(User)is the person or people who will actually use the system.最終使用該系統(tǒng)的人員。The elements of system(系統(tǒng)元素):Activities(活動):is something that happens in a system發(fā)生在系統(tǒng)中的某個(gè)事件。Obje

11、cts or entities(對象):the elements involved in the activities 活動中涉及的元素。Relationships(關(guān)系):we match the entities with their activities.實(shí)體與活動間的匹配。System Boundary(系統(tǒng)邊界):what is included in the project and what is not.項(xiàng)目中包括什么不包括什么。A system (系統(tǒng))is a collection of things: a set of entities, a set of activiti

12、es, a description of the relationships among entities and activities, and definition of the boundary of the system.。系統(tǒng)是一組事務(wù)的集合:實(shí)體的集合、活動的集合、實(shí)體和活動之間關(guān)系的描述以及系統(tǒng)邊界的定義。Key factors altering software engineering practice (Wasserman) 改變軟件工程實(shí)踐的7個(gè)關(guān)鍵因素1.Criticality of time-to-market for commercial products商業(yè)產(chǎn)品推向

13、市場的時(shí)間的重要性2.Shift in the economics of computing: lower hardware costs and greater development and maintenance cost計(jì)算行業(yè)經(jīng)濟(jì)的變化趨勢:硬件費(fèi)用越來越低,而開發(fā)、維護(hù)費(fèi)用越來越高3.Availability of powerful desktop computing功能強(qiáng)大的桌面計(jì)算的出現(xiàn)4.Extensive local-and wide-area networking網(wǎng)絡(luò)的延伸5.Availability and adoption of object-oriented tech

14、nology面向?qū)ο蠹夹g(shù)的出現(xiàn)和應(yīng)用6.Graphical user interfaces using windows, icons, menus, and pointers 使用窗口、圖標(biāo)、菜單和指針的用戶界面7.Unpredictability of the waterfall model of software development軟件開發(fā)瀑布模型的不可預(yù)知性。 ways to partition the system into units:五種把系統(tǒng)分解成單元的方法:Modular decomposition 模塊化分解Data-oriented decomposition 面向數(shù)據(jù)

15、的分解Event-oriented decomposition 面向事件的分解Outside-in design 從外到內(nèi)的設(shè)計(jì)Object-oriented design 面向?qū)ο蟮脑O(shè)計(jì)What is Process? 什么是過程?:A Series of steps involving activities, constraints, and resources that produce an intended output of some kind.一系列涉及到活動、約束和資源的步驟,他們產(chǎn)生某種類型的有目的的輸出。Process Characteristics 過程的特征(7項(xiàng))1.T

16、he process prescribes all of the major process activities 規(guī)定了所有主要過程活動2.Process uses resources, subject to a set of constraints(such as schedule),and produces intermediate and final products 使用資源、服從于一組約束(比如進(jìn)度約束),產(chǎn)生中間結(jié)果和最終產(chǎn)品。3.The process may be composed of subprocesses that are linked in some way. Th

17、e process may be defined as a hierarchy of processes, organized so that each subprocess has its own process model 可由子過程組成,這些子過程用某種方式鏈接起來。過程可以定義為分層的過程等級結(jié)構(gòu),以便每個(gè)子過程具有自己的過程模型。4.Each process activity has entry and exit criteria,so that we know when the activity begins and ends. 每個(gè)具有活動有入口和出口標(biāo)準(zhǔn),這樣可以知道活動何時(shí)開

18、始及何時(shí)結(jié)束。5.The activities are organized in a sequence, so that it is clear when one activity is performed relative to the other activities. 活動以一定順序組織,因此,一個(gè)活動相對于其他活動何時(shí)完成是是很清楚的。6.Every process has a set of guiding principles that explain the goals of each activity 每個(gè)過程具有一系列的指導(dǎo)原則,以解釋每個(gè)活動的目標(biāo)7.Constraints

19、or controls may apply to an activity, resource or product 約束與控制可以應(yīng)用到任何活動、資源或產(chǎn)品中。Software Lifecycle:The software development process is sometimes called the software life cycle。軟件開發(fā)過程有時(shí)被稱為軟件生命周期維護(hù)階段的關(guān)鍵任務(wù)是:通過各種必要的維護(hù)活動使軟件系統(tǒng)持久地滿足用戶的需要。通常的4種維護(hù)Why software process modeling? 為什么建立軟件過程模型?Writes down a descr

20、iption of development process, forms a common understanding of the activities, resources, and constraints involved in software development. 形成對軟件開發(fā)中涉及到的活動、資源和約束的共同理解。Helps the development team find inconsistencies, redundancies, and omissions in the process and in its constituent parts. 有助于開發(fā)小組發(fā)現(xiàn)過程及

21、其組織成分中的不一致、冗余和遺漏。The model reflects the goals of development, such as building high-quality software finding faults early in development, and meeting required budget and schedule constraints. 反映開發(fā)的目標(biāo)(如構(gòu)建高質(zhì)量軟件、早期發(fā)現(xiàn)錯(cuò)誤、滿足預(yù)算和開發(fā)進(jìn)度)。 Every process should be tailored for the special situation in which it w

22、ill be used.根據(jù)每個(gè)過程將被使用的特殊情況對其進(jìn)行裁剪。Typical process models 典型的過程模型Waterfall model 瀑布模型Prototyping 原型化模型V-model V-模型Operational specification 操作說明模型Transformational model 變換模型Phased development: increments and iteration 階段化開發(fā):增量和迭代模型Spiral model 螺旋模型Characters of Waterfall modeln One development stage

23、should be completed before the next begins.n Include stages of requirements analysis, system design, program design, coding, unit & integration testing, acceptance testing, operation & maintenancen Steps dont goes backward.Merits of Waterfall modeln Has been used to prescribe software develo

24、pment activities in a variety of contexts.n Is very useful in helping developers lay out what they need to do.n Easy to explain to customers who are not familiar with software developmentn It makes explicit which intermediate products are necessary in order to begin the next stage.n More complex mod

25、els are really just embellishments of the waterfall.Shortage of Waterfall modeln Does not reflect the way code is really developed, software is usually developed with a great deal of iteration.n The model imposes a project management structure on system development.n Fail to treat software as a prob

26、lem-solving process.n The model was derived from the hardware world.What is project management? 什么是項(xiàng)目管理:The application of knowledge, skills, tools, and techniques to project activities in order to meet or exceed stake holder needs and expectations 。將知識、技能、工具、技術(shù)應(yīng)用于項(xiàng)目活動以滿足或超過預(yù)期的需求。有效的項(xiàng)目管理集中于三個(gè)P 上Peop

27、le:項(xiàng)目參與者、項(xiàng)目負(fù)責(zé)人、軟件項(xiàng)目組、協(xié)調(diào)和通訊Problem:軟件范圍、問題分解Project Schedule describes the software development cycle for a particular project by enumerating the phases or stages of a project and breaking each into discrete tasks or activities to be done. 項(xiàng)目進(jìn)度描述了針對特定項(xiàng)目的軟件開發(fā)周期,列舉了項(xiàng)目的各個(gè)階段,把每個(gè)階段劃分成要完成的離散任務(wù)或活動The schedu

28、le is a timeline that shows when activities will begin and end, and when the related development products will be ready. 進(jìn)度是一個(gè)時(shí)間的限期,它表明活動將于何時(shí)開始何時(shí)結(jié)束、相關(guān)的開發(fā)產(chǎn)品何時(shí)準(zhǔn)備就緒。Project deliverables項(xiàng)目可交付品Documents文檔Demonstrations of function功能演示Demonstrations of subsystems子系統(tǒng)演示Demonstrations of accuracy正確性演示Demonst

29、rations of reliability, performance or security可靠性、安全性或性能演示Activity( 活動):A part of a project that takes place over a period of time項(xiàng)目的一個(gè)部分,發(fā)生在一段時(shí)間內(nèi)。Milestone(里程碑 ) : completion of an activity - a particular point in time一個(gè)活動的完成。是某一特定時(shí)刻。描述活動的4個(gè)參數(shù):Precursor( 前驅(qū) ): event or set of events that must occu

30、r in order for an activity to start 在活動開始之前必須發(fā)生的一個(gè)或一組事件,它描述了活動開始的一組條件。Duration( 持續(xù)時(shí)間): length of time needed to complete an activity 完成一個(gè)活動需要的時(shí)間長度Due date(截至日期): date by which an activity must be completed 活動必須完成的日期Endpoint(終點(diǎn)): Milestones or deliverables里程碑或交付品 活動圖Real time: is the estimated amount

31、 of time required for the activity to be completed.available time: is the amount of time available in the schedule for the activitys completion.Slack time= available time real time (空閑時(shí)間 可用時(shí)間 實(shí)際時(shí)間) = latest start time - earliest start time (空閑時(shí)間 最晚開始時(shí)間 最早開始時(shí)間)Critical Path Method (CPM關(guān)鍵路徑法)Project o

32、rganization項(xiàng)目組織Chief Programmer Team 核心程序員組:On a chief programmer team, one person is totally responsible for a systems design and development. 核心程序員組由一個(gè)人總體負(fù)責(zé)系統(tǒng)的設(shè)計(jì)和開發(fā)Egoless approach無私編程 :Instead of a single point of responsibility, an egoless approach holds everyone equally responsible.不是把責(zé)任放在單個(gè)人身上

33、,而是讓每個(gè)人平等地?fù)?dān)負(fù)責(zé)任。怎樣選擇合適的組織結(jié)構(gòu)? Projects with a high degree of certainty, stability, uniformity, and repetition can be accomplished more effectively by a hierarchical organizational structure such as the chief programmer team. 在有著高確定性、穩(wěn)定性、均勻性和重復(fù)性的項(xiàng)目中,核心程序員組這樣的等級組織結(jié)構(gòu)會更有效。When there is much uncertainty in

34、volved in a project, a more democratic approach may be better. 當(dāng)項(xiàng)目涉及大量的不確定性時(shí),更為民主的方法可能更好。工作量和成本估計(jì)軟件成本包括:-包括維護(hù)在內(nèi)的硬件和軟件費(fèi)用;-工作成本(支付給軟件開發(fā)人員的費(fèi)用);-應(yīng)用的方法、過程所形成的一部分成本;-使用的工具;-差旅費(fèi);工作量估計(jì)技術(shù)1.Expert judgment 專家判斷2.Algorithmic methods 算法方法3.Machine-Learning Method 機(jī)器學(xué)習(xí)方法Risk management 風(fēng)險(xiǎn)管理Risk(風(fēng)險(xiǎn)): is an unwant

35、ed event that has negative consequences.不希望反生的具有負(fù)面影響的事件。Risk Management(風(fēng)險(xiǎn)管理): is to understand and control the risks on projects.了解和控制項(xiàng)目中的風(fēng)險(xiǎn)。Risk impact(風(fēng)險(xiǎn)后果 ): the loss associated with the event與該事件有關(guān)的損失Risk probability(風(fēng)險(xiǎn)概率): the likelihood that the event will occur事件發(fā)生的可能性Risk control(風(fēng)險(xiǎn)控制): the

36、 degree to which we can change the outcome我們能改變結(jié)果的程度Risk exposure(風(fēng)險(xiǎn)成本(暴露量)= (risk probability風(fēng)險(xiǎn)概率) x (risk impact風(fēng)險(xiǎn)后果)Three strategies for risk reduction 降低風(fēng)險(xiǎn)的3種策略avoiding the risk(避免風(fēng)險(xiǎn)): change requirements for performance or functionality 通過改變性能或功能需求。transferring the risk(轉(zhuǎn)移風(fēng)險(xiǎn)):by allocating risk

37、s to other system or buy insurance to cover any financial loss should the become a reality. 通過把風(fēng)險(xiǎn)分配到其他系統(tǒng)中,或者購買保險(xiǎn)以便在風(fēng)險(xiǎn)成為事實(shí)時(shí)能彌補(bǔ)經(jīng)濟(jì)上的損失assuming the risk(假設(shè)風(fēng)險(xiǎn)會發(fā)生): by accepting it and controlling it with the projects resources 用項(xiàng)目資源承受和控制風(fēng)險(xiǎn)risk leverage(風(fēng)險(xiǎn)杠桿) = difference in risk exposure divided by cost

38、of reducing the riskProject plan 項(xiàng)目計(jì)劃:We write a document called a project plan .the plan puts in writing the customers needs, as well as what hope to do meet them.包含了顧客的需要以及我們要做些什么來滿足這些需求的文檔叫項(xiàng)目計(jì)劃Project plan contents 項(xiàng)目計(jì)劃的內(nèi)容1.project scope 項(xiàng)目范圍2.project schedule 項(xiàng)目進(jìn)度3.project team organization 項(xiàng)目小組

39、組織結(jié)構(gòu) 4.technical description of the proposed system 項(xiàng)目的技術(shù)描述5.project standards, procedures and proposed techniques and tools 項(xiàng)目標(biāo)準(zhǔn)、過程和建議的技術(shù)及工具6.quality assurance plan 質(zhì)量保證計(jì)劃7.configuration management plan 配置管理計(jì)劃8.documentation plan 文檔計(jì)劃9.data management plan 數(shù)據(jù)管理計(jì)劃10.resource management plan 資源管理計(jì)劃11

40、.test plan 測試計(jì)劃12.training plan 培訓(xùn)計(jì)劃13.security plan 安全計(jì)劃14.risk management plan 風(fēng)險(xiǎn)管理計(jì)劃15.maintenance plan 維護(hù)計(jì)劃Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the systems purpose。需求是系統(tǒng)的特征,或?yàn)榱藢?shí)現(xiàn)系統(tǒng)目標(biāo)系統(tǒng)能做什么的一個(gè)描述。Three kinds of requir

41、ements把需求按必要程度分三類:1.those that absolutely must be met 絕對需要滿足的需求2.those that are highly desirable but not necessary 想要但并非必須的需求3.those that are possible but could be eliminated 可以接受但也可以排除的需求Requirements definition(需求定義): complete listing of what the customer expects the system to do 完整地列出顧客希望系統(tǒng)做的每一件事R

42、equirements specification(需求規(guī)格說明): restates the definition in technical terms so that the designer can start on the design 用技術(shù)術(shù)語重申需求定義以便系統(tǒng)設(shè)計(jì)員能開始設(shè)計(jì)Configuration management(配置管理): supports direct correspondence between the two documents支持兩個(gè)文檔間直接對應(yīng)There must be a direct correspondence between each requ

43、irement of the definition document and those of the specification document. it is here that the configuration management methods used throughout the life cycle begin. 每個(gè)需求的定義文檔和詳細(xì)說明文檔之間有直接的對應(yīng)關(guān)系。生命周期開始之后正是從此處開始一直都使用配置管理方法。Configuration management配置管理:Set of procedures that track一組跟蹤以下內(nèi)容的過程1.requireme

44、nts that define what the system should do 定義系統(tǒng)應(yīng)該做什么需求2.design modules that are generated from requirements 從需求中得出設(shè)計(jì)模塊3.program code that implements the design 實(shí)現(xiàn)設(shè)計(jì)的程序代碼4.tests that verify the functionality of the system 驗(yàn)證系統(tǒng)功能的測試5.documents that describe the system 描述系統(tǒng)的文檔需求定義和詳細(xì)說明文檔描述了系統(tǒng)如何與環(huán)境交互的所有事

45、情。包括:Physical environment物理環(huán)境Interfaces 接口(界面)Users and human factors用戶與人的因素Functionality功能性Documentation文檔Data數(shù)據(jù)Resources資源Security安全性Quality assurance質(zhì)量保證Functional vs. non-functional requirements 功能性需求與非功能性需求n Functional: describes an interaction between the system and its environmentn Examples:n

46、 System shall communicate with external system X.n What conditions must be met for a message to be sentn Non-functional: describes a restriction or constraint that limits our choices for constructing a solutionn Examples:n Paychecks distributed no more than 4 hours after initial data are read.n Syst

47、em limits access to senior managers.關(guān)于需求的完整性Requirement is Completed: if all possible states, state changes, inputs, products, and constraints are described by some requirement. 需求是完整的:如果某些需求描述了所有可能的狀態(tài),以及狀態(tài)的變化、輸入、過程和約束。A system description is externally complete: if the description constrains all th

48、e proper ties to the environment desired by the customer.系統(tǒng)描述是外部完整的:如果描述包含的所有關(guān)系都與顧客想要的環(huán)境相關(guān)時(shí)。A system description is internally complete: if there are no undefined references among the requirements.系統(tǒng)描述是內(nèi)部完整的:需求之間沒有未定義的引用。requirements validation 需求確認(rèn)n Requirements validation is the process of determi

49、ning that specification is consistent with the requirements definition; validation makes sure that the requirements will meet the customers needs. 需求確認(rèn)就是判斷規(guī)格說明是否與需求定義一致的過程;確認(rèn)就是保證需求滿足了顧客的需要。n 從哪些方面確認(rèn)需求現(xiàn)實(shí)性有效性一致性完整性what is design什么是設(shè)計(jì)?:Design is the creative process to transform the problem into a solu

50、tion. 設(shè)計(jì)是將問題轉(zhuǎn)化成解決方案的創(chuàng)造性的活動Design is the description of a solution. 是對解決方案的描述Two stages of design:設(shè)計(jì)的兩個(gè)階段Conceptual Design 概念設(shè)計(jì)Technical Design 技術(shù)設(shè)計(jì)Conceptual design 概念設(shè)計(jì):Tells the customer what the system will do. 告訴顧客系統(tǒng)將要做什么。Technical design技術(shù)設(shè)計(jì): Description is a technical picture of the system spe

51、cification. Tells the programmers what the system will do系統(tǒng)規(guī)格說明的技術(shù)性描述。告訴程序員系統(tǒng)將做什么。Includes:包括major hardware components and their function. 主要硬件組件和功能;hierarchy and function of software components. 軟件組件的層次和功能;data structures. 數(shù)據(jù)結(jié)構(gòu);data flow. 數(shù)據(jù)流Five ways to create designs五種創(chuàng)建設(shè)計(jì)的方法Modular decomposition

52、 模塊分解:將功能分配給組件。Data-oriented decomposition 面向數(shù)據(jù)的分解:基于外部數(shù)據(jù)結(jié)構(gòu)。Event-oriented decomposition 面向事件的分解:基于系統(tǒng)必須處理的事件和事件改變系統(tǒng)的狀態(tài)信息。Outside-in design 由外而內(nèi)的設(shè)計(jì):基于系統(tǒng)的用戶輸入(屬黑盒方法)。Object-oriented design OO設(shè)計(jì):確定對象的類和它們之間的相互關(guān)系。模塊:the results of decomposition form composite parts called modules or components. 分解結(jié)果形成的組

53、成部分稱模塊或組件E-R圖數(shù)據(jù)流圖面向數(shù)據(jù)流的設(shè)計(jì)方法變換分析:把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)的一系列步驟的總稱。第1步 復(fù)查基本系統(tǒng)模型。第2步 復(fù)查并精化數(shù)據(jù)流圖。第3步 確定數(shù)據(jù)流圖具有變換特性還是事務(wù)特性。第4步 確定輸入流和輸出流的邊界,從而孤立出變換中心。 第5步 完成“第一級分解(first level factoring)”。分解就是分配控制的過程。分解出模塊:Cm, Ca, Ct, Ce,其中: Cm:協(xié)調(diào)下述從屬的控制功能;Ca:輸入信息處理控制模塊,協(xié)調(diào)對所有輸入數(shù)據(jù)的接收;Ct:變換中心控制模塊,管理對內(nèi)部形式的數(shù)據(jù)的所有操作;Ce:輸出信息處

54、理控制模塊,協(xié)調(diào)輸出信息的產(chǎn)生過程。 第6步 完成“第二級分解”。即把數(shù)據(jù)流圖中的每個(gè)處理映射成軟件結(jié)構(gòu)中一個(gè)適當(dāng)?shù)哪K。第7步 使用設(shè)計(jì)度量和啟發(fā)式規(guī)則對第一次分割得到的軟件結(jié)構(gòu)進(jìn)一步精化。事務(wù)分析由事務(wù)流映射成的軟件結(jié)構(gòu)包括一個(gè)接收分支和一個(gè)發(fā)送分支;映射接收分支:從事務(wù)中心的邊界開始,把沿著接收流通路的處理映射成模塊;發(fā)送分支的結(jié)構(gòu)包含一個(gè)調(diào)度模塊,它控制下層的所有活動模塊;把數(shù)據(jù)流圖中的每個(gè)活動流通路映射成與它的流特征相對應(yīng)的結(jié)構(gòu)。軟件體系結(jié)構(gòu)(Software Architecture):The software architecture of a system is the str

55、ucture or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.系統(tǒng)的軟件體系結(jié)構(gòu)是一種軟件設(shè)計(jì)活動的工作產(chǎn)品。是對子系統(tǒng)、軟件系統(tǒng)構(gòu)件以及它們之間相互關(guān)系的描述。常用的設(shè)計(jì)風(fēng)格:Pipes and filters 管道和過濾器;Object-oriented design OO 設(shè)計(jì);Implicit invocation 隱含調(diào)用;Layering 分層;Repositories 倉庫;Interpreters 解釋器;Process control 過程控制;Client-server 客戶機(jī)/服務(wù)器。度量標(biāo)準(zhǔn):模塊的獨(dú)立程度可以由coupling and cohesion 內(nèi)聚和耦合度量。耦合衡量不同模塊彼此間互相依

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論