본문 바로가기

카테고리 없음

[30min IT] 미국 컴퓨터공학 전공책: PART 1 Introduction to Software Engineering




The goal of software engineering is the creation of software system that meet the needs of customers and are reliable, efficient, and maintainable. In addition the system should be produced in an economical fashion, meeting project schedules and budgets. It's not only what is produced that's important but also how it is produced. 


With increased size comes greatly increased complexity, and applying a systematic and disciplined approach is critical. The Study Group deliberately used the term " software engineering" as they wanted to "imply the need for software manufacture to be based on the types of foundation that is engineering." 


Successful software project must adequately plan for and address 4P(People, Product, Project, Process). Sometimes, the needs of each of the P's conflict each other, and a proper balance must be achieved for project to be successful. 


Software Engineering Principles

- Give Products to Customers Early: It's virtually impossible to know all the requirements in advance ,and involving customers as early as possible is critical to getting the requirement right. Employing techniques such as agile processes, prototyping, or incremental process allow customers to get software into their hands early in the development cycle. 

- Minimize Intellectual Distance: The structure of both the software solution and real-world problem should be as similar as possible. The closer the structure each other, the easier it s to develop and maintain the software.

  

소프트웨어 공학의 목표는 고객의 필요에 부응하고 신뢰할만 하고 효율적이고 유지보수가 쉬운 소프트웨어 시스템을 만드는 것이다. 이해 더하여 시스템은 경제적인 가치를 생성해야 하며 소프트웨어 제작 프로젝트의 기간과 예산에 부응해야한다. 이는 무엇이 생산되었느냐만이 중요한 것이 아니라 어떻게 생산되었느냐도 중요한 것이다. 


프로젝트 크기가 커짐에 따라서 복잡성도 증가함에 따라 시스템적으로 관리하는 접근이 필수적이다. 학자들은 공학을 기반으로 한 소프트웨어 제조방식을 적용하고자 "소프트웨어 공학"이라는 용어를 일부러 썻다. 


성공적인 소프트웨어 프로젝트는 반드시 4P(사람,제품,프로젝트,과정)에 대해 적절히 계획되어야 한다. 가끔 4P사이에 갈등이 일어나기도 하는데, 프로젝트가 성공하기 위해서는 적당한 균형을 이루어야 한다.