Application architecturesObjectivesTopics coveredGeneric application architecturesUse of application architecturesApplication typesApplication type examplesData processing systemsInput-process-output modelInput-process-outputData-flow diagramsSalary payment DFDTransaction processing systemsTransaction processingATM system organisationTransaction processing middlewareTransaction managementInformation systems architectureInformation system structureLIBSYS architectureLIBSYS organisationResource allocation systemsResource allocation architectureLayered resource allocationLayered system implementationE-commerce system architectureEvent processing systemsEditing systemsEditing system componentsEditing system architectureLanguage processing systemsA language processing systemLanguage processing componentsData-flow model of a compilerRepository model of a compilerKey pointsSlide 37©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 1Application architectures©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 2ObjectivesTo explain the organisation of two fundamental models of business systems - batch processing and transaction processing systemsTo describe the abstract architecture of resource management systemsTo explain how generic editors are event processing systemsTo describe the structure of language processing systems©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 3Topics coveredData processing systemsTransaction processing systemsEvent processing systemsLanguage processing systems©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 4Generic application architecturesApplication systems are designed to meet an organisational need.As businesses have much in common, their application systems also tend to have a common architecture that reflects the application requirements.A generic architecture is configured and adapted to create a system that meets specific requirements.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 5Use of application architecturesAs a starting point for architectural design.As a design checklist.As a way of organising the work of the development team.As a means of assessing components for reuse.As a vocabulary for talking about application types.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 6Application typesData processing applications•Data driven applications that process data in batches without explicit user intervention during the processing.Transaction processing applications•Data-centred applications that process user requests and update information in a system database.Event processing systems•Applications where system actions depend on interpreting events from the system’s environment.Language processing systems•Applications where the users’ intentions are specified in a formal language that is processed and interpreted by the system.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 7Application type examplesData processing systems•Billing systems;•Payroll systems.Transaction processing systems•E-commerce systems;•Reservation systems.Event processing systems•Word processors;•Real-time systems.Language processing systems•Compilers;•Command interpreters.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 8Data processing systemsSystems that are data-centred where the databases used are usually orders of magnitude larger than the software itself.Data is input and output in batches•Input: A set of customer numbers and associated readings of an electricity meter;•Output: A corresponding set of bills, one for each customer number.Data processing systems usually have an input-process-output structure.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 9Input-process-output modelSystemInput Process OutputPrinterDatabase©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 10Input-process-outputThe input component reads data from a file or database, checks its validity and queues the valid data for processing.The process component takes a transaction from the queue (input), performs computations and creates a new record with the results of the computation.The output component reads these records, formats them accordingly and writes them to the database or sends them to a printer.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 11Data-flow diagramsShow how data is processed as it moves through a system.Transformations are represented as round-edged rectangles, data-flows as arrows between them and files/data stores as rectangles.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 12Salary payment DFDRead employeerecordRead monthlypay dataComputesalaryWrite taxtransactionsMonthly paydataTaxtablesTaxtransactionsPension dataValidateemployee dataWrite pensiondataWrite banktransactionWrite socialsecurity dataEmployeerecordsMonthly payratesBanktransactionsSocial securitydataPrint payslipPRINTERDecodedemployeerecordPay informationValidemployee recordTax deduction + SSnumber + tax offi cePensiondeduction +SS numberEmpoyee data+ deductionsNet payment + bankaccount info.Social securitydeduction + SS number©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 13Transaction processing systemsProcess user requests for information from a database or requests to update the database.From a user perspective a transaction is:•Any coherent sequence of operations that satisfies a goal;•For example - find the times of flights from London to Paris.Users make asynchronous requests for service which are then processed by a transaction manager.©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 14Transaction processingI/OprocessingApplicationlogicTransactionmanagerDatabase©Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 13 Slide 15ATM system organisationGet customeraccount idValidate cardInputQuery accountUpdate accountPrint detailsReturn cardDispense cashProcessOutputSelect
View Full Document