Software Reuse SEII - Lecture 29
COTS product reuse
Benefits of COTS product reuse
Problems with COTS product reuse
COTS-solution systems
ERP systems
Architecture of ERP systems
Limitations of reuse
Configuration of COTS-solution systems
COTS-integrated systems
Problems with COTS-integrated systems
19 trang |
Chia sẻ: dntpro1256 | Lượt xem: 660 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Software Reuse SEII - Lecture 29, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Software ReuseSEII-Lecture 29Dr. Muzafar KhanAssistant ProfessorDepartment of Computer ScienceCIIT, Islamabad.RecapProblems with reuseIncreased maintenance costs; lack of tool support; not-invented-here syndrome; creating, maintaining, and using a component libraryThe reuse landscapeApplication frameworks, legacy system wrapping, service-oriented systems, software product lines, COTS product reuseKey factors for reuseDevelopment schedule, expected software lifetime, background, skills, and experience of development team, criticality of software and its non-functional requirements, application domain, system platformApplication frameworksSoftware Product lines2COTS Product ReuseCommercial-Off-The-Shelf productto fulfill the needs of different customers without changing the source codeDesktop applications and server productsgeneral use, many features and functionsOpen source productsBuilt-in configuration mechanisms to tailor functionality3Benefits of COTS Product ReuseRapid deployment of a reliable systemEasier to decide for reuse as functionality is already knownOrganizations may have previous experienceSome development risks are avoidedBusiness can focus on the core activityVendor is the responsible for updates4Problems with COTS Product ReuseRequirements have to be adapted to reflect the functionality of COTS productCOTS product may have some assumptions that are practically impossible to changeChoosing the right COTS product is difficult taskLack of local expertise to support systems developmentVendor may go out of business5COTS ProductsDespite of problems, its use is increasedCOTS is preferred over object-oriented approachStudies show that COTS-based reuse reduces effort and the time to deploy the systemTwo types of COTS product reuseCOTS-solution systemsCOTS-integrated systems6COTS-Solution SystemsGeneric application systemsExample 1: management system for dentistHandles appointments, dental records, patient recallExample 2: ERP systemManufacturing, ordering, and customer relationship management activitiesDomain-specific COTS-solution systemsAssumptions about how users workExample: student registration at university7ERP SystemsERP systems are used in large organizations, widely used form of software reuseERP system by SAPOrdering and invoicing, inventory management, and manufacturing schedulingGathering detailed information about customer’s business and business processesERP system is configured based on that informationConfiguration is done by consultants8Architecture of ERP SystemNumber of modulesMay be composed in different waysConfiguration processBusiness processesA defined set of processes associated with each moduleRoles and activities are definedCommon databaseMaintains information about all related business functionsNo replicationBusiness rulesConsistent rules for all data in the database9Example – Architecture of ERP System10Figure source: Software Engineering, I. Sommerville, 9th ed., p. 443Limitations of ERP System Reusefunctionality is restricted to the generic coreOrganization’s processes have to be expressed in the system configuration languageMismatch between business concepts and concepts supported by the configuration languageExample: ERP for university, need for the definition of customer in this contextIt cause problems in configuring the system11Configuration of COTS-Solution Systems [1/2]Selection of required functionality from the systemEstablish a data model for the organizationDefine business rules to apply on the dataDefine the expected interactions with external systemsDefine the input forms and output reportsDesign new business processes to conform the systemSetting parameters to deploy the system on its underlying platform12Configuration of COTS-Solution Systems [2/2]After the configuration settings, testing is startedTesting is a major problemSystems are built using reliable platformsProblems are often related to the interaction between the operational processes and the system configurationOften detectable by end-users onlyNo automated testing13COTS-Integrated SystemsTwo or more COTS productsWhen no single system fulfills all the needsSometimes integration with the existing systemInteraction through APIsOtherwise, output of one system as an input to other system or updating the databaseDesign choicesWhich COTS products offer the most appropriate functionality?How will data be exchanged?What features of a product will actually be used?14Example – COTS-Integrated Procurement System15Figure source: Software Engineering, I. Sommerville, 9th ed., p. 446Problems with COTS-Integrated Systems [1/3]Lack of control over functionality and performanceHidden operations may interfere in some situationsFixing problems is the concern of product integrator rather than vendorProblems with COTS system interoperabilityEvery product has its own assumptionsA study conducted to integrate four productsEach product assumed the exclusive access to the event queueConsequently, project effort was five times more that originally predictedProject took two years whereas the predicted time was six monthsAfter ten years, the researchers found that the discovered integration problems could not fixed in the whole duration16Problems with COTS-Integrated Systems [2/3]No control over system evolutionVendors have their own decisions in response to market pressuresNew versions are frequently produced and may not be compatible with all previous versionsNew versions may have new unwanted functionalityNo support for previous versionsSupport from COTS vendorsLevel of support varies widelyDevelopers have no access to the source code and detailed documentationChanging market and economic circumstances may affect it17Problems with COTS-Integrated Systems [3/3]The cost of system maintenance and evolution may be greater for such productsLife-cycle problemsIf people involved in the system maintenance left the organizationReal difficulties with COTS-integrated systems18SummaryCOTS product reuseBenefits of COTS product reuseProblems with COTS product reuseCOTS-solution systemsERP systemsArchitecture of ERP systemsLimitations of reuseConfiguration of COTS-solution systemsCOTS-integrated systemsProblems with COTS-integrated systems19
Các file đính kèm theo tài liệu này:
- lecture_29_csc392_dr_muzafar_khan_1164_2027039.pptx