Writing software for the clinic

被引:7
作者
Rosen, II [1 ]
机构
[1] Univ Texas, Md Anderson Canc Ctr, Dept Radiat Phys, Houston, TX 77030 USA
关键词
computer software; software development; radiation therapy treatment planning;
D O I
10.1118/1.598201
中图分类号
R8 [特种医学]; R445 [影像诊断学];
学科分类号
1002 ; 100207 ; 1009 ;
摘要
Medical physicists often write computer programs to support scientific, educational, and clinical endeavors. Errors in scientific and educational software can waste time and effort by producing meaningless results, but errors in clinical software can contribute to patient injuries. Although the ultimate goal of error-free software is impossible to achieve except in very small programs, there are many good design, implementation, and testing practices that can be used by small development groups to significantly reduce errors, improve quality, and reduce maintenance. The software development process should include four basic steps: specifications, design, implementation, and testing. A specifications document defining what the software is intended to do is valuable for clearly delimiting the scope of the project and providing a benchmark for evaluating the final product. Keep the software design simple and straightforward. Document assumptions, and check them. Emphasize maintainability, portability, and reliability rather than speed. Use layers to isolate the application from hardware and the operating system. Plan for upgrades. Expect the software to be used in unplanned ways. Whenever possible, be generous with RAM and disk storage; hardware is cheaper than development and maintenance. During implementation, use well-known algorithms whenever possible. Use prototypes to try out ideas. Use generic modules, version numbering, unique file names, defensive programming, and operating system and language/compiler defaults. Avoid binary data files and clever tricks. Remember that real numbers are not exact in a computer. Get it right before making it faster. Document the software extensively. Test continuously during development; the later a problem is found, the more it costs to fix. Use a written procedure to test the final product exactly as a typical user would run it. Allow no changes after clinical release. Expect to spend at least an additional 50% of the initial development effort on testing, fixing errors, and getting the software into routine operation. (C) 1998 American Association of Physicists in Medicine.
引用
收藏
页码:301 / 309
页数:9
相关论文
共 50 条
  • [31] Software Testing in Ecuadorian University Education: A Debt to the Software Industry
    Ceron, Belen
    Chicaiza, Alex
    Lamino, Johana
    Reyes Ch, Rolando P.
    GOOD PRACTICES AND NEW PERSPECTIVES IN INFORMATION SYSTEMS AND TECHNOLOGIES, VOL 4, WORLDCIST 2024, 2024, 988 : 80 - 90
  • [32] Aphasia therapy software: an investigation of the research literature and the challenges of software development
    Cuperus, Pauline
    de Kok, Doerte
    de Aguiar, Vania
    Nickels, Lyndsey
    APHASIOLOGY, 2024,
  • [33] An investigation into software development process formation in software start-ups
    Coleman, Gerry
    O'Connor, Rory V.
    JOURNAL OF ENTERPRISE INFORMATION MANAGEMENT, 2008, 21 (06) : 633 - +
  • [34] Certification of software tools used in safety-critical software development
    Schuster, Gyorgy
    2022 IEEE 5TH INTERNATIONAL CONFERENCE AND WORKSHOP OBUDA ON ELECTRICAL AND POWER ENGINEERING, CANDO-EPE, 2022, : 211 - 215
  • [35] Improving speed and productivity of software development: A global survey of software developers
    Blackburn, JD
    Scudder, GD
    VanWassenhove, LN
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1996, 22 (12) : 875 - 885
  • [36] Issues in Software Development Practices A South African Software Practitioners' Viewpoint
    Mavetera, Nehemiah
    Kroeze, Jan
    INNOVATION AND KNOWLEDGE MANAGEMENT IN TWIN TRACK ECONOMIES: CHALLENGES & SOLUTIONS, VOLS 1-3, 2009, : 449 - +
  • [37] Software development and innovation: Exploring the software shift in innovation in Swedish firms
    Andersson, Martin
    Kusetogullari, Anna
    Wernberg, Joakim
    TECHNOLOGICAL FORECASTING AND SOCIAL CHANGE, 2021, 167
  • [38] How Can Software SMEs Become Medical Device Software SMEs
    McCaffery, Fergal
    Casey, Valentine
    McHugh, Martin
    SYSTEMS, SOFTWARE AND SERVICES PROCESS IMPROVEMENT, 2011, 172 : 247 - 258
  • [39] Performance modelling of software systems in UML-tools for the software developer
    Hennig, A
    Wasgint, R
    MODELLING AND SIMULATION 2002, 2002, : 94 - 99
  • [40] Evaluating Lehman's Laws of Software Evolution for Software Product Lines
    de Oliveira, Raphael Pereira
    de Almeida, Eduardo Santana
    IEEE SOFTWARE, 2016, 33 (03) : 90 - 93