¡GoConqr estrena diseño! Cuéntanos qué te parece.

Fichas

Software engineering

miss_kj Inglés 55 fichas

Fichas del conjunto (55)

  1. 1Software Engineering defintionSoftware production.
    Systematic/ organised approach to work
    Use appropriate tools/ techniques to solve problem
  2. 2Attributes of good softwareDeliver acquired functionality and performance to user
    Maintainable dependable and usable
  3. 3Attributes (2)Functionality: Capabilities software must deliver
    Maintainability: Software must evolve- meet changing needs
    Dependability: Must be trustworthy
    Efficiency: Should not waste system resources (green?)
    Usability: Usable by users it was designed for
  4. 4Difference between Software Engineering and System EngineeringSystem Engineering: all aspects of computer based systems i.e. software, hardware and processes.
    Software Engineering: General processes.
  5. 5SE challengesLegacy systems: old valuable systems need updating and maintenance
    Heterogeneity: Systems distributed- mix of hardware/ software
    Delivery: Increase pressure for faster delivery of software
  6. 6Software is complex- not complicated
    Complex= many simple parts related to each other
    Complicated= poorly understood/ explained
  7. 7Complexity example- scheduling fence constructionsetting posts- before nailing/ painting
    Cutting before nailing
    Shortest completion time?
    Simple but hard to solve without pen/ paper
  8. 8Role of Software EngineerBridge between customer needs programming implementation
  9. 91st law of S.E.S. Engineer: must be willing to learn and understand domain problem to solve it
  10. 102nd Role of SECustomer requires computer system- achieve business goals with user interaction/ interaction with environment
  11. 11S.E. TaskUnderstand system and interact with user environment.
    Ensure customer requirements are met and design software
  12. 122nd Law for S.E.Software: written for people first. Computer run software, hardware becomes outdated
    Useful good software lives longer- must be understood
  13. 13~Software Development Methods= Work Strategy
    Feyman problem- solving algorithm.
    1. write down problem
    2. think aloud
    3. write down answer
  14. 14Other methodsWaterfall: unidirectional, finish step before moving on.
    Iterative/ incremental: Develop increment of functionality, repeat in feedback loop
    Agile: User feedback essential, loops in several levels
  15. 15Waterfall methodRequirements, design, implementation, Testing, deployment and maintenance
    UML- language of symbols
  16. 16Software measurementWhat to measure:
    -Project/ developers work, budgeting and scheduling.
    - Product/ quality assessment
  17. 17Sizing the problem1.divide into smaller parts
    2. Estimate size
    3. Estimate size of total work
    4.Estimate speed
    5.Estimate total duration
    Travel duration= path size / travel velocity
  18. 18AdvantagesVelocity Estimates: need to be adjusted (observed progress).
    Total duration- computed quickly if smaller in size.
  19. 19Exponential cost of Estimationimproves accuracy of estimation of a certain point- requires cost + effort
  20. 20Agile Project Effort EstimationE.g. 1. Prune section 8. (work item)
    2. 3.5 days (estimate work duration)
  21. 21Concept mapsUseful for problem domain
    Proposition, concept, relation, concept
  22. 22SummaryEngineering:
    -Organisational commitment to quality- cont. for improvement
    -effective delivery for SE tech
    -Quality ensured and change managed
    Method: Technical- how to build, processes required e.g requirements, design etc
  23. 23Lecture 2: System development Life cycle vs methadologyLife of system- 2 stages:
    1. Systems development
    2. Systems operations and support
  24. 24Systems Development Methadology-Formal, precise system dev. process
    -Defines set activities, methods, deliverables, best practice.
    Developer/ PM use to maintain info system/ software
  25. 25Prelim investigation phase:-list problems, opportunities and directives
    -plan project
    -assess project
  26. 26Other phases 1:Problem analysis:
    Study/analyse problem domain, business processes. Update project plan, make recommendations
    Requirements Analysis: define/ analyse req, prioritise and update project plan
  27. 27other phases 2:Decision analysis: decisions about how to make software/ useful for application
    Construction: Build, test, Install, write new software packages
    Implementation: conduct system test, install database, train users, make switch to new system.
  28. 28Software Development strategies- one shot
    -phase incremental
    -rapid app development
    -agile methadologies
  29. 29Enterprise Resource Planning-Integrate info system function required by major corporation
    ERP product built around database shared by business functions
  30. 30Global software DevelopmentOffshore development- software out-sourcing: (Client) contracting part or all of software activities to another company (Vendor)
    Service for renumeration
  31. 31Outsourcing motivationCost saving
    Quality
    Access new markets/ latest tech
    Utilise Skilled HR
  32. 32Digital Economybased on digital technologies- communication network-internet extranets etc
    People and org interact, collaborate and search info. e.g paying for goods at self service instead of queuing
  33. 33Estimation-Accurate for well- defined products, automated processes.
    -Poor bid management= estimates required, short timescales, little product info. Limited expertise.
  34. 34Solution..no best method
    no guarantee accuracy
    requires investment- money/ time/ effort and infrastructure
  35. 35Basic Estimating procedure1. Each unit. find average productivity from historical data.
    2. Identify scaling factor
    3. use basic estimation model- calculate effort.
    4. sum individual estimates to produce total
    5. Identify assumptions/ risk
  36. 36Assumptions and RiskRisk- impact of incorrect/ invalid assumptions
    Scaling factors- complete, accurate ( correctly assessed multipliers applied)
  37. 37Validation stage/ estimateStage: Checked by other people (engineer/ team member). Realistic, complete, requirements present? Use another method?
    Estimate: effort, assumptions, risk assessment- estimate contingency
  38. 38Applying estimation processNeeds methods too: Identify and count units, select characteristics.
    Use historic data- determine productivity. Find level to estimate effort
  39. 39Good Estimateslocal established process
    matching local development + business procedures
    Can't rely on other peoples data
  40. 40Estimate should be...Unbiased- most likely value
    - qualified by upper/ lower bounds
  41. 41Estimate should not be...target/ constraint
    planning value
    a price
    fixed to eternity
    Bounds: quantify accuracy of estimate (1. from past projects comparable stage of project. 2. best- statistical confidence limits, 3. main driver best and worst values)
    worst- gut feel- may not be accurate
  42. 42Explicit and implicit assumptionsExplicit: inputs to any estd. model. Similar projects and adjustments used
    Implicit: normal condition
  43. 43Estimates in life cycle of projectFeasibility and bidding- bid to project managers
    Project planning- increase accuracy
    Project monitoring and control- feedback refine estimate.
    Portfolio/ programme management
  44. 44SummaryDifficult to make decisions on future
    Estimation process involves- measure, models, procedures and standards
  45. 45Lecture 4: Basic Estimating Techniques- Estimating methodsExpert opinion- Personal experience
    Analogy- Ref to example
    Algorithms- Functional relationship
  46. 46Sizing v Estimatinganother estimation problem same basic techniques.
    - estimating size of software, prelim to effort/ duration estimate
  47. 47ExpertBased on personal experience e.g duration of presentation.
    Pros- Flexible, no past data required, uses understanding of problem + solution
    Cons- depends on expert, non transferable, difficult to check.
  48. 48analogyEstimator uses example- actual example from similar project. adjustments for specific differences eg. decorating a room.
    Pros: accurate than other methods, visible process.
    Cons: Depends on avb of past data, adjustments based on expert opinion.
  49. 49AlgorithmEstimator uses predefined formula/ equation. Effort= 2.5 x size (LOC). e.g. COCOMO
    Pros: Transferable, formula allows upper and lower bounds to be calculated.
    Cons: Assumes future same as past.
    Gives average result, not all projects equal. False sense of security.
  50. 50Basic estimation StrategiesTop- Down: estimates project as a whole
    breaks down estimate into phases.
    Pros- useful/ usable. increases overheads non task related activities.
    Cons: Breakdown decreases accuracy
  51. 51COCOMOMost used algorithm model
    formula: based on data used in prev projects.
    3 levels: Basic (rough estimate, Intermediate (project and process multiplier) detailed (estimates for different phases
  52. 52Basic COCOMOestimates cost for small/ medium projects
    2 factors: size + type of system
    Formula: effort= a(KDSI)b
  53. 53COCOMO Effort formulasimple: pm= 2.4 (KDSI)1.05
    Moderate: pm= 3(KDSI)1.12
    Embedded: pm= 3.6(KDSI)1.20
    PM= person months to complete project
  54. 54COCOMO Development time formulamodel provides estimates of time to complete systems development.
    Simple: Tdev= 2.5(pm) 0.38
    Moderate: Tdev= 2.5(pm) 0.35
    Embedded:Tdev= 2.5(pm) 0.32
  55. 55ExampleSimple software project with estimated size of 32000 delivery source instructions
    pm= 2.4(32)1.05= 91pm
    Tdev= 2.5(91)0.38= 14 months

Información

Descripción
Fichas sobre Software engineering, creado por miss_kj el 09/01/2016.
Creado por
miss_kj
Visitas
9
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?