Software system design refers to the process of designing the elements within a software system. The aim of quality design is to ensure that all the components of a system work effectively. While developing new software, a design team may use system analysis to break up a system into its constituent parts so they can be individually analyzed.
Elements of Software Systems Design
SIUE students pursuing an MBA with a Management Information Systems Specialization learn about the basic elements of system design:
- Architecture defines how the system is structured. Flowcharts are often used to represent this aspect of system design.
- Modules handle specific tasks in a system and collectively constitute a system.
- Components make up modules and perform functions as a group.
- Interfaces are boundary points where components of a system exchange information.
- Data refers to information and how it is managed through data flow.
The Software Systems Design Process
A software system consists of interlinked components that perform a specific task. Common examples of software systems include operations systems, webpages, smartphone apps, computer reservations systems, content management systems, air traffic control systems, telecommunication networks and database management systems.
Factors that shape the design of a system can include development timeline, cost, need for efficiency, maintainability and reliability. Early on in the process, a design team should ask the following questions about the project.
- How many users will the system need to support?
- How many queries will the system need to handle each day, week or month?
- How will a spike in user traffic be handled?
- How will data be stored?
- How important is cybersecurity?
- How many years will the system need to last?
- How important is the user experience for this product?
- How will subsystems within the software communicate?
A software systems design team begins by identifying the technologies that will underpin the new system and its physical interfaces. At this point, team members should anticipate which technologies have the potential to significantly evolve or become obsolete. If a type of technology has the potential to go out of date, the design team can anticipate suitable replacements.
Next, the team needs to outline the design process strategy. They should ensure that any architectural characteristics chosen are implementable. Along each step of the process, team members assess and evaluate each decision, taking into account the possibility for redundancies and obsolete methods and technologies.
Once the software system is running, certain qualities should be assessed to determine how effective the system is.
- Modularity: A software program should enable division into small interface groups. This feature allows a program to be worked on in parts if needed.
- Maintainability: A good software design should be easy to read and maintain. Being able to quickly diagnose bugs is one aspect of a well-designed program.
- Performance: Good software systems are fast, efficient and tolerant of usage spikes.
- Usability: Employees and consumers should be able to easily navigate the front end of any software system.
- Trackability: When a management team orders the design of a new software system, they often have certain goals in mind. If the purpose of the software system is to answer online customer questions, for example, it should include a feature that allows upper management to track the number of queries processed within a certain time period.
Learn About Software Systems Design Through SIUE’s Online MBA Program
Southern Illinois University Edwardsville’s online Master of Business Administration program with a Management Information Systems Specialization offers a course on software systems design that covers techniques and tools for information systems analysis, process-oriented modeling, structured design concepts and re-engineering business processes. Program graduates will have the know-how to design and improve information systems for any business.
Learn more about the SIUE online MBA program with a Management Information Systems Specialization.
Sources:
Medium: System Design in Software Development