728x90
반응형

2024/07 22

Software API (Application Programming Interface)란 무엇인가?

최근 개인적인 일로 Software API 관련 비즈니스 기획을 진행한 적이 있습니다. 대학을 다닐때부터 전공이 컴퓨터공학이었던터라 API를 실제로 많이 사용하기도 했었고, 석사와 박사과정을 거치며 수많은 책이나 논문을 통해서도 이 API란 용어를 많이 사용했었지만, 이에 대한 체계적인 정리를 해 본적이 없다는 생각이 들더라구요.그래서 오늘은 Software API 라는 주제에 대해 정리를 해 보고자 합니다. 1. 소프트웨어 API 란 무엇인가요?API (Application Programming Interface)는 소프트웨어 어플리케이션 간의 상호작용을 가능하게 하는 인터페이스 입니다. API는 소프트웨어간 데이터를 주고 받거나 기능을 사용할 수 있도록 정의된 규칙과 프로토콜을 제공하게 됩니다.따라서..

System Engineering 2024.07.27

상용차 보조제동 시스템 : 종류별 동작 방식과 장단점

상용차는 주로 사람이나 화물을 운송하기 위해 사용되는 차량을 말합니다. 상용차는 개인용 차량과 구분되며, 비즈니스 목적으로 운행되며, 대표적으로 트럭, 버스, 밴, 그리고 특수차량과 같은 것들이 있습니다.이러한 상용차는 무겁고 크기 때문에 제동 시스템이 중요합니다. 주 제동장치 외에 보조제동 시스템을 갖추어 제동 성능을 향상시키고 안전성을 높입니다. 이번 글에서는 상용차에 사용되는 주요 보조제동 시스템의 종류, 동작 방식, 그리고 각 시스템의 장단점에 대해 상세히 살펴보겠습니다. 1. 리타더(Retarder)1.1 전기식 리타더 (Electric Retarder)전기식 리타더는 차량의 변속기나 드라이브 샤프트에 장착되어 전기 모터를 사용하여 제동력을 생성합니다. 모터는 회전하면서 전자기력을 발생시켜 차량..

Automotive 2024.07.27

해외 AI 안전연구소 추진 현황과 시사점

소프트웨어 정책연구소에서 몇일전 내 놓은 자료가 있는데, 최근 많은 사람들의 관심을 끌고 있는 생성형 AI가 윤리적 문제와 같은 잠재적 위험에 대한 우려에 대해 해외에서 추진되고 있는 인공지능 규제에 대한 연구현황 자료입니다.오늘은 이 보고서를 읽고 간략히 정리 해 보고자 합니다. 생성형 AI의 위험성먼저 생성형 AI의 위험성에 대해 언급하고 있는데, 생성형 AI 기술의 오작동, 악의적 사용, 블랙박스 모델 등으로 인해 사회적 피해와 그 결과의 해석에 많은 어려움이 발생하고 있다는 점을 소개하고 있습니다. 이에 수많은 AI 전문가들이 언젠가는 AI 기술이 인간의 통제를 벗어나 인류의 실존적 위협이 될 수 있다고 경고하는 내용도 포함하고 있습니다. 국제 규제 동향먼저 2024년 5월, 유럽연합에서는 세계 ..

System Engineering 2024.07.27

인공지능과 소프트웨어 공학: 융합의 시대

인공지능(AI, Artificial Intelligence)과 소프트웨어 공학(Software Engineering)은 현대 소프트웨어 기술 발전에 절대적 기여를 하고 있는 분야로서, 이 두 분야의 융합은 다양한 산업에 혁신을 가져올 수 있다고 생각합니다. 하지만 두 분야의 융합을 위해 필요한 개념 정리와 고려사항들이 체계적으로 정리되지 못한 듯하여, 이번 블로그에서는 이런 내용을 다뤄보고자 합니다. 1. 인공지능(AI)란 무엇인가?인공지능은 컴퓨터 시스템이 인간의 지능적 작업을 수행할 수 있도록 만드는 기술입니다. AI는 머신 러닝(ML, Machine Learning), 자연어 처리(NLP, Natual Language Processing), 컴퓨터 비전(CV, Computer Vision) 등 다양..

2024 자동차 소프트웨어 개발 현황 보고서: 주요 내용 분석

자동차 산업은 소프트웨어 개발이 중심이 되어 혁신적인 변화를 겪고 있습니다. 2024년 자동차 소프트웨어 개발 현황 보고서는 이 역동적인 분야를 형성하는 도전 과제, 트렌드 및 발전에 대한 포괄적인 통찰을 제공합니다. 전 세계에서 600명 이상의 자동차 개발 전문가들의 설문 조사를 바탕으로 한 주요 내용을 구체적으로 분석하고, 이에 따른 의견 및 개발 대안을 제시합니다. 1. 품질 우선의 시대품질은 이제 자동차 소프트웨어 개발에서 가장 중요한 요소로 자리 잡았습니다. 이는 아시아 태평양 지역 응답자 수가 증가하면서 나타난 결과로, 이 지역에서는 품질 유지에 특히 중점을 두고 있습니다. 응답자의 29%가 품질을 주요 우려 사항으로 꼽았고, 이는 테스트 시간이 부족하다는 점에서 기인했습니다.개발 대안:• 자..

Automotive 2024.07.24

애자일 소프트웨어 개발 (Agile Software Development)

소프트웨어를 개발하는 방법론은 매우 다양합니다. 그리고 산업별/조직별로 다양한 개발 방법론을 취사 선택하고 있을 것입니다. 이는 각 방법론이 갖는 장점으로 인해 그리고 기타 여러 이유로 인해 다른 개발 방법로으로의 전환을 고려하고 있는 조직/회사도 있을 것으로 생각합니다. 이때 선택할 수 있는 개발 방법론 중 하나로 애자일 소프트웨어 개발(Agile Software Development)이 있을 것 입니다.그렇다면 애자일 소프트웨어 개발이란 무엇일까요? 1. 애자일 소프트웨어 개발이란 무엇인가?애자일 소프트웨어 개발은 유연성의 필요성을 예측하고 완성된 제품의 전달에 실용적인 접근을 적용하는 소프트웨어 개발 방법론의 한 유형입니다. 애자일 소프트웨어 개발은 많은 회사에서 문화적 변화를 요구하는데, 이는 전..

소프트웨어 형상관리와 소프트웨어 개발

소프트웨어 형상관리 (Software Configuration Management)의 의미소프트웨어 형상관리는 다양한 소프트웨어 개발 표준에서 중요하게 언급되며, 각 표준은 형상관리의 정의와 목적을 명확히 하고 있습니다. 다음은 대표적인 소프트웨어 관련 표준에서 언급한 소프트웨어 형상관리의 정의입니다.더보기 ISO/IEC/IEEE 12207ISO/IEC/IEEE 12207은 소프트웨어 생명 주기 프로세스를 정의하는 국제 표준으로 소프트웨어의 일관성, 무결성, 추적성을 유지하고, 변경사항을 효과적으로 관리하여 소프트웨어 품질을 보장하기 위한 방안으로 소프트웨어 형상관리를 다음과 같이 정의하고 있습니다."형상관리는 소프트웨어 제품의 구성 요소와 관련 문서의 상태를 식별하고, 변경을 제어하며, 상태와 변경 이..

소프트웨어 품질:: 형상관리 측정 지표

소프트웨어 개발에서 형상관리(Software Configuration Management, SCM)는 소프트웨어의 품질과 일관성을 유지하는데 필수적인 역할을 합니다. 따라서 얼마나 충실하게 SCM이 이루어지고 있는지를 확인할 필요가 있는데, 이를 위해 SCM 지표를 알아보고자 합니다. SCM 지표는 개발 과정에서 체계적으로 관리하고 효율성을 높이는데 중요한 도구입니다. 1. 버전 관리 지표 (Version Control Metrics)변경 요청 수 (Number of Change Requests, NCR)소프트웨어 변경은 프로젝트 과정에서 수시로 발생하며, 요구사항 분석의 오류나 설계 오류, 버그 등 다양한 이유에서 발생하게 됩니다. NCR은 Fred Brooks는 "The Mythical Man-Mon..

소프트웨어 공학의 중요성: 의사소통과 협업을 중심으로

소프트웨어 공학의 주된 목적은 "고품질의 소프트웨어를 효율적으로 개발하고, 유지보수 하는 것"입니다. 그래서 일반적으로 소프트웨어 공학의 중요성을 이야기할 때, 생산성과 품질 관점에서 소프트웨어 개발 및 검증 프로세스, 소프트웨어 품질 및 생산성 개선, 개발 및 검증 방법론, 유지보수, 비용 등의 기술적 주제를 중심으로 소프트웨어 공학의 필요성과 중요성을 이야기합니다. 물론 이러한 논점에 이견이 있을 수는 없을 것입니다. 그러나 개인적 경험을 바탕으로 볼 때, 소프트웨어 공학이란 학문을 구성하는 주요 요소로는 결국 "사람"이며 다수의 팀원이 협업을 통해 소프트웨어를 개발하고, 프로세스를 실행하며, 품질과 생산성에 기여하는 등 소프트웨어 공학의 모든 행위에 있어 가장 중요한 활동 중 하나가 바로 "의사소통..

소프트웨어 기능 요구사항 상세화 수준

소프트웨어 요구사항을 분석하거나 요구사항 명세서를 작성하는 관점에서 볼 때, 실무에서 가장 많이 고민하는 질문은 "요구사항을 어느정도로 상세하게 작성해야 하는가?" 일 것입니다. 이에 대한 정확한 답을 내기에는 프로젝트마다 달라질 것이며, 프로젝트의 진행 정도에 따라서도 달라질 것이며, 프로젝트 실무자 즉, 이해관계자들에 따라서도 달라질 수 있는 문제라고 생각합니다.그렇다면 객관적으로 소프트웨어 요구사항 상세화는 어떻게 접근하는 것이 올바른 방향일까를 고민하기 위해 다음 글을 작성해 봅니다.먼저 소프트웨어 기능 요구사항의 상세화는 소프트웨어 동작에 대한 세부 묘사의 많고 적음에 따라 달라진다고 보아야 할 것입니다. 즉, 소프트웨어 기능의 설명이 얼마나 자세하거나 일반적인지에 따라 상세화 수준이 결정된다고..

728x90
반응형