版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Computer Science 3061/15/03,Bill Bond,Class Communication,Email your name and email address to Normally will post notes before class Assignments got to Web page should be in following location: /umreec/web-courses/,Software Crisis,Programs dont reflect cust
2、omer desires Schedule and cost estimates are often grossly inaccurate “Productivity” of software people has not kept pace with the demand for their services Software complexity increases Quality of software is sometimes less than adequate Difficult to maintain existing programs,The Problem,Building
3、computer solution is hard Understand problem Design solution Implement solution Complexity is the problem Lots to do Lots to keep track of,Software Engineering,Managing complexity by imposing discipline Abstraction - focus only on essential details, ignore others (for now) Decomposition - break into
4、 manageable pieces Analysis/Design methods and Tools support these ideas,Large Projects,Require Teams Key elements Communication - has cost Artifacts - support communication,Artifacts,Which should be produced? “Discovery” value Which should be maintained? Maintenance value Recognize cost of producin
5、g artifacts,Software Engineering,Book definition The establishment and use of sound engineering principles in order to obtain economical software that is reliable and works efficiently on real machines,Result,Comprehensive methods “how to” Process context in which technical methods applied, delivera
6、bles produced Better tools More powerful building blocks Better quality assurance Communication,Three Generic Phases,Definition phase What Information to be processed Function/Performance desired System Engineering Software Project Planning Requirements Analysis,Three Generic Phases, cont,Developmen
7、t phase how Software architecture Implementation Testing,Three Generic Phases, cont,Maintenance phase change Correction defect correction Adaptation supports new environment Enhancement Prevention changes to allow correction, adaptation, enhancement,Course Description,All aspects of software enginee
8、ring Project management Requirements Analysis Design Implementation Testing More,Introduction to Object-OrientedAnalysis and Design,Bill Bond 10/16/02,Schedule,10/16 - Background 10/23 - Exam 10/30 - Analyze - Use Cases, Domain Model 11/6 - Design - Collaboration / Design diagrams 11/13 - Construct
9、- Code 11/20 - Complete, Begin examples 11/27 - No class 12/4 - Examples 12/11 - Project due, UML Odds and Ends 12/18 - Final Exam,Chapter 1 - Goals,Describe Process Repeatable, predictable results Requirements development Use Cases Conceptual Model Design Model Sequence Diagrams Produce code,Goals,
10、Learn basic set of UML Unified Modeling Language Capture Analysis/Design Communicate with other developers Apply “good” design principles Patterns (good design solutions) Work examples,Part of Engineering Process,Estimating Planning/Scheduling Configuration Management Change Control Peer Reviews Tes
11、ting,Unified Modeling Language,Industry standard Rational proposal Booch - Booch diagrams Model diagrams Rumbaugh - Object Modeling Technique Model diagrams Jacobson - Objectory Process,Unified Modeling Language,Set of Diagrams Different views of a system Concentrate on a subset Use cases Sequence /
12、 Collaboration diagrams Dynamic (Execution) view Conceptual / Design model Static view - can produce code,Unified Modeling Language,Does not define an approach But we will - Unified Process,Artifacts,What artifacts should be produced? What artifacts should be peer reviewed? What artifacts should be
13、maintained? Design evolves over time,Artifacts,Represent cost Improved process repeatability Improved design / quality through self-discovery Improved design / quality through peer review,What Does Customer Want?,Reasonable cost Delivered on schedule Meets requirements High quality,Analysis / Design
14、,Analysis (what) - Investigation of the problem domain, rather than how the solution is defined Design (how) - Logical solution, how system fulfills the requirements,Analysis / Design,Analysis,Design,What Requirements Investigation of Domain,How Logical solution,Function-Oriented Approach,Decomposit
15、ion is primary strategy Construct a “control” hierarchy,Control,I/O,Processing,OOA /OOD,Consider problem domain /solution from the perspective of objects OOA - Find and describe domain (problem space) objects OOD - Define logical software objects that will be implemented in an Object-Oriented Progra
16、mming Language,Approach,Assign responsibilities to components Important question (should be able to answer) - What is this component responsible for? What does it do (exactly)? Find suitable objects / abstractions Domain (Conceptual) model - Representation - Code,Is An Object-Oriented Language Requi
17、red?,No,Business Example,Textual narrative description of business processes External actors - cause business to process data Results produced by interaction between people Expectations - what should be the outcome? Use case,Business Example,People roles What “categories” of people participate in th
18、e domain Responsibilities Conceptual (domain) model Interactions How collaboration occurs to achieve overall goals Collaboration (sequence) diagrams,Chapter 2 - Macro Process,Development Process - Organize software activities for creation, delivery, and maintenance Macro level Plan and Elaborate Bui
19、ld Deploy,Plan and Elaborate,Plan - schedule, resources, budget Preliminary investigation report Requirements investigation Glossary Prototype Use Cases - text Use Case Diagrams Draft Conceptual Model,Unified Process,Book describes a simplified version of the Rational Unified Process A “typical” OOA
20、 / OOD process,Iterative Development,Successive refinement through multiple cycles (adding more functions) of Analysis Design Implementation Test Waterfall - a single cycle,Iterative Development,Each iteration produces an executable but incomplete system System may not be eligible for production dep
21、loyment for many iterations Iteration output is not a “throw-away” prototype, it is a production-grade subset of the final system,Benefits,Early rather than late mitigation of high risks (technical, requirements, usability, etc.) Early visible progress Early user feedback Managed complexity Developm
22、ent feedback can be used to update the process,Waterfall,Iteration,Iterations,Time Boxing - Fixed time iteration cycle Choose iteration requirements carefully Organized by Use Cases Each iteration implements a set of use cases,Advantages,Iterations,Work Activities,UP Best Practices,Tackle high-risk,
23、 high-value issues early Continuously engage users Build cohesive, core architecture early Continuously verify quality through test Model software visually with UML Carefully manage requirements Practice change request and configuration management,Chapter 4 - Inception,Envision the product scope, vi
24、sion, and business case The main problem: Do the stakeholders have basic agreement on the vision of the project, and is it worth investing in serious investigation?,Chapter 5 - Requirements,Requirements are capabilities and conditions to which the system must conform,UP Requirements,Manage requireme
25、nts - define and stabilize the requirements - in the context of inevitably changing and unclear stakeholders wishes, a systematic approach to finding, documenting, organizing and tracking the changing requirments of a system,“Challenged” Projects,FURPS+,Functional - features, capabilities, security
26、Usability - human factors, help, documentation Reliability - frequency of failure recoverability, predictability Performance - response times, throughput, accuracy, availability, resource usage Supportability - adaptability, maintainability, internationalization, configurability,The +,Implementation
27、 - resource limitations, languages and tools, hardware Interface - constraints imposed by interfacing with external systems Operations - system management in its operational setting Packaging Legal - licensing and so forth,Requirements Development,Get it written down (shalls) Can be verified Get con
28、sensus with user,Next,Use Cases Domain Models,Object-Oriented Analysis Use Cases, Domain Model,Bill Bond 10/30/02,Chapter 6 - Use Cases,Use case - Narrative description that describes sequence of events of an actor (external agent) using system to complete a process (documents responses). Actor Huma
29、n Another system,Example,Use case: Buy Items Actors: Customer, Cashier Description: A customer arrives at a checkout with items to purchase. The cashier records the purchase items and collects payment. On completion, the Customer leaves with the items.,Use Case,No rigid format Alternative solutions
30、Handled at end Mistake -identify individual steps as a use case Use case usually includes many steps,Actor,External Entity Stimulates system Receives response Capitalize to identify,Actor,Initiator actor Participating actors Kinds of actors Roles that people play Computer systems Electrical or mecha
31、nical devices,Identifying Use Cases,Actor-based Identify actors related to a system For each actor, identify the processes they initiate or participate in Event-based Identify the external events that the system must respond to Relate the events to actors and use cases,UML Notation,Traceability,Func
32、tions should all be allocated to Use Cases Via cross reference verify all functions have been allocated,System Boundary,Examples Hardware/software boundary of device/computer system Defines systems responsibilities Depends on Intent,Example,Log In,Refund,Buy Items,Refund,Buy Items,POST,Store,Cashier
33、,Customer,Customer,Use Case Refinement,Real Very concrete Design details User interface,Essential Very abstract,Which best supports testing?,Naming,Start with verb It is a process,Decisions and Branching,Main: If _, see section X If _, see section Y X: Y: ,Using Use Cases,Define system boundary, act
34、ors, use cases Write use cases in high-level format Draw Use Case diagram Relate Use Cases For critical, influential, risky use cases, expand detail Rank Use Cases for implementation,Chapter 7,Chapter 8 - Scheduling,Ranking and scheduling Use cases Assuming desired artifacts produced (requirements,
35、use cases), transition to iterative development,Ranking,Significant impact on architectural design Significant information and insight regarding design, with little effort Risky, time-critical, complex Significant research Primary processes Directly support increased revenue / decreased cost,“Start
36、Up”,May not rank high Provides initialization used by other use cases Often “falls out”,Chapter 9 - System Sequence,System sequence diagram - for a particular scenario of a use case the events that external actors generate, their order Time proceeds downward Order of events follow use case,Construct
37、ion,Draw line representing system as black box Identify each actor, draw line From use case, identify external events that each actor generates - Illustrate on diagram Optionally include use case text System boundary must be clear Naming operations - begin with verb,Chapter 10 - Domain Model,Represe
38、ntation of “real-world” things Static structure diagram Contents Concepts Associations between concepts Attributes of concepts Tool of communication,Not Software Design,Following should not be in model No software artifacts - window/database No responsibilities or methods,Concept,Idea Thing Object M
39、ay be defined using Symbol - word representing a concept Intension - definition of a concept Extension - set of examples to which the concept applies,Approach,Decompose domain into concepts Strategy to identify concepts Guideline - better to over specify with many fine-grained concepts, than to unde
40、r specify it Do not exclude concept because requirements do not indicate any need to “remember” information or it has no attributes Use domain vocabulary,Concept Category List,Physical or tangible objects Specifications or descriptions of things Places Transactions Transaction line items Roles of pe
41、ople Containers of other things Things in a container,Concept Category List,Other computer or mechanical systems external to our system Organizations Events Processes Catalogs, manuals, books Records of finance, work, contracts, legal matters,Noun Phrase Identification,Noun and noun phrases in textu
42、al description of problem domain Some may be attributes,Construction of Domain Model,List candidate concepts using Concept Category List, Noun Phrase Identification Draw domain model add associations necessary to record relationships for which there is a need to preserve some memory Add the attribut
43、es necessary to fulfill information requirements,Example,Concept or Attribute?,If we do not think of some concept as a number or text in the real world, X is probably a concept, not an attribute,Specification,Description of item, distinct from item Use specification when: Deleting instances of thing
44、s results in a loss of information It reduces redundant or duplicate information,Chapter 11- Adding Associations,Association - relationship between concepts that indicates some meaningful and interacting connection,UML Association Notation,Guidelines,Focus on associations for which knowledge of the
45、relationship needs to be preserved for some duration It is more important to identify concepts than associations Too many associations tend to confuse domain model rather than illuminate it Avoid showing redundant or derivable associations,Common Association List,A is a physical part of B A is a log
46、ical part of B A is physically contained in B A is logically contained in B A is a description for B A is line item of a transaction/report in B A is known/logged/recorded/reported/ captured in B,Common Association List,A is a member of B A is an organizational subunit of B A uses or manages B A com
47、municates with B A is related to a transaction B A is next to B A is owned by B,High Priority,A is a physical or logical part of B A is physically or logically contained in B A is recorded in B Remove associations not required by requirements, could change with requirements,Association,Each end of an association is called a role Name Multiplicity expression Naming associations TypeName VerbPhrase Type
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)(法學(xué))知識(shí)產(chǎn)權(quán)法期末測(cè)試題及解析
- 2025年中職學(xué)前教育(幼兒教育學(xué))試題及答案
- 2025年中職機(jī)器人應(yīng)用技術(shù)基礎(chǔ)(機(jī)器人應(yīng)用技術(shù)案例)試題及答案
- 2025年高職國(guó)土資源調(diào)查與管理(資源調(diào)查技術(shù))試題及答案
- 2025年高職(道路橋梁工程技術(shù))路基路面施工階段測(cè)試題及答案
- 2025年大學(xué)護(hù)理學(xué)(精神科用藥護(hù)理)試題及答案
- 2025年中職(制冷和空調(diào)設(shè)備運(yùn)行與維修)制冷系統(tǒng)安裝階段測(cè)試題及答案
- 2026年綜合測(cè)試(流程管理能力)考題及答案
- 2025年高職(商務(wù)管理)商務(wù)活動(dòng)策劃綜合測(cè)試試題及答案
- 2025年中職制冷與空調(diào)技術(shù)(空調(diào)安裝維修)試題及答案
- 前置胎盤護(hù)理查房課件
- 肺癌中西醫(yī)結(jié)合診療指南
- 2024年居間服務(wù)合同:律師事務(wù)所合作與業(yè)務(wù)推廣
- 全球變暖課件高級(jí)
- 農(nóng)貿(mào)市場(chǎng)保潔服務(wù) 投標(biāo)方案(技術(shù)標(biāo) )
- 合作的合同書模板
- (正式版)FZ∕T 13061-2024 燈芯絨棉本色布
- 0.4kV配網(wǎng)不停電作業(yè)用工器具技術(shù)條件V11
- 滿腹經(jīng)綸相聲臺(tái)詞完整篇
- 2023年10月自考05678金融法試題及答案含評(píng)分標(biāo)準(zhǔn)
- 新蘇教版六年級(jí)科學(xué)上冊(cè)第一單元《物質(zhì)的變化》全部教案
評(píng)論
0/150
提交評(píng)論