38. Software Development Practices – CASE Tools

Writing software for regulated environments should be a creative discipline and not a creative art form. Guidance from GAMP 5 states that “Each project should define the program coding standards, directory structure standards, and the file naming conventions to be followed. (p. 216)

 

Computer Aided Software Engineering (CASE) tools are important components of the professional software development lifecycle (SDLC). While the Software Architecture Document (SAD) sets the strategic engineering direction for a product, it is usually supported by using one or more CASE tools to help control the programming environment itself. Some of these are free, open source tools such as Bugzilla and JIRA which track bug fixes and enhancement requests. Others are very comprehensive and proprietary such as HP Quality Center which includes requirements management, testing management, and project planning and tracking.  Microsoft Visual Studio is a CASE environment for developing web, cloud, and mobile applications. Microsoft Visual Basic supports developing object-oriented code and it incorporates several development tools: a graphical user interface (GUI) builder, smart code editor, debugger, and others.

CASE tools can be seen to improve the quality of software with respect to reliability, maintainability, and portability better than conventionally developed systems. As illustrated in the table below, there is no single way to develop software. The project team must agree and be trained in its chosen methodology, supporting disciplines, and CASE tools.

SOFTWARE DEVELOPMENT PROCESS

 

 

Core Activities

Requirements – Design – Construction – Testing –

Debugging – Deployment – Maintenance

 

Methodologies

Waterfall – Prototype Model – Incremental – Iterative –

V-Model – Spiral – Scrum – Cleanroom – RAD – DSDM –

UP – XP – Agile – Lean – Dual Vee Model – TDD – BDD – FDD – DDD – MDD

 

Supporting Disciplines

Configuration Management – Documentation –

Software Quality Assurance (SQA) – Project Management – User Experience

 

CASE Tools

Compiler – Debugger – Profiler – GUI Designer – Modeling –

Integrated Development Environment (IDE) – Build Automation

Ref: Wikipedia – V.T.E.

Configuration management of code and qualification/change control of CASE tools across the project are important quality practices to assure consistent, maintainable product as an outcome. Tool modification without retraining of team programmers can introduce unintended bugs. The over reliance on tools without periodic human quality checks can cause product problems as well.

 

Next Month: Software Development Practices – Code Reviews

Was sufficient “white box” testing performed to assure that internal logic, control features, and data processing work as specified? (p. 90)