소프트웨어와 생활웹 교과서
이 페이지의 목차
1단원 · 3차시

소프트웨어의 관점으로 바라보기

소프트웨어 관점입력·처리·출력자동화도입 전후 비교

코드 예제: Python · 예상 50분

학습 목표

  • 실세계의 문제를 입력·처리·출력과 자동화의 관점으로 다시 볼 수 있다.
  • 소프트웨어 도입 전과 후를 구분해 사회 변화의 흐름을 파악할 수 있다.

관련 성취기준

  • [12소생01-02]

    실세계의 문제와 현상을 소프트웨어의 관점으로 바라보고 소프트웨어 발전에 따른 미래 사회의 변화를 예측한다.

생각 열기 — 버스는 언제 올까

정류장에 버스 도착 안내판이 없던 시절, 사람들은 그냥 기다렸다. 지금은 「3분 후 도착」을 보고 편의점에 들를지 말지 정한다.

소프트웨어의 눈 — 세 가지 질문

소프트웨어의 관점(software perspective) — 실세계의 문제를 입력·처리·출력, 자동화할 수 있는 규칙, 다룰 수 있는 데이터로 다시 바라보는 사고방식으로 본다는 것은 실세계의 문제를 다음 세 가지 질문으로 다시 묻는 것이다.

  • 질문 1

    무엇이 들어가고 무엇이 나오나

    문제를 입력 → 처리 → 출력의 흐름으로 본다. 버스 안내라면 버스 위치가 들어가고, 남은 시간이 나온다.

  • 질문 2

    되풀이되는 규칙이 있나

    사람이 매번 같은 방식으로 판단하는 일이면 규칙으로 적어 기계에 맡길 수 있다. 이것이 자동화다.

  • 질문 3

    어떤 데이터가 필요한가

    판단에 필요한 정보가 무엇이고, 그것을 어디서 얻을 수 있는지 따진다.

자동화(automation) — 사람이 하던 판단이나 작업을 규칙으로 적어 기계가 스스로 하게 만드는 것는 소프트웨어가 세상을 바꾸는 가장 기본적인 방법이다. 규칙으로 적을 수 있는 일은 지치지 않고, 빠르고, 같은 방식으로 반복된다.

짧은 코드로 보는 입력 · 처리 · 출력

버스 도착 안내판이 하는 계산을 아주 단순하게 줄이면 다음과 같다. 실행하기 전에 결과를 먼저 짐작해 보자.

예상해 보기

남은 거리가 3.6km이고 버스의 평균 속도가 시속 24km라면, 아래 코드는 무엇을 출력할까?

결과 바로 보기
버스 도착까지 약 9분
Python버스 도착 안내판의 계산 (단순화한 모형)
# 입력 — 버스 위치 장치가 보내 준 값
남은거리 = 3.6    # 정류장까지 남은 거리(km)
평균속도 = 24     # 최근 구간의 평균 속도(km/h)

# 처리 — 시간 = 거리 ÷ 속도, 분으로 바꾼다
남은분 = 남은거리 / 평균속도 * 60

# 출력 — 안내판에 보여 줄 문장
print(f"버스 도착까지 약 {round(남은분)}분")
확인된 실행 결과
버스 도착까지 약 9분

**[고치기]**를 눌러 평균속도를 12로 바꿔 보자. 길이 막혀 속도가 절반이 되면 남은 시간은 어떻게 되는가? 실제 안내판은 여기에 신호 대기, 정류장 정차 시간, 시간대별 교통량까지 넣어 계산을 다듬는다. 하지만 뼈대는 이 세 덩어리, 입력 · 처리 · 출력이다.

도입 전과 후를 나란히 놓기

소프트웨어가 바꾼 사회를 분석할 때는 도입하기 전과 후를 같은 틀로 나란히 놓으면 무엇이 바뀌었는지 분명해진다. 세 사례를 골라 비교판을 살펴보자.

비교판소프트웨어 도입 전과 후
도입 전
  1. 정류장에 간다
  2. 버스가 올 방향을 보며 기다린다
  3. 언제 올지 몰라 자리를 뜨지 못한다
  4. 버스가 오면 탄다

언제 올지 모르니 무조건 기다린다

4단계
도입 후
  1. 집에서 앱으로 도착 시각을 본다
  2. 시간에 맞춰 정류장에 간다
  3. 버스를 탄다

올 시각을 알고 움직인다

3단계
소프트웨어가 맡은 일 열어 보기 — 입력 · 처리 · 출력
입력버스에 달린 위치 장치가 보내는 현재 위치
처리정류장까지 남은 거리와 구간 속도로 남은 시간을 계산
출력앱과 정류장 안내판의 「○분 후 도착」
이 사례에서 «바뀐 것»을 모두 골라 보자

    사회 변화의 흐름 읽기

    여러 사례의 「전과 후」를 모아 보면 하나의 방향이 보인다. 은행 업무를 예로 들어 보자.

    순서 맞추기돈을 보내는 방법은 어떤 차례로 바뀌어 왔을까
    1. 1은행 창구에서 직원에게 서류를 써 낸다
    2. 2현금 자동 입출금기(ATM)에서 직접 보낸다
    3. 3집의 컴퓨터로 인터넷 뱅킹에 접속해 보낸다
    4. 4휴대폰 앱에서 전화번호만으로 몇 초 만에 보낸다
    5. 5의심스러운 송금을 소프트웨어가 먼저 알아채 막아 준다
    • 1단계

      사람이 직접

      모든 판단과 처리를 사람이 한다.

    • 2단계

      기계가 대신

      정해진 일을 기계가 넘겨받는다. 장소는 여전히 정해져 있다.

    • 3단계

      언제 어디서나

      네트워크로 이어져 시간과 장소의 제약이 사라진다.

    • 4단계

      스스로 판단

      데이터를 바탕으로 소프트웨어가 예측하고 먼저 알려 준다.

    모든 분야가 같은 속도로 바뀌지는 않지만, 많은 분야가 이 흐름을 따라 움직인다. 지금 어떤 분야가 몇 단계쯤에 있는지 보면 다음에 무엇이 바뀔지 짐작할 수 있다. 다음 차시의 「미래 예측」은 이 흐름에서 출발한다.

    실습

    내가 고른 문제를 소프트웨어의 눈으로

    약 20분

    학교나 동네에서 아직 사람이 손으로 하고 있는 불편한 일을 하나 고른다. 그 일을 소프트웨어의 관점으로 다시 적어 보자.

    활동지

    소프트웨어의 눈으로 다시 보기

    스스로 점검
    • 입력·처리·출력을 모두 적었다
    • 도입 전과 후를 함께 적었다
    • 새로 생길 문제도 생각했다

    글자 규칙으로 살펴보는 점검표다. 다 켜졌다고 좋은 답이 되는 것은 아니다 — 마지막 판단은 내가 한다.

    적은 내용은 이 브라우저에만 저장된다. 다른 컴퓨터로 옮기거나 제출하려면 내려받는다.

    확인 문제

    개념 확인 문제

    보기를 누르면 바로 채점된다. 틀려도 해설을 읽으면 된다.

    「무인 주차장 요금 정산기」를 입력·처리·출력으로 본 것으로 알맞지 않은 것은?12소생01-02

    사람이 매번 같은 방식으로 하던 판단을 규칙으로 적어 기계가 하게 만드는 것을 무엇이라 하는가?12소생01-02

    소프트웨어 도입 전과 후를 비교해 분석할 때 가장 바람직한 태도는?12소생01-02

    위 버스 예제에서 평균속도를 24에서 12로 바꾸면 출력은 어떻게 될까?12소생01-02

    이 차시는 C 예제를 제공하지 않는다. 상단에서 다른 언어로 바꾸면 예제를 볼 수 있다.

    교과서에서 찾기

    교과서해당 위치쪽수
    교학사Ⅰ-1 소프트웨어와 사회 변화 › 소프트웨어와 미래 사회14쪽
    길벗Ⅰ-02 도와줘요, 소프트웨어! › 소프트웨어의 발전과 미래 사회20쪽
    삼양미디어Ⅰ-02 소프트웨어의 발전과 미래 사회17쪽
    씨마스Ⅰ-1 개념 학습 › 소프트웨어와 사회 변화20쪽
    천재교과서Ⅰ-1 소프트웨어와 사회 변화 › 소프트웨어의 발전과 미래 사회23쪽