- Book Chapter
1
- 10.1016/b978-0-12-811248-9.00008-5
Chapter 8 - Domain 8: Software development security
- Sep 09, 2016
- Eleventh Hour CISSP®
- Eric Conrad + 2 more +2
Chapter 8 - Domain 8: Software development security
Chapter 9 - Domain 8: Software Development Security
Chapter 8 - Domain 8: Software development security
Chapter 8 - Domain 8: Software development security
Chapter 12 - The Development Process
Chapter 12 - The Development Process
Rapid Application Development (RAD) model method for creating an agricultural irrigation system based on internet of things
The development of the internet of things has penetrated in several lines, including in agriculture. To respond to the development of this IoT requires rapid technological adaptation as well. To build a system quickly, one can utilize the Rapid Application Development (RAD) method. RAD is a model that allows non-experts to benefit from high-performance computing, while allowing expert programmers to take full advantage of the underlying hardware. This enables rapid prototyping, retargeting, and reuse of existing software, while allowing hardware-specific optimization if needed. The RAD system emphasizes the fast development cycle that is designed and high-quality results from other methods such as waterfall, agile, scrum and others. The system was built using the minimum NodeMCU system with the help of a soil moisture sensor. The use of the RAD method in building an IoT-based agricultural irrigation system gives good results in testing all functions and equipment controls. The average delay level on testing IoT devices is around 4.6 seconds so that the RAD method can be used as a reference in the construction of an IoT-based system.
Read moreExploring Effectiveness in Software Development: A Comparative Review of System Analysis and Design Methodologies
The effectiveness of system analysis and design methodologies plays a pivotal role in the success of software development projects. This research conducts a comparative analysis of various methodologies, including the Waterfall Model, Spiral Model, Prototyping Model, Iterative Model, Unified Process, Object-Oriented Analysis and Design, Joint Application Design, Computer Aided Software Engineering Tools, Rapid Application Development / Rapid Systems Development, Feature- Driven Development, Extreme Programming, Agile Method, and DevOps, to explore their respective strengths and considerations. The study examines key aspects such as flexibility, documentation, risk management, complexity, and suitability across these methodologies. Findings reveal that each methodology offers unique advantages and challenges, influencing their applicability in different project contexts. The research underscores the importance of aligning methodology choices with project-specific requirements, organizational culture, and environmental factors to optimize software development outcomes. Moreover, it suggests that hybrid approaches, combining elements from multiple methodologies, may offer a balanced approach to address diverse project needs and maximize effectiveness. By providing insights into the comparative effectiveness of system analysis and design methodologies, this research contributes to informed decision- making and improved project success in software development endeavors.
Read moreFacilitating In-House Mobile App Development Within Psychiatric Outpatient Services for Patients Diagnosed With Borderline Personality Disorder: Rapid Application Development Approach.
Mobile app development within mental health is often time- and resource-consuming, challenging the development of mobile apps for psychiatry. There is a continuum of software development methods ranging from linear (waterfall model) to continuous adaption (Scrum). Rapid application development (RAD) is a model that so far has not been applied to psychiatric settings and may have some advantages over other models. This study aims to explore the utility of the RAD model in developing a mobile app for patients with borderline personality disorder (BPD) in a psychiatric outpatient setting. The 4 phases of the RAD model: (1) requirements planning, (2) user design, (3) construction, and (4) cutover, were applied to develop a mobile app within psychiatric outpatient services for patients diagnosed with BPD. For the requirements planning phase, a short time frame was selected to minimize the time between product conceptualization and access within a clinical setting. Evidenced-based interactive content already developed was provided by current staff to enhance usability and trustworthiness. For the user design phase, activity with video themes and a discrete number of functions were used to improve the app functionality and graphical user interface. For the construction phase, close collaboration between clinicians, researchers, and software developers yielded a fully functional, in-house-developed app ready to be tested in clinical practice. For the cutover phase, the mobile app was tested successfully with a small number (n=5) of patients with a BPD. The RAD model could be meaningfully applied in a psychiatric setting to develop an app for BPD within a relatively short time period from conceptualization to implementation in the clinic. Short time frames and identifying a limited number of stakeholders with relevant skills in-house facilitated the use of this model. Despite some limitations, RAD could be a useful model in the development of apps for clinical populations to enable development and access to evidence-based technology.
Read moreA QFD based model integration in Agile software development
The actual development of the IT sector generated software products that are now a significant part of any field. The increasing number of IT products led to changes in the project management of software development. If, in the beginnings, the project management tools were limited and included approaches such as: the waterfall model, the incremental spiral model, prototyping, and rapid application development, but as of lately, the quality management specific tools found a place amongst the new tools used. The proposed model uses the Quality Function Deployment (QFD) as tool in software development, which offers an accurate picture of the current state of the degree to which software meets customer requirements by calculating an offset. In developing the model we took into account the principles of Agile and the concepts introduced by Scrum, in order to integrate the proposed instrument in a widely used methodology that connects the steps between idea and market.
Read moreThe impact of UML modeling on defect density and defect resolution time in a proprietary system
Background: The contribution of modeling in software development has been a subject of debates. The proponents of model-driven development argue that a big upfront modeling requires substantial investment, but it will payoff later in the implementation phase in terms of increased productivity and quality. Other software engineers perceive modeling activity as a waste of time and money without any real contribution to the final software product. Considering present advancement of model-based software development in software industry, we are challenged to investigate the real contribution of modeling in software development. Objective: We analyze the impacts of UML modeling, specifically the production of class and sequence diagrams, on the quality of the code, as measured by defect density, and on defect resolution time. Method: Using data of a proprietary system, we conduct post-mortem analyses to test the difference in defect density between software modules that are modeled and not modeled. Similarly, we test the difference in resolution time between defects that are related to modeled and not modeled functionality. Result: We have found that the production of UML class diagrams and sequence diagrams reduces defect density in the code and the time required to fix defects. These results are obtained after controlling for the effects of co-factors such as code coupling and complexity. Conclusion: The results confirm that not only does the production of UML class diagrams and sequence diagrams possibly help improve the quality of software, but also it possibly help increase the productivity in software maintenance.
Read moreRANCANG BANGUN SISTEM INFORMASI MANAJEMEN JOB PLACEMENT CENTER POLITEKNIK NEGERI SUBANG
Job Placement Center is a job application system using the internet as a media that connects between job seekers, information about a job with companies / agencies that need labor. This study aims to design an online recruitment system using a rapid application development (RAD) model in which the system is perceived to be more effective and efficient than conventional recruitment media such as newspapers, advertisements, and so on. All companies / institutions that need workers can share information related to a job in accordance with certain criteria, such as position / age, age, achievement index, gender, and so on. This information can be accessed by alumni and students of Subang State Polytechnic. Employment providers can get all information related to the curriculum vitae of the candidates so that they can get the best candidates. Keywords: Information System , Rapid Application Development, Recruitment
Read moreSecure Modules for Undergraduate Software Engineering Courses
Security affects every software component in different types of computing systems. Many vulnerabilities and attacks on software systems are due to security weaknesses in the software itself. During the process of software specification, development, or testing, security issues are either taken into consideration insufficiently or not at all. Such software, due to internal weaknesses is prone to new attacks. By teaching secure software engineering techniques for designing and developing software modules, students would learn systematic secure software development techniques, such as defect detecting and security testing. This paper presents a series of modules that are designed to be integrated into undergraduate software engineering courses from a security perspective. The goal of the modules is to teach the building of robust software security requirements, secure software design and development, and secure software verification through a secure software development lifecycle.
Read moreRemote Web-based Cat Food Dispenser (DiCatDiHati)
The Remote Web-based cat food dispenser is a design that will help the cat owners to monitor or to feed their cats even without their presence. Currently, most of the cat owner feed their cats manually and sometimes they forgot to feed their cats before leaving home. This attitude can lead their cats for having unbalanced “diet” because beside did not feed their cat, the food that they fill in on the eating plate early in the morning also will be unhealthy. That food will expose to the air and it is not fresh anymore to be eat. The objective of this project are to identify the requirement in building and develop Remote Web-based Cat Food Dispenser that interfaces both smartphone and computer. Remote Web-based Cat Food Dispenser may have multiple function like the cat owners can feed their cats, check the balance of food in the container and set a notification or alarm for them. The waterfall model concept was been used for the software development model. The waterfall model contains some consecutives phases where each phases must be completed before moving to next phase (Bassil, 2012). Two type of testing has been conducted to accomplish the third objective of this project which are User Acceptance Test and Usability Test. Most of the cat owner give high marks on the User Acceptance. This concludes that Remote Web-based Cat Food Dispenser can be implemented by the cat owners in order to help their cat having a balance diet.
Read moreThe Performance and Reliability of Generative AI Models in Software Development: A C# Based Analysis
The effectiveness of generative artificial intelligence models in software development is determined not only by their ability to generate correct solutions but also by their adherence to quality metrics and their resilience to exceptional scenarios. In this context, a comparative evaluation was conducted on four models using 10 fundamental algorithm problems and 10 object-oriented programming problems in the C# programming language. The generated solutions were assessed in terms of time complexity, memory usage, lines of code, number of variables and methods, and execution time. In addition, meaningful edge-case scenarios were employed to measure error tolerance and exception handling performance. The findings indicate that all models produced functionally valid solutions, yet exhibited limitations in advanced software engineering practices such as modularity, comprehensive error management, performance measurement, and unit testing. The analysis revealed that ChatGPT and Gemini stood out in terms of structure and consistency, Claude demonstrated greater reliability in handling errors, while Copilot offered advantages in code simplicity. Overall, the results highlight the importance of evaluating generative AI models not only under ideal conditions but also in atypical scenarios to ensure software quality and reliability.
Read moreAutomatic model transformation on multi-platform system development with model driven architecture approach
Several difficulties commonly arise during the software development process. Among them are the lengthy technical process of developing a system, the limited number and technical capabilities of human resources, the possibility of bugs and errors during the testing and implementation phase, dynamic and frequently changing user requirements, and the need for a system that supports multi-platforms. Rapid application development (RAD) is the software development life cycle (SDLC) that emphasizes the production of a prototype in a short amount of time (30-90 days). This study discovered that implementing a model-driven architecture (MDA) approach into the RAD method can accelerate the model design and prototyping stages. The goal is to accelerate the SDLC process. It took roughly five weeks to construct the system by applying all of the RAD stages. This time frame does not include iteration and the cutover procedure. During the prototype test, there were no errors with the create, read, update, and delete (CRUD) procedure. It was demonstrated that automatic transformation in MDA can shorten the RAD phases for designing the model and developing an early prototype, reduce code errors in standard processes like CRUD, and construct a system that supports multi-platform.
Read moreThe Pros and Cons of the Most Utilized Software Development Models
This paper explores different models of software development based on their definition and process. Moreover, the models are connected to the lifecycle of the software project. The different software development models differ based on their approach to the requirements and the end product. The risk associated with each model is one of the distinctive features of each one of them. The study provides a comparison based on the advantages and disadvantages of each development model, which allows researchers and practitioners to make a choice in their research or project.
Read moreMeasuring object-oriented design principles: The results of focus group-based research
Measuring object-oriented design principles: The results of focus group-based research
THE ACCEPTANCE OF AN EDUCATIONAL INTEGRATED DEVELOPMENT ENVIRONMENT TO LEARN PROGRAMMING FUNDAMENTALS
Programming is an important course for any IT or engineering-related course. However, previous research shows that students face difficulties in learning programming due to its abstract concepts. This study aims to evaluate the acceptance of a developed Integrated Development Environment (IDE), namely C-SOLVIS which is a web-based application that specifically intends to facilitate the teaching and learning of the C programming fundamentals in Malaysian tertiary education. The C-SOLVIS integrates problem-solving into a program development environment for the C language. The goal is to guide the users in problem-solving and help them write C programs based on problem-solving algorithms. The Rapid Application Development (RAD) Model was employed in the C-SOLVIS development process. Based on this model, the requirement planning phase was carried out through the triangulation technique by applying qualitative approaches comprising a literature review supported by semi-structured interviews, document reviews, and content validation by expert programming lecturers. Subsequently, the design of the application was accomplished through the iterative prototyping process which was then followed by the application construction. Then, the C-SOLVIS is deployed to be used by several programming lecturers to evaluate its usability by adopting a quantitative method using the System Usability Scale (SUS) questionnaire. The study has discovered several suitable techniques and designs for the problem-solving and program development environment. For the problem-solving environment, the Computational Thinking (CT) concepts were applied which were supported by the Input-Process-Output (IPO) Model through Scientific Instructions and Inquiries. Meanwhile, the program development environment was designed and developed based on frame-based programming using a set of developed Code Patterns. The C-SOLVIS evaluation using the SUS instrument has yielded a SUS mean score of 86.07. This score is interpreted by SUS as an A grade that indicates C-SOLVIS as a highly usable application and thus is accepted for C programming learning. Hence, the development process of the C-SOLVIS can be used as a guideline for educational software development, especially in the field of programming education.
Read more