版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Computer Science 3061/15/03Bill BondClass 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 custome
2、r 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 programsThe Problem Building comp
3、uter solution is hard Understand problem Design solution Implement solution Complexity is the problem Lots to do Lots to keep track ofSoftware Engineering Managing complexity by imposing discipline Abstraction - focus only on essential details, ignore others (for now) Decomposition - break into mana
4、geable pieces Analysis/Design methods and Tools support these ideasLarge Projects Require Teams Key elements Communication - has cost Artifacts - support communicationArtifacts Which should be produced? “Discovery” value Which should be maintained? Maintenance value Recognize cost of producing artif
5、actsSoftware 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 machinesResult Comprehensive methods “how to” Process context in which technical methods applied, deliverables prod
6、uced Better tools More powerful building blocks Better quality assurance CommunicationThree Generic Phases Definition phase What Information to be processed Function/Performance desired System Engineering Software Project Planning Requirements AnalysisThree Generic Phases, cont Development phase how
7、 Software architecture Implementation TestingThree Generic Phases, cont Maintenance phase change Correction defect correction Adaptation supports new environment Enhancement Prevention changes to allow correction, adaptation, enhancementCourse Description All aspects of software engineering Project
8、management Requirements Analysis Design Implementation Testing MoreIntroduction to Object-OrientedAnalysis and DesignBill Bond10/16/02Schedule 10/16 - Background 10/23 - Exam 10/30 - Analyze - Use Cases, Domain Model 11/6 - Design - Collaboration / Design diagrams 11/13 - Construct - Code 11/20 - Co
9、mplete, Begin examples 11/27 - No class 12/4 - Examples 12/11 - Project due, UML Odds and Ends 12/18 - Final ExamChapter 1 - Goals Describe Process Repeatable, predictable results Requirements development Use Cases Conceptual Model Design Model Sequence Diagrams Produce codeGoals Learn basic set of
10、UML Unified Modeling Language Capture Analysis/Design Communicate with other developers Apply “good” design principles Patterns (good design solutions) Work examplesPart of Engineering Process Estimating Planning/Scheduling Configuration Management Change Control Peer Reviews TestingUnified Modeling
11、 Language Industry standard Rational proposal Booch - Booch diagrams Model diagrams Rumbaugh - Object Modeling Technique Model diagrams Jacobson - Objectory ProcessUnified Modeling Language Set of Diagrams Different views of a system Concentrate on a subset Use cases Sequence / Collaboration diagram
12、s Dynamic (Execution) view Conceptual / Design model Static view - can produce codeSequence DiagramCollaboration DiagramanX : ClassXp1 : Person1 : message1(anX)2 color=red : message2()firstMessage()id-4 : ClasslistOfTofu : Tofu3 * : w := getWeight(): Weightdomain:ClassXmyRunner : Runnable.11More Cla
13、ss Diagram Notationparameterizedclass (template)iteration across allelements of a collectioninterfaceRunnablerun()home package of classmap.get( KEY_TYPE ) : VAL_TYPEput( KEY_TYPE, VAL_TYPE )KEY_TYPE,VAL_TYPEmapnavigabilitythreadClassYmyThread : Thread.run().active class active psa : LocalProductsext
14、ernalService :DBProductsAdapterinitialize()run()psa := getProductsAdapter()create()create( externalService )A: products :=getProductUpdates()* forever/ activation is on its own thread loop forever: -sleep N minutes -ask for product updates active object that implementsseveral interfacesIn Java (as a
15、nexample), run to aRunnable may beconsidered anasynchronousmessage. These areillustrated with astick arrowhead.When methods run on a different thread, thesequence expression can start with a name orletter indicating the thread. All messages runningon the LocalProducts thread will start with A,for ex
16、ample.pc:ProductCatalogsingleton:ServicesFactoryvisibility viaSingleton designpattern*: SystementerItem(id, quantity).Process Sale1. Customerarrives .2. Cashiermakes newsale.3. .Use CasesSystem Sequence DiagramsmakeNewSale()SaletimeStampRegister.11ProductCatalog. . .domain conceptssystemeventsDomain
17、 ModelUse-Case ModelDesign Model: RegisterenterItem(id, quantity): ProductCatalogspec := getSpecification( id )addLineItem( spec, quantity ): Sale. . .use-caserealization withinteractiondiagramsconceptualclasses inthedomaininspire thenames ofsomesoftwareclasses inthe designmakeNewSale()create()Regis
18、ter.makeNewSale()enterItem(.).ProductCatalog.getSpecification(.) : ProductSpecification.the designclassesdiscoveredwhile designingUCRs can besummarized inclass diagramsCashierProcessSaleUse Case Diagrams: Cashier11. . . . .Captured-onInterfaceXUse Case DiagramMethodsNotSpecifiedbar : int.AbstractCla
19、ssX.interfaceInterfaceXoperation1()Class DiagramClassAClassBAssociation-name role-1role-211zero ormore;manyone ormoreone tofortyexactlyfiveClassClassClassClass*1.*1.405WholePart1*AssociationClassCompositionMultiplicity:Associations:Sample UML NotationNote: A UML class maybe used to model either doma
20、inconcepts or software classes.NextGen POSincludeactorCreditAuthorizationServiceHandle CreditPaymentProcess SaleExtension Points:PaymentVIP CustomerextendPayment, if Customerpresents a gift certificateHandle Gift CertificatePaymentCashierClassXclassAttribute+ publicAttribute- privateAttributeattribu
21、teWithVisibilityUnspecifiedattribute1 : typeburgers : List of VeggieBurgerattribute2 : type = initial valuefinalConstantAttribute : int = 5 frozen /derivedAttributeclassMethod()+ constructor ClassX(int)signal CaughtException1()methodWithVisibilityUnspecified()methodReturnsSomething() : FooabstractMe
22、thod()abstractMethod2() abstract / alternate+ publicMethod()- privateMethod()# protectedMethod() packageVisibleMethod()finalMethod() leaf methodWithoutSideEffects() query synchronizedMethod() guarded method1WithParms(in parm1:String, inout parm2:int)method2WithParms(parm1:String, parm2:float)method3
23、WithParms(parm1, parm2)method4WithParms(String, int)methodWithParmsAndReturn(parm1: String) : FoomethodWithParmsButUnspecified(.) : FoomethodWithParmsAndReturnBothUnspecified()exceptionsThrownException1AttributesNotSpecifiedfoo().NoAttributesfoo()AttributesButNotSpecified.foo()AlternateUMLForAbstrac
24、tClassabstract.ClassYoperation1().generalizationinterfaceimplementationAlternateUMLForImplOfInterfaceXoperation1()FinalClassleaf.Unified Modeling Language Does not define an approach But we will - Unified ProcessGlossarySoftwareArchitecture Doc.DomainModelRequirementsProjectManagementBusinessModelin
25、gDesignSample UP ArtifactsPartial artifacts,refined in eachiteration.TestTestPlanSoftwareDev. Plan. . .Use-Case Modeltextusecases:Systemfoo( x )systemoperationcontractssystemsequencediagramssystemevents &datasystemoperationsdesign objectsto handle thesystem eventsparameter orreturn data may beel
26、aborated in theGlossaryDesign Modelbar( y )EnvironmentDevelopmentCaseArtifacts What artifacts should be produced? What artifacts should be peer reviewed? What artifacts should be maintained? Design evolves over timeArtifacts Represent cost Improved process repeatability Improved design / quality thr
27、ough self-discovery Improved design / quality through peer reviewWhat Does Customer Want? Reasonable cost Delivered on schedule Meets requirements High qualityAnalysis / Design Analysis (what) - Investigation of the problem domain, rather than how the solution is defined Design (how) - Logical solut
28、ion, how system fulfills the requirementsAnalysis / DesignAnalysisDesignWhatRequirementsInvestigation of DomainHowLogical solutionFunction-Oriented Approach Decomposition is primary strategy Construct a “control” hierarchyControlI/OProcessingOOA /OOD Consider problem domain /solution from the perspe
29、ctive of objects OOA - Find and describe domain (problem space) objects OOD - Define logical software objects that will be implemented in an Object-Oriented Programming LanguageApproach Assign responsibilities to components Important question (should be able to answer) - What is this component respo
30、nsible for? What does it do (exactly)? Find suitable objects / abstractions Domain (Conceptual) model - Representation - CodeIs An Object-Oriented Language Required? NoBusiness Example Textual narrative description of business processes External actors - cause business to process data Results produc
31、ed by interaction between people Expectations - what should be the outcome? Use caseBusiness Example People roles What “categories” of people participate in the domain Responsibilities Conceptual (domain) model Interactions How collaboration occurs to achieve overall goals Collaboration (sequence) d
32、iagramsChapter 2 - Macro Process Development Process - Organize software activities for creation, delivery, and maintenance Macro level Plan and Elaborate Build DeployPlan and Elaborate Plan - schedule, resources, budget Preliminary investigation report Requirements investigation Glossary Prototype
33、Use Cases - text Use Case Diagrams Draft Conceptual ModelUnified Process Book describes a simplified version of the Rational Unified Process A “typical” OOA / OOD processIterative Development Successive refinement through multiple cycles (adding more functions) of Analysis Design Implementation Test
34、 Waterfall - a single cycleIterative Development Each iteration produces an executable but incomplete system System may not be eligible for production deployment for many iterations Iteration output is not a “throw-away” prototype, it is a production-grade subset of the final systemBenefits Early ra
35、ther than late mitigation of high risks (technical, requirements, usability, etc.) Early visible progress Early user feedback Managed complexity Development feedback can be used to update the processWaterfallIn a waterfall lifecycle,high risk issues such asintegration and load testmay be tackled lat
36、e.TimePotentialimpact ofrisks beingtackledRequirementsAnalysisDesignImplementIntegrate &System TestIterationIn an iterative lifecycle,high-risk issues aretackled early, to drivedown the riskiest projectelements.TimePotentialimpact ofrisks beingtackledIterationIterations Time Boxing - Fixed time
37、iteration cycle Choose iteration requirements carefully Organized by Use Cases Each iteration implements a set of use casesAdvantagesEarly iterations are farther from the truepath of the system. Via feedback andadaptation, the system converges towardsthe most appropriate requirements anddesign.In la
38、te iterations, a significant change inrequirements is rare, but can occur. Suchlate changes may give an organization acompetitive business advantage.one iteration of design,implement, integrate, and testIterationsRequirementsDesignImplementation &Test & Integration& More DesignFinal Inte
39、gration& System TestRequirementsDesign4 weeks (for example)The system growsincrementally.Feedback fromiteration N leads torefinement andadaptation of therequirements anddesign in iterationN+1.Iterations are fixed inlength, or timeboxed.TimeImplementation &Test & Integration& More Des
40、ignFinal Integration& System TestWork ActivitiesIterationsSample Disciplines(Workflows)RequirementsDesignImplementationTestNote that although aniteration includes workin most disciplines, therelative effort andemphasis change overtime.A four-week iteration (for example).A mini-project that inclu
41、des work in mostdisciplines, ending in a stable executable.UP Best Practices Tackle high-risk, 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 ch
42、ange request and configuration managementChapter 4 - Inception Envision the product scope, vision, 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 c
43、apabilities and conditions to which the system must conformUP Requirements Manage requirements - 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 requirme
44、nts of a system“Challenged” ProjectsPoor user input13%Changing requirements12%Poor technical skills7%Poor staffing6%Other50%Incomplete requirements12%FURPS+ Functional - features, capabilities, security Usability - human factors, help, documentation Reliability - frequency of failure recoverability,
45、 predictability Performance - response times, throughput, accuracy, availability, resource usage Supportability - adaptability, maintainability, internationalization, configurabilityThe + Implementation - resource limitations, languages and tools, hardware Interface - constraints imposed by interfac
46、ing with external systems Operations - system management in its operational setting Packaging Legal - licensing and so forthRequirements Development Get it written down (shalls) Can be verified Get consensus with userNext Use Cases Domain ModelsObject-Oriented Analysis Use Cases, Domain ModelBill Bo
47、nd10/30/02Chapter 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 Human Another systemExample Use case: Buy Items Actors: Customer, Cashier Description: A customer arrives at
48、 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 Handled at end Mistake -identify individual steps as a use case Use case usually includes many stepsActor
49、External Entity Stimulates system Receives response Capitalize to identifyActor Initiator actor Participating actors Kinds of actors Roles that people play Computer systems Electrical or mechanical devicesIdentifying Use Cases Actor-based Identify actors related to a system For each actor, identify
50、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 casesUML NotationNextGenProcess Sale. . .CashierShow computer system actorswith an alternate notation tohuman actors.primary actors onthe leftsup
51、porting actorson the rightFor a use case contextdiagram, limit the use cases touser-goal level use cases.actorPaymentAuthorizationServiceTraceability Functions should all be allocated to Use Cases Via cross reference verify all functions have been allocatedNextGenManage Users. . .CashierSystemAdmini
52、stratoractoruse casecommunicationsystem boundaryHandle ReturnsPaymentAuthorizationServiceactorTax CalculatoractorAccountingSystemalternatenotation fora computersystem actorProcess RentalactorHR SystemCash InProcess SaleactorSales ActivitySystemManage SecurityAnalyze ActivitySystem Boundary Examples
53、Hardware/software boundary of device/computer system Defines systems responsibilities Depends on IntentExampleLog InRefundBuy ItemsRefundBuy ItemsPOSTStoreCashierCustomerCustomerUse Case RefinementRealVery concreteDesign detailsUser interfaceEssentialVery abstractWhich best supports testing?Naming S
54、tart with verb It is a processDecisions and Branching Main: If _, see section X If _, see section Y X: Y: Using Use Cases Define system boundary, actors, use cases Write use cases in high-level format Draw Use Case diagram Relate Use Cases For critical, influential, risky use cases, expand detail Ra
55、nk Use Cases for implementationChapter 7Chapter 8 - Scheduling Ranking and scheduling Use cases Assuming desired artifacts produced (requirements, use cases), transition to iterative developmentRanking Significant impact on architectural design Significant information and insight regarding design, w
56、ith little effort Risky, time-critical, complex Significant research Primary processes Directly support increased revenue / decreased cost“Start Up” May not rank high Provides initialization used by other use cases Often “falls out”Chapter 9 - System Sequence System sequence diagram - for a particul
57、ar scenario of a use case the events that external actors generate, their order Time proceeds downward Order of events follow use caseenterItem(itemID, quantity):System: CashierendSale()makePayment(amount)box may enlose aniteration areathe * . is an iterationmarker and clauseindicating the box is fo
58、riterationexternal actor tosystemProcess Sale Scenariosystem as black boxthe name could be NextGenPOS but System keeps it simplethe : and underline imply an instance, and are explained in alater chapter on sequence diagram notation in the UMLa message withparametersit is an abstractionrepresenting t
59、hesystem event ofentering thepayment data bysome mechanismdescription, totalreturn value(s)associated with theprevious messagean abstraction thatignores presentationand mediumthe return line isoptional if nothing isreturnedtotal with taxeschange due, receipt* more itemsmakeNewSale()Construction Draw
60、 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 verbenterItem(itemID, quantity): CashierendSale()makePayment(amount)system boundar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版班班通设备与物联网结合合同2篇
- 二零二五年绿色生态住宅小区消防工程设计与施工合同3篇
- 二零二五版股份制企业股份自愿转让与投资者关系维护合同3篇
- 二零二五年度监理合同延期补充协议-责任划分与风险承担3篇
- 二零二五版中央空调清洗保养及能耗管理服务合同3篇
- 二零二五年度国有资产管理委托服务合同2篇
- 二零二五版股票质押担保合同范本编制与解析3篇
- 二零二五年度风力发电项目融资合同2篇
- 二零二五年美发师国际交流聘用合同2篇
- 二零二五年度酒店地毯翻新与维护服务合同范本3篇
- 五年级上册小数乘除竖式计算题200道及答案
- 2024年东南亚工业气瓶市场深度研究及预测报告
- 棉花良种选育与遗传育种
- 简易劳务承包合同范本
- SH/T 3078-2024 立式圆筒形料仓工程设计规范(正式版)
- 快递驿站承包协议书
- 基于视觉果蔬识别的称重系统设计
- 体育初中学生学情分析总结报告
- 部编版语文中考必背文言文7-9年级
- 农药合成研发项目流程
- 国家职业技术技能标准 4-04-04-02 网络与信息安全管理员(数据安全管理员)S 2024年版
评论
0/150
提交评论