SWEN 256 Software Process & Project Management Software - - PowerPoint PPT Presentation

swen 256 software process project management software
SMART_READER_LITE
LIVE PREVIEW

SWEN 256 Software Process & Project Management Software - - PowerPoint PPT Presentation

SWEN 256 Software Process & Project Management Software change is inevitable o New requirements emerge when the software is under development or being used o The business environment changes o Errors must be repaired, Risks


slide-1
SLIDE 1

 

SWEN 256 – Software Process & Project Management

slide-2
SLIDE 2

 Software change is inevitable

  • New requirements emerge when the software is under

development or being used

  • The business environment changes
  • Errors must be repaired, Risks mitigated
  • New equipment must be accommodated
  • The performance or reliability may have to be improved

 A key problem for organisations is implementing

and managing change to their current projects and legacy systems

slide-3
SLIDE 3

 Sometimes change occurs during development

that necessitates changes in scope

  • Approval of CCB (Change Control Board) and
  • Requires extensive planning
  • May require more time/resources (project triangle)

 Plan-driven methodologies may or may not have this built in

(i.e. Spiral) or may be specifically built to resist change (i.e. Waterfall)

 Agile Methodologies embrace change

  • Scrum allows for change to the Product Backlog at any time, but

manages risk by freezing the current Sprint Backlog

 Stakeholder Communication IS KEY

slide-4
SLIDE 4

 Software maintenance

  • Changes are made in response to changed requirements

but the fundamental software stru tructure cture is stable able

 Architectural transformation

  • The architecture of the system is modified generally from

a centralised ralised architecture to a dist stribu ributed ed architecture

 Software re-engineering

  • No new functionality is added to the system but it is

restructured and reorganised rganised to facilitate future changes

 These strategies may be applied separately or

together

slide-5
SLIDE 5

Law Descrip tion Continuing change A program that is used in a real-world environment necessarily must change

  • r become progressively less

useful in that environment. Increasing complexity As an evolving program changes, its structure tends to become more complex. Extra resources must be devoted to preserving and simplifying the structure. Large program evolution Program evolution is a self-regulating process. System attributes such as size, time between releases and the number of reported errors are approximately invariant for each system release. Organisational stability Over a program’s lifetime, its rate of development is approx imately constant and independent of the resources devoted to system development. Conservation

  • f

familiarity Over the lifetime of a system, the incremental change in each release is approximately constant.

slide-6
SLIDE 6

 This has not yet been established  They are ge

gener erally y app pplic icable le to large, tailored systems developed by large organisations

 It is not clear how they should be modified for

  • Shrink-wrapped software products
  • Systems that incorporate a significant number of COTS

components

  • Small organisations
  • Medium sized systems
slide-7
SLIDE 7

 

slide-8
SLIDE 8

 Modifying a program after it has been put into

use

 Maintenance does not normally involve major

changes to the system’s architecture

 Changes are implemented by modifying existing

components and adding new components to the system

slide-9
SLIDE 9

 The system requirements are likely to change

while the system is being developed because the environment is changing. Therefore a delivered system won't meet eet it its requ equir iremen ements ts!

 Systems are tightly coupled with their environment.

When a system is installed in an environment it changes that en envir ironm nmen ent and therefore changes the system requirements.

 Systems MUST be maintained therefore if they

are to remain useful in an environment

slide-10
SLIDE 10

 Maintenance to repair

air software faults

  • Changing a system to correct deficiencies in the way meets

its requirements (Corre

recti ctive Maintenance)

 Maintenance to adapt

pt software to a different operating environment

  • Changing a system so that it operates in a different environment

(computer, OS, etc.) from its initial implementation (Ada

dapt ptiv ive

Maintenance)

 Maintenance to add

add to or modify ify the system’s functionality

  • Modifying the system to satisfy new requirements (Per

erfec ecti tive

Maintenance)

slide-11
SLIDE 11

F u nct io nali ty add it io n or m o di fi cati on (65 % ) F au lt repai r (17 % ) S o ftw are adap tat io n (18 % )

slide-12
SLIDE 12

S p e ci fica t io n Im pl em ent io n V a li da t io n O p e ra ti on S ta rt Releas e 1 Re leas e 2 Re le as e 3

slide-13
SLIDE 13

 Usually greater than development costs (2* to

100* depending on the application)

 Affected by both technical and non-technical

factors

 Increases as software is maintained.

Main inten enance e corr rrup upts ts the software structure so makes further maintenance more difficult.

 Ageing software can have high support costs

(e.g. old languages, compilers etc.)

slide-14
SLIDE 14

5 0 1 00 1 50 2 00 2 50 3 00 3 50 4 00 4 50 5 00 S y st e m 1 S y st e m 2 D e v e lo pm e n t c os ts M ain te n a nc e c os ts $

slide-15
SLIDE 15

 Team stability

  • Maintenance costs are reduced if the same

me staff f are involved with them for some time

 Contractual responsibility

  • The developers of a system may have no contractual responsibility

for maintenance so there is no incentive to design for future change

 Staff skills

  • Maintenance staff are often inexperi

xperienced enced and have limited domain knowledge

 Program age and structure

  • As programs age, their structure is degra

rade ded and they become harder to understand and change

slide-16
SLIDE 16

 Rather than think of separate development and

maintenance phases, evolutionary software is software that is de desig igned ed so that it can continuously evolv lve throughout its lifetime

YES, but how/much?

slide-17
SLIDE 17

 Maintenance prediction is concerned with

assessing whic ich h pa parts of the system may cause problems and have high maintenance costs

  • Chang

nge accepta ptance nce depends on the maintainability of the components affected by the change

  • Implementing changes

ges degrad rades es the system and reduces its maintainability

  • Maintenance costs depend on the numbe

ber r of changes ges and costs ts of change e depend on maintainability

slide-18
SLIDE 18

P redi cti ng m ain tai nab il it y P redi cti ng sy st em chan ges P redi cti ng m ain ten ance cos ts W h at w i ll be th e li feti m e m ain ten ance cos ts of th is s ys tem ? W h at w i ll be th e cos ts o f m ain tai ni ng t hi s s ys t em

  • ver t he n ext y ear?

W h at part s o f t he s ys tem w i ll be t he m os t ex pens iv e t o m ai nt ain ? H o w m any chan ge requ est s can b e exp ected ? W h at parts o f the sy stem are m os t li kely t o b e affected by chan ge requ est s?

slide-19
SLIDE 19

 Predicting the number of changes requires an

understanding of the rel elation ionshi ships ps between a system and its environment

 Tightly couple

upled systems require changes whenever the environment is changed

 Factors influencing this relationship are

  • Number and complexity of system interfaces

ces

  • Number of inherently volatile system requir

uiremen ements ts

  • The busine

ness ss processe sses where the system is used

slide-20
SLIDE 20

 Predictions of maintainability can be made by

assessing the complexity of system components

 Studies have shown that most main

inten enance ce effort is spent on a relatively smal all l nu number er of system components

 Complexity depends on

  • Complexity of control
  • l structures
  • Complexity of data structures
  • Procedure and module size

ze

slide-21
SLIDE 21

 Process measurements may be used to assess

maintainability

  • Number of requests for corrective maintenance
  • Average time required for impact analysis
  • Average time taken to implement a change request
  • Number of outstanding change requests

 If any or all of these is increasing, this may indicate

a de declin ine e in in main intain inabil ilit ity

slide-22
SLIDE 22

 There is a need to convert many legacy systems

from a centralised architecture to a client-server architecture

 Change drivers

  • Hardw

dware are costs

  • ts. Servers are cheaper than mainframes
  • User interface expectations. Users expect graphical user

interfaces (CLIGU GUI)

  • Dist

stribu ributed ed access to systems. Users wish to access the system from different, geographically separated, computers

slide-23
SLIDE 23

Factor Description Business importance Returns on the investment of distributing a legacy system depend on its importance to the business and how long it will remain important. If distribution provides more efficient support for stable business processes then it is more likely to be a cost-effective evolution strategy. System age The older the system the more difficult it will be to modify its architecture because previous changes will have degraded the structure of the system. System structure The more modular the system, the easier it will be to change the

  • architecture. If the application logic, the data management and the user

interface of the system are closely intertwined, it will be difficult to separate functions for migration. Hardware procurement policies Application distribution may be necessary if there is company policy to replace expensive mainframe computers with cheaper servers. .

slide-24
SLIDE 24

 Ideally, for distribution, there should be a clear

separation between the user interface, the system services and the system data management

 In practice, these are usually intermingled in older

legacy systems

slide-25
SLIDE 25

D at abas e U s er i nt erface S ervi ces Ideal m o del for di st rib ut io n R eal leg acy s ys tem s D at abas e U s er i nt erface S ervi ces

slide-26
SLIDE 26

St ra tegy A dva nt age s D isadva nt age s Imp lem e nta tion u sing th e w indow m a nage m ent sys tem A cc e ss to a ll UI f unc tion s so no rea l restri ct ions on UI de sign Be tte r UI pe rf o rm ance P la tf o rm dep e ndent M ay be m o re di ffi cul t to ach ieve in terf ac e con siste ncy Imp lem e nta tion u sing a w eb b ro w ser P la tf o rm ind e penden t Lo w er tr ai n ing co sts due to u ser fam il iarity w ith th e WWW E a sier to a chi e ve i nt erf ac e con siste ncy P oten tia lly poo rer UI pe rf o rm anc e Int erf ac e des ign i s con strained by th e f ac ili tie s p rovid e d by web b ro w ser s

slide-27
SLIDE 27

 The costs of software change usually exceed the

costs of software development

 Factors influencing maintenance costs include

staff stability, the nature of the development contract, skill shortages and degraded system structure

 Architectural evolution is concerned with evolving

centralised to distributed architectures

 A distributed user interface can be supported using

screen management middleware