Modern Information Systems

download Modern Information Systems

of 57

description

Modern Information Systems lecture 2

Transcript of Modern Information Systems

Modern Information SystemsOOSE = SSSE + OOPL

OOSE presents OO methods across the entire SE process including analysis, design, implementation and testing

SSSE: Structured Software System Engineering

OOPL: Object Oriented Programming Language

Software Engineering is a Layered Technology

A Process FrameworkFramework Activitieswork taskswork productsmilestones & deliverablesQA checkpointsUmbrella ActivitiesFramework ActivitiesCommunicationPlanningModelingAnalysis of requirementDesignConstructionCode GenerationTestingDeploymentWork ProductsModels (Analysis Model, Design)Documents (specifications)DataReports (outputs)FormsUmbrella ActivitiesSoftware Project Management Formal Technical ReviewsSoftware Quality AssuranceSoftware Configuration ManagementWork Product Preparation & ProductionReusability ManagementMeasurementMethodIt includes communication, requirement analysis, design modeling, program construction, testing and supportToolsComputer Aided Software Engineering ToolsThe primary goal of any software processHigh QualityHigh Quality = Project TimelinessLess ReworkQuality depends onExplicit characteristics & functionalityImplicit characteristics & functionality

They both should be satisfied for good quality software Modeling: why?To realize the actual thing

Modeling: what?Input: Conceptual IdeasOutput: End goals

Modeling: how?Modeling toolsMicroscopic views and Iterative refinementsDocumentation (Specification, User manual)

ModelingUser InterfaceProduct Implementation ModelsDeployment Model (DB Server, Network Architecture, etc)Man Month (Project Management)Financial ModelThe Software development process

Product ModelsStructure

Dynamic

Importance of ModelingModeling is a proven and well-accepted engineering technique.Examplesarchitectural models of housesmathematical models to analyse the effects of winds or earthquakes on buildingselectrical devices from microprocessors to telephone switching systemsIn fields of sociology, economics and business management.Importance of ModelingA model is a simplification of realityIt may be structural, emphasizing the organization of the system, or it may be behavioural, emphasizing the dynamics of the system.The fundamental reason for building a model is to understand the system we are developing in a better way.Objectives of modeling are:Models help us to visualize a system as it is or as we want it to be.Models permit us to specify the structure or behaviour of a system.Models give us a template that guides us in constructing a system.Models document the decisions we have made.Normally, we build models of complex systems because we cannot comprehend such a system in its entirety. There are limits to the human ability to understand complexity.Through modeling, we narrow the problem we are studying by focusing on only one aspect at a time.Principles of Modeling1. The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped.If we are building a model for a database developer, entity-relationship models will be used.In case of structured analyst, the models that are algorithmic-centric, with data flowing from process to process.In case of object-oriented developer, system whose architecture is full of classes and the patterns of interaction that direct how those classes work together.Each world view leads to a different kind of system with different costs and benefitsPrinciples of Modeling2. Every model may be expressed at different levels of precision.The best kinds of models are those which allow us to choose our degree of detail, depending on who is viewing and why they need to view it.Stakeholders will want to visualize a system at different levels of detail at different timesPrinciples of Modeling3. The best models are connected to reality.In object-oriented systems, it is possible to connect all the nearly independent views of a system into a semantic whole.Principles of Modeling4. No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models.It means having models that can be built and studied separately but that are still interrelated.Structural ModelingClass diagramsObject diagramsDeployment diagramsComponent Package DiagramsDynamic ModelingWhat aspects to model?

How does the group collaborate?Interaction Diagrams

How does the individual respond?SSSE & OOSE & Web EngineeringDifferent Life Cycle ModelsAnalysis & Design ModelsProject Management ModelsTesting ModelsProgramming LansuagesStructured versus Object Oriented ParadigmAccount balanceDepositDetermine balanceWithdraw(a) Structured

Account Structured versus Object Oriented ParadigmAccount BalanceWithdrawDetermine BalanceDepositMessage(b) Object Oriented ParadigmStructured ParadigmRequirements PhaseSpecification PhaseDesign PhaseImplementation PhaseIntegration PhaseMaintenance PhaseRetirementObject Oriented ParadigmRequirement PhaseObject Oriented Analysis PhaseObject Oriented Design PhaseObject Oriented Programming PhaseIntegration PhaseMaintenance PhaseRetirement

Structured ParadigmSpecification (Analysis) PhaseDetermine what product is to be doneDesign PhaseArchitectural Design (construct the modules)Detailed DesignImplementation PhaseImplement in appropriate programming languageObject Oriented ParadigmObject Oriented Analysis PhaseDetermine what product is to be doneExtract the objectsObject Oriented Design PhaseDetailed DesignObject Oriented Programming PhaseImplement in appropriate programming languageSoftware Life-Cycle ModelsLife-cycle model (formerly, process model)The steps through which the product progressesRequirements phaseSpecification phaseDesign phaseImplementation phaseIntegration phaseMaintenance phaseRetirementBuild and Fix ModelProblemsNo specificationsNo designTotally unsatisfactoryNeed life-cycle modelGame plan PhasesMilestones

Waterfall ModelCharacterized byFeedback loopsDocumentation-drivenAdvantages DocumentationMaintenance easier DisadvantagesSpecifications

Incremental ModelIt combines the elements of waterfall model applied in iterative way

Incremental Model (cont)Waterfall, rapid prototyping modelsOperational quality complete product at endIncremental modelOperational quality portion of product within weeksLess traumaticSmaller capital outlay, rapid return on investmentNeed open architecturemaintenance implicationsVariations used in object-oriented life cycleIncremental Model (cont)ProblemsBuild-and-fix dangerContradiction in termsMore risky versionpieces may not fit

Synchronize-and Stabilize ModelMicrosofts life-cycle modelRequirements analysisinterview potential customersDraw up specificationsDivide project into 3 or 4 buildsEach build is carried out by small teams working in parallelAt the end of the daysynchronize (test and debug)At the end of the buildstabilize (freeze build)Components always work togetherGet early insights into operation of productSpiral ModelSimplified formWaterfall model plus risk analysisPrecede each phase byAlternativesRisk analysisFollow each phase byEvaluationPlanning of next phase

Simplified Spiral ModelIf risks cannot be resolved, project is immediately terminated

Full Spiral ModelRadial dimension: cumulative cost to dateAngular dimension: progress through the spiral

Analysis of Spiral ModelStrengthsEasy to judge how much to testNo distinction between development, maintenance

WeaknessesFor large-scale software only For internal (in-house) software onlyObject-Oriented Life-Cycle ModelsNeed for iteration within and between phasesRecursive/parallel life cycleUnified software development processAll incorporate some form ofIterationParallelismIncremental developmentOO Process Model

Structured System Analysis and Design[A] Requirement Analysis1. Basic RequirementsFundamental details of the system and information flowIdentify Data used and Information producedDetermine Process Timing & Volume of Data to be handledIdentify Controls: Error handling & performance standards.2. User Transaction RequirementWhat initiates the transaction?What are the schedules and serialization process?Generated data & stored data.3. User Decision RequirementInformation used to make the decisionSource of information Transactions or data outside the systemProcessing of Data to produce required output.4. Organization Wide RequirementSatisfy the customerCost Benefit AnalysisManufacture Product[B] Fact Finding TechniquesInterviewsQuestionnairesRecord ReviewObservation[C] Analysis ToolsEER DiagramDataflow DiagramData DictionaryProcess ChartCase Tools[D] System DesignInput & Output designDesign of data structures and their interactionDesign of procedure and their interactionGraphical User Interface DesignHow to integrate Structured Analysis with OO AnalysisCan additional OO Design aspects be imported into the real time structured analysis & design model?YesMust anything be removed from the real time structured analysis & design model to ensure its OO character?NoRequirement AnalysisNo need to forget SSA Requirement Specification for OO RequirementStructured System Analysis to Design

Structured System Analysis to DesignAnalysisEER Diagram identifies names & associated data in term of abstract data types as well as an aspect of the inheritance structure.In functional modelling, the names & contents of flow & stores on the schema are derived from ER diagramDesignTransferring the data flow diagram into a structural chart, which is a representation of a hierarchy module.Concept of EER Model used in OO ModuleEntityRegular and weak entityAttributesSingle valued attributesDerived AttributesComposite AttributesAttributes with null valuesMulti-valued attributesNull Valued AttributesValue is not knownNot ApplicableEER Diagram & OO ConceptsSubclass & SuperclassSpecialization & GeneralizationCategory & attributeAggregation & AssociationOO Analysis & Design [A] OO DevelopmentAbstractionEncapsulationInheritancePolymorphismOO Analysis & Design [B] Analysis & DesignThey are similar but some distinction due to OO approachObject ModellingDynamic ModellingFunctional ModellingOO Analysis & Design [D] Project ManagementManaging an OO development as concerned with the same major activities as managing conventional project management but OO has high impact on it.Software TestingTesting is a process of exercising a program with the specific intend of finding errors prior to delivery to the end userWhat testing shows:ErrorsRequirement conformancePerformanceAn indication of quality