Systems design
{{more citations needed|date=April 2013}}{{Short description|Organizing components structures and behaviors for any simple to complex system}}
The basic study of system design is the understanding of component parts and their subsequent interaction with one another.{{Cite book |last=Papanek |first=Victor J. |author-link=Victor Papanek |title=Design for the Real World: Human Ecology and Social Change |date=1984 |publisher=Academy Chicago |isbn=0897331532 |edition=2nd |location=Chicago |page=276 |oclc=12343986 |orig-year=1972}}
Systems design has appeared in a variety of fields, including sustainability,{{Cite journal |last1=Blizzard |first1=Jacqualyn |last2=Klotz |first2=Leidy |date=2012 |title=A framework for sustainable whole systems design |url=https://www.sciencedirect.com/science/article/abs/pii/S0142694X12000105 |journal=R Design Studies |volume=33 |issue=5 |pages=456–479 |doi=10.1016/j.destud.2012.03.001|url-access=subscription }} computer/software architecture,{{Cite journal |last1=Lukosh |first1=Heidi |last2=Bekebrede |first2=Geertje |last3=Kurapati |first3=Shalini |last4=Lukosch |first4=Stephan |date=2018 |title=A Scientific Foundation of Simulation Games for the Analysis and Design of Complex Systems |journal=Simulation & Gaming |volume=49 |issue=3 |pages=279–314 |doi=10.1177/1046878118768858 |pmc=6187265 |pmid=30369775}} and sociology.{{Cite journal |last=Werner |first=Ulrich |date=September 1987 |title=Critical heuristics of social systems design |journal=European Journal of Operational Research |volume=31 |issue=3 |page=276-283 |doi=10.1016/0377-2217(87)90036-1}}
Product Development
If the broader topic of product development "blends the perspective of marketing, design, and manufacturing into a single approach to product development,"{{Cite book |last1=Ulrich |first1=Karl T. |title=Product Design and Development |last2=Eppinger |first2=Steven D. |author-link2=Steven D. Eppinger |publisher=Irwin McGraw-Hill |year=2000 |edition=Second |location=Boston}} then design is the act of taking the marketing information and creating the design of the product to be manufactured.
Thus in product development, systems design involves the process of defining and developing systems, such as interfaces and data, for an electronic control system to satisfy specified requirements. Systems design could be seen as the application of systems theory to product development. There is some overlap with the disciplines of systems analysis, systems architecture and systems engineering.{{FS1037C}}{{DODDIC}}
=Physical design =
The physical design relates to the actual input and output processes of the system. This is explained in terms of how data is input into a system, how it is verified/authenticated, how it is processed, and how it is displayed.
In physical design, the following requirements about the system are decided.
- Input requirement,
- Output requirements,
- Storage requirements,
- Processing requirements,
- System control and backup or recovery.{{Cite book |last=Arden |first=Trevor |title=Information technology applications |date=1991 |publisher=Pitman |isbn=978-0-273-03470-4 |location=London}}
Put another way, the physical portion of system design can generally be broken down into three sub-tasks:
- User Interface Design
- Data Design
- Process Design
=Architecture design=
Designing the overall structure of a system focuses on creating a scalable, reliable, and efficient system. For example, services like Google, Twitter, Facebook, Amazon, and Netflix exemplify large-scale distributed systems. Here are key considerations:
- Functional and non-functional requirements
- Capacity estimation
- Usage of relational and/or NoSQL databases
- Vertical scaling, horizontal scaling, sharding
- Load balancing
- Primary-secondary replication
- Cache and CDN
- Stateless and Stateful servers
- Datacenter georouting
- Message Queue, Publish-Subscribe Architecture
- Performance Metrics Monitoring and Logging
- Build, test, configure deploy automation
- Finding single point of failure
- API Rate Limiting
- Service Level Agreement
=Machine Learning Systems Design=
Machine learning systems design focuses on building scalable, reliable, and efficient systems that integrate machine learning (ML) models to solve real-world problems. ML systems require careful consideration of data pipelines, model training, and deployment infrastructure. ML systems are often used in applications such as recommendation engines, fraud detection, and natural language processing.
Key components to consider when designing ML systems include:
- Problem Definition: Clearly define the problem, data requirements, and evaluation metrics. Success criteria often involve accuracy, latency, and scalability.{{Cite book |last=Sorvisto |first=Dayne |title=MLOps Lifecycle Toolkit: A Software Engineering Roadmap for Designing, Deploying, and Scaling Stochastic Systems |publisher=Apress |year=2023 |isbn=978-1-4842-9641-7}}
- Data Pipeline: Build automated pipelines to collect, clean, transform, and validate data.{{Cite book |last=Polyzotis |first=Neoklis |chapter=Data Management Challenges in Production Machine Learning |date=2017 |pages=1723–1726 |title=Proceedings of the 2017 ACM International Conference on Management of Data |doi=10.1145/3035918.3054782|isbn=978-1-4503-4197-4 }}
- Model Selection and Training: Choose appropriate algorithms (e.g., linear regression, decision trees, neural networks) and train models using frameworks like TensorFlow or PyTorch.
- Deployment and Serving: Deploy trained models to production environments using scalable architectures such as containerized services (e.g., Docker and Kubernetes).{{Cite book |last=Huyen |first=Chip |title=Designing Machine Learning Systems |publisher=O'Reilly Media |year=2022 |isbn=978-1-098-10796-3}}
- Monitoring and Maintenance: Continuously monitor model performance, retrain as necessary, and ensure data drift is addressed.{{Cite web |title=Machine Learning at Scale: Challenges and Best Practices |url=https://cloud.google.com/blog/topics/developers-practitioners/machine-learning-scale-challenges-and-best-practices |website=Google Cloud Blog |date=2020}}
Designing an ML system involves balancing trade-offs between accuracy, latency, cost, and maintainability, while ensuring system scalability and reliability. The discipline overlaps with MLOps, a set of practices that unifies machine learning development and operations to ensure smooth deployment and lifecycle management of ML systems.
See also
{{div col|colwidth=22em}}
- Arcadia (engineering)
- Architectural pattern (computer science)
- Configuration design
- Electronic design automation (EDA)
- Electronic system-level (ESL)
- Embedded system
- Graphical system design
- Hypersystems
- Modular design
- Morphological analysis (problem-solving)
- Systems analysis and design
- SCSD (School Construction Systems Development) project
- System information modelling
- System development life cycle (SDLC)
- System engineering
- System thinking
- TRIZ
{{Div col end}}
References
{{Reflist}}
Further reading
- {{Cite book |last1=Bentley |first1=Lonnie D. |author-link1=Lonnie D. Bentley |title=System analysis and design methods |last2=Dittman |first2=Kevin C. |author-link2=Kevin C. Dittman |last3=Whitten |first3=Jeffrey L. |author-link3=Jeffrey L. Whitten |year=2004 |orig-year=1986}}
- {{Cite book |last=Churchman |first=C. West |author-link=C. West Churchman |title=The Design of Inquiring Systems: Basic Concepts of Systems and Organization |publisher=Basic Books |year=1971 |isbn=0-465-01608-1 |location=New York}}
- {{Cite book |last=Gosling |first=William |author-link=William Gosling (engineer) |url=https://archive.org/details/designofengineer00gosl |title=The design of engineering systems |publisher=Wiley |year=1962 |location=New York |url-access=registration}}
- {{Cite book |last=Hawryszkiewycz |first=Igor T. |title=Introduction to system analysis and design |publisher=Prentice Hall PTR |year=1994}}
- {{Cite book |last=Levin |first=Mark S. |title=Modular system design and evaluation |publisher=Springer |year=2015}}
- {{Cite book |last1=Maier |first1=Mark W. |title=The Art of System Architecting |last2=Rechtin |first2=Eberhardt |publisher=CRC Press |year=2000 |edition=Second |location=Boca Raton}}
- {{Cite Q| Q56503280}}
- {{Cite book |last1=Whitten |first1=Jeffrey L. |author-link1=Whitten, Jeffrey L. |title=Fundamentals of system analysis and design methods |last2=Bentley |first2=Lonnie D. |author-link2=Lonnie D. Bentley |last3=Dittman |first3=Kevin C. |author-link3=Kevin C. Dittman |year=2004}}
External links
{{Wiktionary}}
- [http://www.dcs.gla.ac.uk/~johnson/teaching/isd/course.html Interactive System Design]. Course by Chris Johnson, 1993
- [https://systemdesign.htw-berlin.de/produkte-prozesse/] Course by Prof. Birgit Weller, 2020
{{Design}}
{{Systems engineering}}
{{Authority control}}