1 / 15

Software Quality and Standards for Improved Productivity and Maintainability

Learn about software quality, standards, and best practices to increase team productivity, improve system maintainability, and enhance software performance efficiency. Explore various factors influencing product quality and discover industry standards such as IEEE, ISO, and SEI.

Download Presentation

Software Quality and Standards for Improved Productivity and Maintainability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. develop standards • for: • system modeling - UML conventions, etc. • code/programming - language constructs, code layout, etc. • human-computer interface - navigation, layout, etc. • device interfaces - polymorphism, etc. • subsystem interfaces and layer interfaces • construction - component naming, component storage, etc. • in order to: • increase team productivity • improve system maintainability • increase portability • and...

  2. tradeoffs • system performance efficiency • maintainability • cost • you can only have two of • good - fast - cheap • how do you know your product or process is good?

  3. product quality correctness reliability product efficiency operations integrity software usability product portability product quality reusability transition factors interoperability maintainability product testability revision flexibility [J. McCall, P. Reynolds and G. Walters. Factors in Software Quality. NTIS AD-A049-014/015/055. November 1977]

  4. standards IEEE - several standards e.g. #830 Guide to Software Requirements Specification e.g.#1074 Software Lifecycle Object Management Group’s (OMG) Common Object Request Broker Architecture (CORBA) ISO 9001 Standard for software Development International Consultative Committee on Telephony and Telegraphy (CCITT) American National Standards Institute (ANSI) Canadian Standards Association (CSA) Software Engineering Institute (SEI) and others

  5. suitability accuracy ISO 9126 functionality interoperability security maturity fault tolerance reliability recoverability understandability learnability ISO 9126 usability operability quality attractiveness characteristics for software time behaviour efficiency products resource utilization analyzability changeability maintainability stability testability adaptability installability portability co-existence replacability

  6. the basic quality improvement process model build quality measurement devices (re)define quality fix problems, refine processes measure quality, analyze results

  7. all are influenced by people and all are part of the project five key expectations predetermine quantitative quality goals accumulate data for use in subsequent projects used for process development keep all work visible • design only against requirements • program only against design • test only against requirements and design aspect of the product measure and achieve quality goals

  8. the project team project manager business analyst systems analyst/designer database administrator programmer quality control support/help desk technical systems administrator network administrator network architect etc. client (funding) user management users auditors security specialists lawyers customers etc.

  9. project  staff  consolidated G/L project A/P and A/R maintenance work order system replacement corporate data model project Andy the financial analyst interface to A/P as needed billing weekly meetings Jane the programmer n/a as needed lead programmer n/a Bill from Help Desk error message design as needed on testing team n/a IT manager status meetings change control committee project manager weekly meetings John the technical writer user manual n/a user manual charts and diagrams matrix organization, and example

  10. SQA activities in IT • application of technical methods • formal technical review • software testing • enforcement of standards • control of change • measurement • record keeping and reporting

  11. Capability Maturity Model -Integration (CMMI) • The organizational process assets that are described in CMMI models include the following: • organization’s set of standard processes, including the • process architectures and process elements • descriptions of life-cycle models approved for use • guidelines and criteria for tailoring the organization’s set • of standard processes • organization’s measurement repository • organization’s process asset library • organization’s performance baselines

  12. Figure : CMMI Model Components [FM103.HDA101.T103]

  13. Initial level Add: Requirements management Software project planning Software project tracking and oversight Software subcontract management Software quality assurance Software configuration management maturity of IT departments Repeatable level Add: Organization process focus Organization process definition Training program Integrated software management Software product engineering Inter-group coordination Peer reviews

  14. Defined level Add: Quantitative process management Software quality management maturity of IT departments Managed level Add: Defect prevention Technology change management Process change management Optimizing level

  15. and at the personal level... SEI’s Personal Software Process (PSP) baseline personal process personal planning personal quality management cyclic personal process • understand current process • record your time and task sizes • record and analyze defects • define coding standards • develop improvement proposal • task and schedule planning • size and time estimating • test reporting • code reviews • design reviews • design templates • cyclic development

More Related