760 likes | 773 Views
Software development plays a crucial role in business success. Learn about the Systems Development Life Cycle (SDLC), phases like planning, analysis, design, and maintenance, and methodologies such as Waterfall and Agile. Understand the importance of developing software that meets employee needs for enhanced productivity, decision-making, and business transformation. Discover key principles like maintainability, flexibility, and testability to ensure your software is efficient, reliable, and secure. Evaluate software through aspects of correctness, efficiency, and usability and consider factors like portability, reusability, and interoperability for successful product transition and operations. Explore development principles according to RUP and CMM models for quality-driven and iterative approaches.
E N D
Systemutveckling Chapter eleven overview • SECTION 11.1 – DEVELOPING ENTERPRISE APPLICATIONS • Developing Software • The Systems Development Life Cycle • Software Development Methodologies • Developing Successful Software • SECTION 11.2 – THE SYSTEMS DEVELOPMENT LIFE CYCLE (SDLC) • Systems Development Life Cycle • Phase 1: Planning • Phase 2: Analysis • Phase 3: Design • Phase 4: Development • Phase 5: Testing • Phase 6: Implementation • Phase 7: Maintenance • Software Problems are Business Problems
11.1. DEVLOPING ENTERPRISE APPLICATIONS • Software that is built correctly can transform as the organization and its business transforms • Software that effectively meets employee needs will help an organization become more productive and enhance decision making • Software that does not meet employee needs may have a damaging effect on productivity and can even cause a business to fail
Vad är en IS-utvecklare? Ingenjör, konstruktör, tekniker? eller Designer, kreatör, konstnär Citat Programmining is fun Developing quality software on a business basis is hard
Kvalitet i system PRODUCT REVISION - MaintainabilityCan I fix it ? - FlexibilityCan I change it ? - TestabilityCan I test it ? PRODUCT TRANSITION - PortabilityWill I be able to use it on another machine ? - ReusabilityWill I be able to reuse some of the software ? - InteroperabilityWill I be able to interface it with another system ? PRODUCT OPERATIONS - CorrectnessDoes it do what I want ?Vanligast - ReliabilityDoes it do it accurately all of the time ? - EfficiencyWill it run on my hardware as well as it can ? - IntegrityIs it secure ? - UsabilityIs it well designed for the user ? + Does it do the right thing ? + Is it economically relevant ?
Systemdiagnos ur användarens perspektiv • Verksamhetsstöd. Frågor som rör informationens aktualitet, riktighet och fullständighet och om systemfunktionerna passar verksamheten. Ex ”Är info från systemet så fullständig att den kan användas direkt ?” • Funktionalitet. Frågor om hur lätt det är att använda systemet, svarstider etc. Ex ”Erhålls info vid rätt tidpunkt ?” • Kunskap och support. Frågor som rör dokumentation och utbildning. Ex ”Tycker Du att systemets bruksanvisning är lätt att förstå?”. Går det att få hjälp ? • Systemförvaltningsorganisation. Frågor som rör ansvar och befogenheter i samband med systemets drift. Ex ”Sker uppföljning av onormala händelser i systemet ?”. ”Korrigeras fel inom rimlig tid?” • Tillgänglighet. Är systemet alltid tillgängligt då jag har behov av det? • Säkerhet och skydd Är data tillräckligt säkrade och skyddade?
Utvecklingsprinciper enligt RUP Kravdriven Arkitektur-fokuserad Risk-fokuserad Komponentinriktad Iterativ Kvalitet i fokus Hantera ändringar
CMM - Kvalitet i utvecklingsprocessen Level 1- INITIAL Processes are ad hoc and sometimes chaotic. Because few processes are defined, successful projects often depend on heroic individual effort. Level 2- REPEATABLE Basic project management processes are used to track cost, schedule, and functionality. The discipline exists to repeat previous success with similar projects. Level 3- DEFINED Both management and technical processes are documented and integrated into a standard software process for the organization. Projects use an approved, tailored version of the standard software processes. Level 4- MANAGED Detailed measures of the software process and product quality are collected and that information is used to understand both the product and the process in quantitative terms. Level 5- OPTIMIZING Continuous process improvement is facilitated by quantitative feedback from the process and by doing pilot studies of innovative ideas and technologies.
The systems development life cycle (sdlc) • Planning phase – project goals -förstudie • Analysis phase – Business requirements – Krav/Requirements • Design phase – involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation • Development phase – involves taking all of the detailed design documents from the design phase and transforming them into the actual system • Testing phase • Implementation phase – involves placing the system into production so users can begin to perform actual business operations with the system • Maintenance phase – involves performing changes, corrections, additions, and upgrades to ensure the system continues to meet the business goals
Software development methodologies • There are a number of different software development methodologies including: • Waterfall • Rapid application development (RAD) • Extreme programming • Agile
Utvecklingsprinciper, en annan indelning TOTAL/-HELHETS-ANSATS (Bokens Waterfall method) Helheten specificeras, konstrueras och implementeras ITERATIV PRINCIP Tillverka i olika utgåvor:1.0, 1.1, ………… Skillnaden mellan två utgåvor kan vara att man fördjupat komplexiteten, ex bilder med animation. Skälet till att arbeta iterativt kan vara att utvecklingsteamet är inte moget för en totalansats eller att man vill pröva och lära ny sig teknik INKREMENTELL PRINCIP Tillverka i olika utgåvor:1.0, 1.1, ………… Ett inkrement är att man lagt till en funktion, ex en statistikfunktion. Skälet är att man vill införa en produkt etappvis av ekonomiska eller av andra skäl
Rapid Application Development Methodology (RAD) Rapid application development methodology (RAD) – emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process The prototype is an essential part of the analysis phase when using a RAD methodology Prototype – a smaller-scale representation or working model of the users’ requirements or a proposed design for an information system
XP – Extreme Programming. Lättrörlig utveckling(Agile) Project board Krav Test fall Komponenter som skall skapas TIMEBOXED DAGLIG Test-process Team Användare Programmerare Par Bygg-process Ger kontinuerligt användbara resultat: Tillfredställelse och trovärdighet
Processen för att köpa system • Behovsanalys • Förutsättningsanalys • Marknadsundersökning • Leverantörsbedömning • Offertbegäran • Jämförelse • Urval • Demonstration • Behovskomplettering • Utvärdering • Primärval • Testkörning • Förhandling • Beslut • Delgivning • Källa ’Att välja Standardsystem.’ Anveskog m.fl.
Att köpa system – fördelar & nackdelar • Möjliga Fördelar • Utprövat - fungerar • Snabbare installation • Billigare utveckling och underhåll • Säkrare kalkyl • Erfarenhet inbyggd i systemet • Samordnad verksamhet • Leverantören utvecklar och anpassar till nya plattformar etc. • Möjliga Nackdelar • Förhastade beslut • Underskattning av anpassningsbehov • Överanpassning • Täcker endast en del av kravområdet • Leverantörsberoende
Också systemutveckling: End user development • Exempel • Access + SQL • Definiera formulär och databastabeller • Front Page • Konstruktion av webbsidor • Excel • Skapa ”ekonomisystem” • Fler ?
Verifiera och validera Problem Önskemål Beställning Kravspec System Validera (Genomgångar & användning) Verifiera (Tester)
11.2. THE SYSTEMS DEVELOPMENT LIFE CYCLE SDLC • Large, complex IT systems take teams of architects, analysts, developers, testers, and users many years to create • The systems development life cycle is the foundation for many systems development methodologies such as RAD and agile • Systems development life cycle – the overall process for developing information systems from planning and analysis through implementation and maintenance
PHASE 1: PLANNING • Planning phase – involves establishing a high-level plan of the intended project and determining project goals • Primary planning activities include • Identify and select the system for development (Se nästa bild) • Assess project feasibility • Develop the project plan
Förändringsanalys • Nulägesanalys • Kartlägg verksamheten, dess ärendeflöden och dess processer. • Kartlägg funktioner i nuvarande system. • Förändringsanalys • Lista problem, orsaker och konsekvenser • Gör en målmodell och definiera CRF (Critical Success Factors) • Analysera möjligheter/ åtgärder och effekter. Helst ekonomiskt kvantifierade • Prioritera möjligheter/ åtgärder • Välj strategi/ åtgärder och avgränsa systemområdet • Beskriv önskat läge • Funktioner i nytt system. Översiktligt/ grovt beskrivna. • Nya ärendeflöden och verksamhetsprocesser.
Assess Project Feasibility • Feasibility study – determines if the proposed solution is feasible and achievable from a financial, technical, and organizational standpoint • Different types of feasibility studies • Economic feasibility study • Operational feasibility study • Technical feasibility study • Schedule feasibility study • Legal and contractual feasibility study • Riskanalys • Stora system innebär risk • Okänt område innebär risk
Develop the Project Plan • Developing the project plan is a difficult and important activity • The project plan is the guiding force behind on-time delivery of a complete and successful system • Continuous updating of the project plan must be performed during every subsequent phase during the SDLC
PHASE 2: ANALYSIS • Analysis phase – involves analyzing end-user business requirements and refining project goals into defined functions and operations of the intended system • Primary analysis activities include: • Gather business requirements • Create process diagrams • Perform a buy vs. build analysis
Gather Business Requirements • Business requirements – the detailed set of business requests that the system must meet in order to be successful • Different ways to gather business requirements • Joint application development (JAD) session – where employees meet to define or review the business requirements for the system • Interviews • Questionnaires • Observations • Review business documents
Gather Business Requirements • The system users review the requirements definition document and determine if they will sign-off on the business requirements • Requirements definition document – contains the final set of business requirements, prioritized in order of business importance • Sign-off – the system users’ actual signatures indicating they approve all of the business requirements
Avvägning och balans krävs Datornsstyrka Alltidtillgänglig Kanöverblickastoradatamängder Arbetarsnabbt Utföraarbetepåettsystematisktochlikartatsätt Kommerihåg Människansstyrka Fantasi Görabedömningar Upptäckaonormalahändelser Förståelse Förmågaattbedömaochsehelheten Hanteraavvikelser Mänskligabehov Användakunskaper Meningsfullhet Självständighet Socialakontakter Balansjobb-fritid BALANS Företagets krav Lönsamhet Flexibilitet Utveckling Samarbete med andra Kundrelationer produktutveckling
Två typer av design • Användarcentrerad • Utgå från arbetssituationen • Datorisera för att stödja och underlätta • Teknikcentrerad • Utgå från arbetsuppgiften och datorns möjligheter • Användaren följer systemet och kompletterar datorn • Exempel • AC: Programmen klarar fler steg i arbetsflödet sammanhängande • TC: Användaren får skifta program mellan olika moment i arbetet • AC: Användaren kan registrera en del av ett ärende och sedan göra tillfälligt uppehåll • TC: Databasens kontroller kräver att alla registreringar måste vara kompletta
Olika grader av Datorstyrning • Datorstött arbete. Människan avgör. Ex. En ekonom använder Excel • Datorlett arbete. Systemet ger vägledning. Ex. En resebyråtjänsteman bokar en resa via ett system • Datorstyrt arbete. Systemet styr och beordrar. Ex. I ett automatiskt lager hämtas varor fram automatiskt och en lampa lyser på det som skall plockas • Datoriserat arbete. Systemet har tagit över. Ex. Robotisering • Tre grundläggande situationer • Helt manuellt arbete • Samarbete mellan människa och dator. VANLIGAST OCH SVÅRAST • Helt automatiserat arbete
Användarvänlighet • Exempel på intressanta egenskaper för ett system • Enkelt att lära, intuitivt • Lättförståeligt och logiskt uppbyggt • Följer samma standard som övriga system i företaget • Tilltalande layout • Kunna navigera via menyer och kunna använda genvägar • Tollerant för felstavningar etc • Få avbrott • Snabbt • Möjligheter att korrigera misstag • Möjlighet att få förklaringar och hjälp • Möjlighet att göra uppehåll i arbetet
Olika grader av användarengagemang i utvecklingsprocessen Bild ur: Alter, Information Systems
Create Process Diagrams • Process modeling – graphically representing the processes that capture, manipulate, store, and distribute information between a system and its environment • Common process modeling diagrams include • Data flow diagram (DFD) – illustrates the movement of information between external entities and the processes and data stores within the system • Computer-aided software engineering (CASE) tools –automate systems analysis, design, and development
Create Data Flow Diagrams Användare Funktion i systemet Dataflöde/transaktion Datalagring/DataBas Bild ur: Alter, Information Systems
DFD kan förstoras Context-nivå Ur INFORMATION SYSTEMS, PrenHall - Alter
DFD - Förstoring Ur INFORMATION SYSTEMS, PrenHall - Alter
Butiksägare Kund Leverantör Funktioner i systemet - Användningsfall (Use-case) 5 val av läsk + ångerknapp. Automaten returnerar växel. Use Case • System events • Stoppa i pengar • Ångra • Val av läsk • System operations • Mata ut läsk • Returnera pengar Actor Systemet Köpa läsk Fylla på läsk Tömma pengar Av/på Service Kontrakt En Actor kan förutom människa vara ett annat system eller en maskin
System adm Order behandlare Lager personal Funktioner i systemet - Användningsfall (Use-case), forts. Use Case • System events • Reg kund • Reg varor • Tryck klar Actor Systemet Beställa vara Fakturera Reg lagerplock Uppdatera databas Kopiera databas
Sale Beskrivning av IS-funktioner – Use-Case/ Anv.fall Namn: Sale Description: Perform a customer sale event Actor: Cashier Stakeholders & Interests: Kund, personal, ekonomiavdelningen ….. Success scenario: Start sale enter items, end sale, recieve payment Alernate scenarios: Pay cache/card, item is missing,……… Two cuolumn events ActorSystem 1. enter Item-nrdisplay item name, quantity in stock 2. enter quantityconfirm……….. …….. Precondition: Cashier logged in Postcondition: Sale registred, receipt printed Events: Start sale enter items, end sale, recieve payment Logic: If the customer……… If the article…….. If the credit card ……... User Interface Data som används
Funktioner i systemet - Annan graf Client - functions F1 F2 Huvud meny F4 F3 Server - functions
Samband IS-funktioner & Verksamhets-processer Systembeskrivning Verksamhetsbeskrivning F1 Order process F1 Order reg F2 Lager process Kund F2 Lager trans F3 Fakturering Fakt process F3 Leverans process
Icke-funktionella krav PRODUCT REVISION - MaintainabilityCan I fix it ? - FlexibilityCan I change it ? - TestabilityCan I test it ? PRODUCT TRANSITION - PortabilityWill I be able to use it on another machine ? - ReusabilityWill I be able to reuse some of the software ? - InteroperabilityWill I be able to interface it with another system ? PRODUCT OPERATIONS - CorrectnessDoes it do what I want ? - ReliabilityDoes it do it accurately all of the time ? - EfficiencyWill it run on my hardware as well as it can ? - IntegrityIs it secure ? - UsabilityIs it well designed for the user ? + Does it do the right thing ? + Is it economically relevant ?
Perform a Buy vs. Build Analysis • An organization faces two primary choices when deciding to develop an information system • Buy the information system from a vendor • Commercial off-the shelf (COTS) – software package or solution that is purchased to support one or more business functions and information systems • SCM, CRM, and ERP solutions are typically COTS • Build the information system itself
PHASE 3: DESIGN • Design phase – involves describing the desired features and operations of the system including screen layouts, business rules, process diagrams, pseudo code, and other documentation • Primary design activities include: • Design the IT infrastructure • Design Functions in detail
Design the IT Infrastructure • Sample IT infrastructure
Design System Models • Modeling – the activity of drawing a graphical representation of a design • Different modeling types include: • Graphical user interface (GUI) • System Functions (DFD and Program logics) • Data model • Transactions
Design Data Models • Sample entity relationship diagram (ERD)
Design - Arkitektur • Logiskt • Dela in SW i delsystem • Dela in SW i lager • Fördela SW på HW, ex client-server • Syfte • Flexibla system med utbytbara delar • Kunna fördela arbetet på olika grupper • Kunna testa systemet systematiskt