Software design and development
Software design and development encompasses an array of processes and methodologies. Developers have a lot to manage and will need guidance on how to handle different tasks and projects. Brush up on everything from app-dev approaches such as low code, test- and model-driven development, code refactoring and management practices, UI and UX design, and developer tools.
Top Stories
-
News
10 Sep 2024
JFrog connects key software supply chain management dots
JFrog ties in with GitHub and Nvidia and ships Runtime Security to offer visibility into software supply chains from source code to production and back again, including AI apps. Continue Reading
By- Beth Pariseau, Senior News Writer
-
News
05 Sep 2024
IT vendors still search for open source license sweet spot
Elastic returns Elasticsearch and Kibana to open source licenses while Sentry floats Fair Source, as balancing business and community success remains a work in progress. Continue Reading
-
News
05 Sep 2024
IT vendors still search for open source license sweet spot
Elastic returns Elasticsearch and Kibana to open source licenses while Sentry floats Fair Source, as balancing business and community success remains a work in progress. Continue Reading
-
Definition
26 Aug 2024
What is value-sensitive design?
Value-sensitive design is a concept that advocates the consideration of human principles and standards when planning technology. Continue Reading
By- Scott Robinson, New Era Technology
- Mary K. Pratt
-
Tip
26 Aug 2024
UX design principles: Why should testers know them?
Usability is key to the success of an application. Learn what developers and testers should look for to optimize usability and maximize the business value of an application. Continue Reading
By -
Video
22 Aug 2024
Sprint review vs. retrospective: What's the difference?
While the purposes of Scrum sprint planning and the daily standup are self-evident, people often confuse the sprint review and retrospective. Here's the difference between them. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
20 Aug 2024
Speed vs. quality in software testing: Can you have both?
Testing can slow development and quick releases can come at the price of quality. Teams should not have to choose. Learn to efficiently pursue quality in development and testing. Continue Reading
By -
Tip
16 Aug 2024
User mode vs. kernel mode: OSes explained
Kernel mode exists to keep user applications from disrupting critical system functions. Learn how each state works and what can happen when an error occurs in kernel mode. Continue Reading
By- Ben Lutkevich, Site Editor
-
Definition
15 Aug 2024
What is geolocation? Explaining how geolocation data works
Geolocation technology identifies physical locations of devices and individuals based on information such as geographic coordinates and internet protocol addresses (IP address). Continue Reading
By- Cameron Hashemi-Pour, Site Editor
-
Feature
14 Aug 2024
Learn about the negative impacts of technical debt
Key leadership decisions like poor architecture to rushed processes can lead to technical debt that will affect a company long-term. Learn more about these effects. Continue Reading
By -
Definition
14 Aug 2024
What is quality assurance (QA)?
Quality assurance (QA) is any systematic process of determining whether a product or service meets specified requirements. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Definition
13 Aug 2024
What is an embedded system?
An embedded system is a combination of computer hardware and software designed for a specific function. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Ben Lutkevich, Site Editor
-
Definition
07 Aug 2024
What is a quality gate?
A quality gate is a milestone in an IT project that requires that predefined criteria be met before the project can proceed to the next phase. Continue Reading
-
Tip
06 Aug 2024
Epics, features and user stories explained
Epics, features and user stories are all uniquely important work products in Agile product management. Learn the difference between them and how they work together to create value. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Definition
05 Aug 2024
What is a device driver?
A device driver, or driver, is a special kind of software program that controls a specific hardware device attached to a computer. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Ed Tittel
-
News
02 Aug 2024
AWS CodeCommit, Cloud9 closure communication critiqued
AWS CodeCommit gives up the Git ghost to competitors, while a lack of advance notice to users has some IT pros questioning the future of other services. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Video
02 Aug 2024
RestController vs. Controller: What's the difference?
Spring 4 introduced the RestController to simplify RESTful API development, but most Spring Boot developers still don't know how it differs from the Spring MVC Controller. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
31 Jul 2024
What is continuous integration (CI)?
Continuous integration (CI) is a software development practice in which frequent and incremental changes are routinely added (integrated) to the complete codebase immediately after the changes and additions are tested and validated. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
- Alexander S. Gillis, Technical Writer and Editor
-
Video
30 Jul 2024
Spring Boot REST API crash course
If you want to master RESTful API development in Java, you need to learn the Spring Boot web APIs. This REST tutorial gets you up to speed quickly on Spring Boot and REST. Continue Reading
By- Cameron McKenzie, TechTarget
-
Tutorial
29 Jul 2024
Natural language programming using GPTScript
GPTScript enables programmers to use natural language syntax and tap into OpenAI when building apps. Here's a basic GPTScript tutorial with examples for beginners. Continue Reading
By- Bob Reselman, CogArtTech
-
Definition
29 Jul 2024
What is no-code? Everything you need to know
No-code is a software development approach that requires few, if any, programming skills to quickly build an application, website or module that links into an existing system. Continue Reading
-
Definition
29 Jul 2024
What is REpresentational State Transfer (REST)
REST (REpresentational State Transfer) is an architectural style for developing web services and systems that can easily communicate with each other. Continue Reading
-
Definition
26 Jul 2024
What is a bitwise operator?
A bitwise operator is a character that represents an action taken on data at the bit level, as opposed to bytes or larger units of data. Continue Reading
By -
Definition
26 Jul 2024
What is an API endpoint?
An API endpoint is a point at which an application programming interface -- the code that enables two software programs to communicate with each other -- connects with the software program. Continue Reading
By- Kinza Yasar, Technical Writer
-
Definition
23 Jul 2024
What is computer-aided software engineering (CASE)?
Computer-aided software engineering (CASE) describes a broad set of labor-saving tools and methods used in software development and business process modeling. Continue Reading
By- Rahul Awati
- Patrick Thibodeau, Editor at Large
-
Tip
18 Jul 2024
What dangling pointers are and how to avoid them
Plenty of legacy systems are vulnerable to attackers looking for dangling pointers to gain unauthorized access. Learn how to identify dangling pointers and protect your network. Continue Reading
By -
Definition
16 Jul 2024
component
In programming and engineering disciplines, a component is an identifiable part of a larger program or construction. Continue Reading
By- Stephen J. Bigelow, Senior Technology Editor
-
Definition
16 Jul 2024
exception handler
An exception handler is code that stipulates what a program will do when an anomalous or exceptional event occurs and disrupts the normal flow of that program's instructions. Continue Reading
By -
Video
15 Jul 2024
How to print any star pattern in Python -- or Mojo
Mojo is a superset of Python. What does that mean? For one, printing a Python star pattern looks a lot like solving a Mojo star pattern. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Video
15 Jul 2024
REST vs RESTful API: What's the difference?
Are your APIs RESTful? The only way to know is to fully understand what REST is. Here's how REST and RESTful APIs work together. Continue Reading
By- Raghu Karan Adapala, Xennial Innovations Inc.
-
Tutorial
12 Jul 2024
Using generics in Typescript: An in-depth tutorial
Generic variables give the TypeScript language versatility and compile-time type safety that put it on par with Java, C# and C++. These examples show how to use TypeScript generics. Continue Reading
By- Bob Reselman, CogArtTech
-
Definition
09 Jul 2024
GitHub
GitHub is a web-based version control and collaboration platform for software developers. Continue Reading
By- Ben Lutkevich, Site Editor
- Meredith Courtemanche, Director of Editorial Training
-
Video
09 Jul 2024
Python's GIL removal is a poison pill and benefits Mojo
Developers have pleaded for 30 years for the stewards of the language to remove Python's GIL. If they do it now, it will be the end of Python. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Tip
03 Jul 2024
How to use parallel streams in Java with virtual threads
Virtual threads in Java currently lack integration with the stream API, particularly for parallel streams. Here's how a JDK 22 preview feature addresses the problem. Continue Reading
By- A N M Bazlur Rahman, DNAStack
-
Tip
02 Jul 2024
A guide to software design documentation and specifications
Software design documents still rank as important SDLC components -- even in the age of DevOps. Learn why they are important, how to write one and who should contribute. Continue Reading
By -
Tip
02 Jul 2024
Requirements vs. user stories in software development
User stories fulfill the same purpose as software requirements but through different means. Learn how to write user stories and how they relate to software requirements. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
News
25 Jun 2024
JFrog buy bolsters MLOps combo with DevSecOps
JFrog plans to meld AI/ML development with established DevSecOps pipelines through the acquisition of Qwak in a bid to help more enterprise AI apps reach production. Continue Reading
By- Beth Pariseau, Senior News Writer
-
News
24 Jun 2024
Workday GenAI upgrade aims to speed and simplify app dev
Workday speeds up creation of apps with AI-powered Developer Copilot and Visual UI Mode. Low-code improvements aim to help citizen developers. Continue Reading
By- Patrick Thibodeau, Editor at Large
-
Definition
20 Jun 2024
software patch
A software patch or fix is a quick-repair job for a piece of programming designed to resolve functionality issues, improve security or add new features. Continue Reading
By- Cameron Hashemi-Pour, Site Editor
- Brien Posey
-
Video
20 Jun 2024
No-GIL Python is a mistake
Python's GIL is slated for the chopping block, and while the promise is improved performance, the reality of removing the GIL may be quite different. Continue Reading
By- Darcy DeClute, Scrumtuous Inc.
-
Definition
14 Jun 2024
reactive programming
Reactive programming is a programming paradigm, or model, that centers around the concept of reacting to changes in data and events as opposed to waiting for an event to happen. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Tom Nolle, Andover Intel
-
Tip
14 Jun 2024
ORM vs. SQL: When to use each
Object relational mapping and raw SQL are two different ways to interact with relational databases. Learn when to use each of the two methods and when using both is appropriate. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
14 Jun 2024
object-oriented programming (OOP)
Object-oriented programming (OOP) is a computer programming model that organizes software design around data, or objects, rather than functions and logic. An object can be defined as a data field that has unique attributes and behavior. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Sarah Lewis
-
Tip
10 Jun 2024
5 Java ORM tools to know
ORMs are a popular method for connecting to databases from Java. Consider the tradeoffs of these ORM tools to decide which tool to run with. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
06 Jun 2024
software
Software is a set of instructions, data or programs used to operate computers and execute specific tasks. Continue Reading
By- Cameron Hashemi-Pour, Site Editor
- TechTarget Contributor
-
Definition
06 Jun 2024
domain-driven design (DDD)
Domain-driven design (DDD) is a software development philosophy centered around the business domain, or sphere of knowledge, of that software's users. Continue Reading
By -
Definition
31 May 2024
CQRS (command query responsibility segregation)
CQRS (command query responsibility segregation) is a programming design and architectural pattern that treats retrieving data and changing data differently. Continue Reading
By- Rahul Awati
- Kinza Yasar, Technical Writer
- Matt Heusser, Excelon Development
-
Video
30 May 2024
Constructor overloading in Java
Not every language supports method overloading, but Java always has. Here's how to perform constructor overloading in Java. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
30 May 2024
clipboard
A clipboard is a feature in an operating system or application that temporarily stores data copied or cut from a document or other location, allowing the user to transfer or duplicate it elsewhere. Continue Reading
-
News
29 May 2024
JFrog-GitHub partnership eyes software supply chain security
JFrog and GitHub released a set of focused integrations that provide better visibility across the software supply chain and advance the idea of 'EveryOps.' Continue Reading
By- Nicole Laskowski, Senior News Director
-
Definition
23 May 2024
CALMS
CALMS is a conceptual framework for the integration of development and operations (DevOps) teams, functions and systems within an organization. Continue Reading
By -
News
21 May 2024
Microsoft Visual Studio, Azure updates target AI developers
Microsoft updates this week aim to address the struggles of early enterprise generative AI adopters that have stalled efforts to put pilot projects into real-world production. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
20 May 2024
How to create an engaging README file
Every developer must learn the art of creating a README file to explain critical information about their software projects to internal stakeholders and customers. Continue Reading
By -
News
14 May 2024
What Google Gemini AI updates mean for software developers
Google's AI dev tools deliver natively multi-modal models that can process huge amounts of data more efficiently and affordably, making it easier to develop apps using AI. Continue Reading
By- Beth Pariseau, Senior News Writer
-
News
01 May 2024
Amazon Bedrock users adapt app dev to GenAI
Early adopters of Amazon Bedrock shared lessons learned about incorporating generative AI into software engineering workflows, from managing cloud costs to writing prompts. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
29 Apr 2024
integrated development environment (IDE)
An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
- Valerie Silverthorne
-
Definition
26 Apr 2024
12-factor app
Twelve-factor app is a methodology for building distributed applications that run in the cloud and are delivered as a service. Continue Reading
By- Margie Semilof, Editor At Large
-
Definition
26 Apr 2024
feature-driven development (FDD)
Feature-driven development (FDD) is an Agile software development framework that organizes work around product features. Continue Reading
-
Definition
25 Apr 2024
model-driven development
Model-driven development (MDD) is a format to write and implement software quickly, effectively and at minimum cost. Continue Reading
By- Alexander S. Gillis, Technical Writer and Editor
-
Tip
18 Apr 2024
The 7 stages of the SDLC explained
The development process can be broken into seven distinct phases that transform high-level plans into production-ready software. Learn how to approach each phase of the SDLC. Continue Reading
By -
Tip
17 Apr 2024
Learn the phases of feature-driven development
Learn how development teams can use the five phases of feature-driven development to put Agile principles into practice by structuring projects around app functionality. Continue Reading
By -
Tip
11 Apr 2024
Speed up Python and NumPy by avoiding the conversion tax
Data and memory transfers in Python come with a hidden performance tax. Here's how to use NumPy for optimal performance by avoiding jumps across a hidden line of conversions. Continue Reading
By- Maxim Zaks, Yoyo Labs
-
Video
09 Apr 2024
Top REST API URL naming convention standards
There is no official REST URL naming standard. However, these 15 RESTful API naming conventions will help you create highly interoperable web services. Continue Reading
By- Raghu Karan Adapala, Xennial Innovations Inc.
-
News
09 Apr 2024
New Google Gemini AI tie-ins dig into local codebases
Google ties in its latest Gemini AI model with company-specific data in a new code assistant and Vertex AI updates that also anticipate a coming wave of AI agent development. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
09 Apr 2024
middleware
Middleware is software that bridges the gap between applications and operating systems by providing a method for communication and data management. Continue Reading
By- Rahul Awati
- Alexander S. Gillis, Technical Writer and Editor
-
Video
04 Apr 2024
10 constructor types in Java
How many different types of Java constructors could you name? The Java spec names 10. Generic, canonical and anonymous Java constructor types just might be new to you. Continue Reading
By- Cameron McKenzie, TechTarget
-
News
04 Apr 2024
JetBrains IDEs add local AI code completion
JetBrains beats GitHub Copilot to an increasingly popular trend that circumvents copyright and data privacy concerns with cloud-based AI assistants. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Tip
04 Apr 2024
How to apply impact mapping to software with examples
Impact mapping can reduce scope creep and enable flexibility in the SDLC by creating a shared understanding among all stakeholders. Learn how to apply it to software projects. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
Tip
26 Mar 2024
Testing generative AI apps
With generative AI apps rising in popularity, QA professionals should be aware of their unique failure modes. Learn what testers need to consider when handling these tools. Continue Reading
-
Definition
25 Mar 2024
Spring Framework (Spring)
The Spring Framework (Spring) is an open source software development framework that provides infrastructure support for building Java-based applications on any deployment platform. Continue Reading
By -
Video
19 Mar 2024
Learn Maven tutorial for beginners
Apache Maven is the Java world's most popular build tool, and if you're a Java developer, it behooves you to learn it. This Maven tutorial will make you an expert in a hurry. Continue Reading
By- Cameron McKenzie, TechTarget
-
Definition
19 Mar 2024
scripting language
A scripting language is a type of programming language in which the instructions are interpreted individually at runtime. Continue Reading
-
Definition
15 Mar 2024
low-code and no-code development platforms
Low-code/no-code development platforms are software development tools and environments that allow enterprise developers and citizen developers to create new applications using drag-and-drop components, linking them together and creating mobile or web apps. Continue Reading
-
News
15 Mar 2024
CISA software supply chain security form omits SBOMs
Federal suppliers now have a self-attestation deadline amid ongoing efforts to secure software supply chains. But SBOMs' spotlight is fading and big risks remain, experts said. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
15 Mar 2024
application architecture
An application architecture is a structural map of how a software application is assembled and how applications interact with each other to meet business or user requirements. Continue Reading
-
Tip
14 Mar 2024
Applying Kanban principles to software development
Kanban was conceptualized in manufacturing and later adopted by software development teams, alongside other methodologies, such as Lean and Scrum. Learn to apply Kanban principles. Continue Reading
By- Gerie Owen, Cubic Transportation Systems
-
News
13 Mar 2024
Researchers warn devs of vulnerabilities in ChatGPT plugins
OpenAI and two third-party providers fixed vulnerabilities in the experimental ChatGPT plugins framework, but Salt Security researchers caution devs that security risks persist. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
06 Mar 2024
program counter
A program counter is a special register in a computer processor that contains the memory address (location) of the next program instruction to be executed. Continue Reading
-
Definition
06 Mar 2024
functional programming
Functional programming is a programming paradigm that uses functions to construct programs and control how those programs operate. Continue Reading
By- Ben Lutkevich, Site Editor
-
Definition
05 Mar 2024
declarative programming
Declarative programming is a method to abstract the control flow for logic required for software to perform an action. Instead, it involves stating what the task or desired outcome is. Continue Reading
-
News
28 Feb 2024
New Nvidia, GitHub AI coding assistants expand devs' options
GitHub Copilot Enterprise and StarCoder2 LLMs, both released this week, will add to an array of AI coding assistants. But caution, especially with security, is still warranted. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
06 Feb 2024
API gateway (application programming interface gateway)
An API gateway is a software pattern that sits in front of an application programming interface (API) or group of microservices to facilitate requests and delivery of data and services. Continue Reading
By- Paul Kirvan
- James Montgomery, Senior Features Editor
-
News
29 Jan 2024
Credit Karma preps 'Zero-touch' Argo Rollouts
The Intuit subsidiary is in the process of moving to a homegrown event-driven progressive delivery platform and has already contributed some related code upstream. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
25 Jan 2024
Java
Java is a widely used programming language expressly designed for coding applications and services used in the distributed environment of the internet. Continue Reading
By- Rahul Awati
- Cameron McKenzie, TechTarget
-
Definition
25 Jan 2024
Chaos Monkey
Chaos Monkey is a software tool Netflix engineers developed to test the resiliency and recoverability of their Amazon Web Services (AWS) infrastructure. Continue Reading
-
News
23 Jan 2024
Docker Build Cloud claims speed boost for dev workflows
Docker ships a managed service that pushes container image builds to AWS and adds shared caches to customers' existing dev tools. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
12 Jan 2024
polyglot programming
Polyglot programming is the practice of writing code in multiple languages to capture additional functionality and efficiency not available in a single language. Continue Reading
By- Rahul Awati
- Cameron McKenzie, TechTarget
-
Tip
08 Jan 2024
Compare 3 top AI coding tools
AI-powered coding tools GitHub Copilot, Amazon CodeWhisperer and Tabnine take an innovative approach to software development -- but don't count the human developer out just yet. Continue Reading
By -
Definition
05 Jan 2024
beta test
In software development, a beta test is the second phase of software testing in which a sampling of the intended audience tries out the product. Continue Reading
By -
Tip
03 Jan 2024
How to write a sprint goal in Scrum
The product of every sprint planning session is a sprint goal. Here, we look at its purpose along with how to write a sprint goal properly. Continue Reading
-
Feature
03 Jan 2024
12 Web3 courses to try in 2024
Gain the skills necessary to engage with the newest iteration of the web using one of the many Web3 developer courses and learning resources available online. Continue Reading
By- Kaitlin Herbert, Content writer
- Ben Lutkevich, Site Editor
-
Tip
02 Jan 2024
Create an open source security policy for your organization
Using open source software raises concerns about security and intellectual property. Here's how to make sound decisions and avoid situations you'll regret. Continue Reading
-
Tip
28 Dec 2023
The benefits of using compiled regex in Python and Java
Whether you're programming in Java or Python, compiled regex can significantly speed up your text manipulation routines. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Tip
28 Dec 2023
Conduct load tests with JMeter on Kubernetes
Apache JMeter and other load-testing tools can be used with Kubernetes to conduct stress tests to see how well an app performs in specific scenarios. Continue Reading
-
Tip
27 Dec 2023
Shorter code, fewer bugs: Python's syntax is its saving grace
Is shorter code too dense and hard to parse, or is it inherently more efficient and secure? Here's why Python's compact syntax tends toward less buggy code. Continue Reading
By- Walker Aldridge, Lairds Computer Services
-
Tip
21 Dec 2023
Object-oriented vs. functional programming explained
While plenty of developers entertain the idea of adopting a functional programming model, it's important to first know exactly how it differs from the object-oriented approach. Continue Reading
By- Matt Heusser, Excelon Development
-
Definition
20 Dec 2023
iOS software development kit (iOS SDK)
The iOS software development kit (iOS SDK) is a collection of tools for the creation of apps for Apple's mobile operating system (OS). Continue Reading
-
Feature
19 Dec 2023
The 5 SOLID principles of object-oriented design explained
In this primer on SOLID, we'll examine the five principles this development ideology embodies, the practices they encourage and the reasons these concepts matter. Continue Reading
By- Fred Churchville, TechTarget
-
Tip
19 Dec 2023
How to set up Python coding standards for a dev team
Python team leaders have two challenges when it comes to code standards: creating a style guide and getting developers to stick to it. Continue Reading
By -
Tip
12 Dec 2023
The pros and cons of a layered architecture pattern
Layered architecture patterns provide a consistent and secure way to organize code when implemented correctly. However, the way those layers interact should remain a top concern. Continue Reading
By- Priyank Gupta, Sahaj Software
-
News
06 Dec 2023
Google Gemini, AWS GenAI tools face uphill battle for devs
Google's Gemini model claims performance advantages over GPT-4, while AWS touts foundational model choice, but Microsoft still has the advantage in developer tools, IT pros say. Continue Reading
By- Beth Pariseau, Senior News Writer
-
Definition
06 Dec 2023
citizen development
Citizen development is a business process that encourages non-IT-trained employees to become software developers, using IT-sanctioned low-code/no-code (LCNC) platforms to create business applications. Continue Reading
By