컴퓨터 사용화 초기
시스템을 개발한다는 것, 특히 소프트웨어 시스템을 개발한다는 것은 프로그래밍을 잘하는 소수에 불과하다.
하드웨어 자원의 제약
몇 비트를 줄이고 수천 분의 일초를 단축하려는 노력이 요구된다. 즉 프로그램 작성시 하드웨어 자원을 고려하는 것이 중요했다.
기계중심코딩
기계중심의 코딩을 잘한다는 것은 짧은 프로그램 길이로 제 기능을 가질 수 있는 코딩 능력을 의미한다.
기계중심코딩의 한계
2000년대에 발생한 Y2K 문제로 기계 중심 코딩의 한계에 봉착하였다. 기계 중심 개발 시기에는 프로그래머가 개발자 자신을 위한 설계의 편의성보다는 기계의 한계를 가장 중요하게 고려했다 결국 개발자 이외의 다른 프로그래머들조차 소스코드를 이해하기 어려워졌다.
1960년대 시스템 개발
하드웨어 기술이 발전하고 소프트 웨어 프로그램이 점점 복잡해지고 거대화 되었다. 프로그래머 한 개인의 의존도보다는 팀으로 함께 시스템을 개발하는 작업 방식이 늘어났다.
소프트웨어 위기(Software Crisis)발생
1. 예상 비용의 증가
2. 공급지연
3.신뢰성 저하
4.유지보수의 어려움
이는 시스템 개발 시 속돈나 기억 용량의 효율적 사용보다 믿을 수 있고(Rellable), 견고하고(Robust), 쉽게 유지 보수할 수 있는 소프트웨어를 개발하는 것이 요구된다.
소프트웨어공학의 등장
최소의 비용으로 정해진 시간내에 고품질의 소프트웨어를 개발하기 위해 생겨난 학문
방법론 중심
구조적 프로그래밍 -> 설계/분석 방법론 -> 객체 지향 설계/ 분석 방법론
1.구조적 프로그래밍
프로그램의 품질을 높이기 위한 방법
기법
1. 시스템 구성 요소를 모듈별로 나누는 기법
2. 시스템의 구조들을 더 세밀한 부분 구조로 나누어 가는 하향식 프로그래밍 기법
개발자들에게 구조적 프로그래밍이 모듈별 구체적 이해는 물론, 프로그램을 전체적으로 그리고 계층적으로 이해하는데 적합한 방법이 되어 소스 코드 작성 및 이해가 용이해 지면서 보다 더 나은, 복잡한 소프트웨어 개발이 가능해 졌다.
2. 시스템 설계/분석 방법론
1970년대 중반 이후
직접 코딩한 프로그램이 실패하는 사례가 많아지면서 코딩 단계 이전에 시스템 설계를 구체화 하는 문제가 대두되었다.
1980년대
소프트웨어 개발에서 모든 단계의 자동화를 위해 전산화된 도구를 사용하기 시작, 개발자의 설계나 코딩의 편의성을 도모하는 CASE(Computer Aided Software Engineering)가 부상함
1980년대 말 이후
C,Pascal등 절차식 프로그래밍 언어 사용에 따른 문제점으로 유지 보수 문제, 소스코드 재사용의 어려움등이 논의 되기 시작했다.
3.객체 지향 설계/ 분석 방법론
서로 다른 소프트웨어 사이에도 공통으로 들어가는 기능들이나 유사한 기능들이 많이 존재한다. 공통의 기능이나 유사한 기능을 여러 소프트웨어에서 재사용하는 것이 쉬워지면서 소프트웨어 개발 기간의 단축이나 보수의 비용 절감이 가능해졌다.
객체 지향 프로그래밍 언어 출현
C++,JAVA, Small Talk 등 객체 지향 개념은 시스템 분석과 설계를 위한 방법론의 대안으로 등장하면서 1990년대 초반 다수의 객체 지향 방법론들이 제안되었다.
소프트웨어 공학의 발전으로 프로그램 개발자에게 더 나은 개발 환경이 제공되었다.
컴퓨터의 보편화
사람들마다 컴퓨터가 무엇인지, 소프트웨어가 무엇인지 자신의 의견과 기호가 생길정도로 컴퓨터가 보편화되면서 개발자의 편의성만이 아니라 사용자의 편의성을 더욱 생각하게 됐다.
인터페이스의 중요성 증가
사용자들은 컴퓨터 시스템 내부 구조에 대해서 접근이 어렵지만 인터페이스에 대해서는 자신들의 의견을 표출해싸다. 프로그램 코드의 80%이상이 사용자와의 인터페이스를 다루기 시작했다.
HCI(Human Computer Interface)의 탄생
시스템 개발 패러다임이 개발자 중심에서 사용자 중심으로 변화되고 있음을 의미한다.
소프트웨어를 바라보는 관점은 앞으로 소프트웨어를 어떻게 개발할 것인지를 결정하는 가장 중요한 요인이 되었다.
소프트웨어 공학자 관점
일반적으로 소프트웨어는 프로그램, 자료구조, 프로그램과 관련된 문서등 다양한 정보 체계를 통틀어 말한다.
제조되는 것이 아니라 개발되는것
하드웨어, 일반 제품처럼 마모되기 보단 품질이 나빠진다.
조립품이 아니라 주문 제작 되는 것
종이나 자기 디스크와 같은 유형의 매체에 저장되지만 개념적이고 무형적인 것
복잡성(Complexity) 과 요구 변화에 따라 적절히 변화할 수 있다.
HCI 학자 관점
사용자 중심 시스템 디자인
1980년대 최초로 등장했다.
관계는 기술과 인간이 서로 어떤 영향을 주는가를 알아보는데서 찾을 수 있다.
기술 결정론
기술이 인간의 삶에 문화 행동, 사회를 변동시키는 원동력이 된다는 것
사회 구조론
사회적인 여건과 인간의 필요한 기술을 변화시키기도 하고 신기술을 탄생시키기도 한다는 것
바버(J.Barbour)는 기술을 긍적적인 시각과 부정적인 시각으로 나눴다.
낙관론: 해방자로서의 기술
비관론: 위협으로서의 기술
이러한 기술에 댛나 태도는 인간의 기술관을 이해하는 좋은 출발점이다.
낙관론 <해방자로서의 기술>
기술에 대한 긍적적 시각은 주로 가난이나 질병, 불편함, 고통 등에서 기술이 해방시켜 준다는 믿음에서 기인함
기술이 제공하는 유익성인 낙관론은
더나은삶
넓어진 선택의 기회
더 많은 여가 활동
증진된 커뮤니케이션
HCI의 낙관론
많은 사람들은 여전히 컴퓨터에 대한 불만을 느끼며 살아가며 이러한 불편과 근심을 주는 시스템으로부터 해방을 위한 HCI의 역할이 요구됨
비관론 <위협으로서의 기술>
HCI 만능주의에서 벗어날 수 있음
HCI 상업주의에서 벗어날 수 있음
사용자 인간에 대한 종합적인 이해를 얻을 수 있음
기술의 가치 중립성
기술은 결국 목적을 이루는 수단 이지만 기술을 사회적인 맥락에서 떨어뜨려 놓고 생각할 수 없기 때문에 가치 중립성만으로 많은 현상을 설명하기에는 역부족이다.
기술 개발과 선택
국가, 사회, 기업들의 거대한 사회적 세력에 의해 결정된다. 가장 주요한 것은 사회적, 정치적, 경제적 환경과 구조를 얼마나 선용하여 기술의 발전을, 특히 인간의 가치를 실현할 수 있는 기술의 발전을 이루느냐 하는 문제이다.
기술-사회 관계 모델
기술 결정론: 기술 -> 사회
사회 구조론: 사회 -> 기술
기술 결정론
기술이 독립 변수가 되고 인간과 사회는 종속 변수가 된다는 견해이다.
사회 결정론
기술 결정론의 반대되는 개념
오늘날 스마트 디바이스를 비롯한 정보 기술은 권위 있는 지식 체계, 새로운 제품을 개발하는 원천으로서 인간의 삶과 사회의 변화에 막강한 영향력을 행사하고 있다.
사회적 구성론
기술의 사회적 구성론의 3가지 분파
사회구성주의적 접근, 기술 시스템 접근, 행위자-연결망 이론
사회구성주의적 접근(Social Constructivist Approach)
상대주의 경험적 프로그램을 기초 과학지식처럼 기술적 인공물이 어떻게 사회적 과정을 통해 구성되는가를 밝힘
'해석적 유연성' 탐구
기술적 인공물의 발달사를 연구하여 인공물과 관련 사회 집단들이 각각의 이해관계에 따라 인공물에 주목하는 문제점, 해결 방시깅 서로 어떻게 다른지 밝힘
'안정화' 단계
각 사회 집단들 사이의 문젯거리가 서로 갈등하게 되면 어떤 식으로 협상이 진행되고, 매우 복잡한 과정을 거쳐 결국 어느 정도 합의를 이끌어 낸 인공물의 형태가 선택됨(논쟁 종결 단계)
기술 시스템적 접근(Technological System Approach)
기술 시스템은 물리적 인공물, 조직, 과학지식, 법적 장치, 자연 자원 등으로 구성되며 각 요소는 다른 요소들과 상호작용하면서 시스템 전체의 목표에 기여하게 됨
시스템 건설자
기술 시스템 진화
발명의 단계 - 개발단계 - 혁신단계 - 기술이전 단계 - 성장/경쟁/공고화 단계 - 모멘텀 획득 단계
행위자 -연결망 이론(Actor -Network Theory)
기술과 사회 간 근본적인 구분을 제거하려는 시도를 더욱 상위의 추상화인 '행위자(Actor)'개념을 이용해 정식화함
행위자 : 인간적인 요소와 인간적이 아닌 요소들 간 대칭성을 받아들여, 인간이나 인간들이 구성한 조직뿐만 아니라 전자나 축전지 같은 자연 현상/인공물 까지 사회학적 행위자의 범주에 포함시킴
행위자 그물망 속 인간의 사회
기술 변화에 관련된 집단은 기술자 사회를 넘어서 크게 확대되며, 이로 인해 전문 집단을 중심으로 문제를 파악하는 과학 사회학의 연구방법론을 기술 변화에 적용하기에 무리가 있음을 주장
미래의 인간과 기술의 관계에 대한 전망
미래 사회 인간과 기술의 관계는 그 경계를 넘어서는 것
"미래 인간과 기술의 상호작용이 그 경계를 넘어서며 2030년 전후에는 인간과 기술 인공물의 경계가 무너지는 '특이점의 시대'가 도래할 것이다."
-<특이점이 온다> 레이커즈
특이점(Singularity)
인간의 사고능력으로 예상하기 힘들 정도로 획기적으로 발달된(Exponentially Advanced)기술이 구현되어 인간을 초월하는 순간
"트랜스휴머니즘이 전통적인 의미의 휴머니즘과 동일 선상에 있으며, 인간과 개인의 가치나 선택을 존중하고, 합리적 사고/자유/관용/민주주의와 같은 전통 가치를 장려한다." - 닉 보스트롬(Nick Bostrom)
트랜스 휴머니즘을 통해 인간의 인지능력이 급속도로 강회되어 수준 높은 지적 동물로 진화할 것이다. -제임스 휴즈(James Hughes)
"트랜스 휴머니즘은 미래 연구의 비전으로, 첨단 융합 기술의 발전이 미래의 어느 시점에 특이점에 도달해 성공적으로 융합하면, 인간을 이러한 융합 기술로 개조해 인간의 생물학적 한계를 극복할 수 있다." -윌리엄 베인브리지(Willam Bainbridge)
트랜스 휴머니즘은 자연적 진화와는 전혀 다른 차원의 기술에 의해 조정되는 진화 국면으로, 신세계가 펼쳐진다고 주장한다.
트랜스 휴먼
첨단 기술을 통해 성능이 완전히 개조된 새로운 인간 존재
트랜스 휴머니즘은 트랜스휴먼을 생산하는 비전을 제시하며 이 비전의 기저에는 임의의 조작을 가해 완전한 인간을 만들어 낼 수 있다는 기술적 인간관이 자리 잡고 있다.
네오 휴머니즘의 철학적 성찰
인간의 유한성, 근대 이성에 의해 비합리적 부분으로 치부되던 인간의 다른 측면들에 대한 새로운 성창
네오 휴머니즘의 핵심
인간의 합리성을 저해하는 요소로 취급되던 예술적 몰입, 죽음에 대한 불안 등이 인간을 인간으로서 존재하게 하는 인간성의 본질로 이해함.
결국 인간은 죽을 수 밖에 없다는 사실을 인정하고 인간의 유한성에서 진리를 향한 인간의 위대성을 발견하는데 있음