Fichas
Software engineering
Fichas del conjunto (55)
- 1Software Engineering defintionSoftware production.
Systematic/ organised approach to work
Use appropriate tools/ techniques to solve problem - 2Attributes of good softwareDeliver acquired functionality and performance to user
Maintainable dependable and usable - 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 - 4Difference between Software Engineering and System EngineeringSystem Engineering: all aspects of computer based systems i.e. software, hardware and processes.
Software Engineering: General processes. - 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 - 6Software is complex- not complicated
Complex= many simple parts related to each other
Complicated= poorly understood/ explained - 7Complexity example- scheduling fence constructionsetting posts- before nailing/ painting
Cutting before nailing
Shortest completion time?
Simple but hard to solve without pen/ paper - 8Role of Software EngineerBridge between customer needs programming implementation
- 91st law of S.E.S. Engineer: must be willing to learn and understand domain problem to solve it
- 102nd Role of SECustomer requires computer system- achieve business goals with user interaction/ interaction with environment
- 11S.E. TaskUnderstand system and interact with user environment.
Ensure customer requirements are met and design software - 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~Software Development Methods= Work Strategy
Feyman problem- solving algorithm.
1. write down problem
2. think aloud
3. write down answer - 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 - 15Waterfall methodRequirements, design, implementation, Testing, deployment and maintenance
UML- language of symbols - 16Software measurementWhat to measure:
-Project/ developers work, budgeting and scheduling.
- Product/ quality assessment - 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 - 18AdvantagesVelocity Estimates: need to be adjusted (observed progress).
Total duration- computed quickly if smaller in size. - 19Exponential cost of Estimationimproves accuracy of estimation of a certain point- requires cost + effort
- 20Agile Project Effort EstimationE.g. 1. Prune section 8. (work item)
2. 3.5 days (estimate work duration) - 21Concept mapsUseful for problem domain
Proposition, concept, relation, concept - 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 - 23Lecture 2: System development Life cycle vs methadologyLife of system- 2 stages:
1. Systems development
2. Systems operations and support - 24Systems Development Methadology-Formal, precise system dev. process
-Defines set activities, methods, deliverables, best practice.
Developer/ PM use to maintain info system/ software - 25Prelim investigation phase:-list problems, opportunities and directives
-plan project
-assess project - 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 - 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. - 28Software Development strategies- one shot
-phase incremental
-rapid app development
-agile methadologies - 29Enterprise Resource Planning-Integrate info system function required by major corporation
ERP product built around database shared by business functions - 30Global software DevelopmentOffshore development- software out-sourcing: (Client) contracting part or all of software activities to another company (Vendor)
Service for renumeration - 31Outsourcing motivationCost saving
Quality
Access new markets/ latest tech
Utilise Skilled HR - 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 - 33Estimation-Accurate for well- defined products, automated processes.
-Poor bid management= estimates required, short timescales, little product info. Limited expertise. - 34Solution..no best method
no guarantee accuracy
requires investment- money/ time/ effort and infrastructure - 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 - 36Assumptions and RiskRisk- impact of incorrect/ invalid assumptions
Scaling factors- complete, accurate ( correctly assessed multipliers applied) - 37Validation stage/ estimateStage: Checked by other people (engineer/ team member). Realistic, complete, requirements present? Use another method?
Estimate: effort, assumptions, risk assessment- estimate contingency - 38Applying estimation processNeeds methods too: Identify and count units, select characteristics.
Use historic data- determine productivity. Find level to estimate effort - 39Good Estimateslocal established process
matching local development + business procedures
Can't rely on other peoples data - 40Estimate should be...Unbiased- most likely value
- qualified by upper/ lower bounds - 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 - 42Explicit and implicit assumptionsExplicit: inputs to any estd. model. Similar projects and adjustments used
Implicit: normal condition - 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 - 44SummaryDifficult to make decisions on future
Estimation process involves- measure, models, procedures and standards - 45Lecture 4: Basic Estimating Techniques- Estimating methodsExpert opinion- Personal experience
Analogy- Ref to example
Algorithms- Functional relationship - 46Sizing v Estimatinganother estimation problem same basic techniques.
- estimating size of software, prelim to effort/ duration estimate - 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. - 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. - 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. - 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 - 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 - 52Basic COCOMOestimates cost for small/ medium projects
2 factors: size + type of system
Formula: effort= a(KDSI)b - 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 - 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 - 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