분류 전체보기(66)
-
[정보처리기사] 1. 소프트웨어 설계 (2)
[UML] [개념 모델링] Conceptual Modeling ==도식화, 어떻게 구조화? -Use Case Diagram, Data flow Model, State Model, Goal-based Model, User Interactions, Object Model, Data Model [UML] Unified Modeling Language : 객체지향 소프트웨어 개발 과정에서 모델링 기술과 방법론을 통합하여 만든 범용 모델링 언어 특성 -비주얼화, 문서화, 명세화, 구축 관점 -기능적 관점: 사용자 측면. 사용 사례 모델링. Use Case Diagram -정적 관점: SW 내부의 구성 요소 사이의 구조적 관계. Class Diagram -동적 관점: 시스템의 내부 동작 Sequence, State..
2024.02.10 -
[정보처리기사] 1. 소프트웨어 설계
[SW] 특징 -상품성, 복잡성, 변경 가능성, 복제성 시스템의 기본요소 -입력, 처리, 출력, 제어, 피드백 소프트웨어 위기의 원인 -HW 비용을 초과하는 개발 비용의 증가 -개발 기간의 지연 -개발 인력 부족 및 인건비 상승 -성능 및 신뢰성 부족 -유지보수의 어려움에 따른 엄청난 비용 [SW 공학] 기본 원칙 -현대적인 프로그래밍 기술을 적용 -신뢰성이 높아야함.(정확해야 함.) -사용의 편리성과 유지보수성 높아야 함. -지속적인 검증 시행. [재공학] : 소프트웨어 위기를 개발의 생산성이 아닌 유지보수의 생산성으로 해결하려는 방법 ; 유지보수성 향상이 최우선 목표 -분석analysis>구성restructing>역공학reverse engineering>이식migration [역공학] : 소프트웨어를..
2024.02.09 -
백준 9461_파도반 수열 / Python
문제 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, 4, 5, 7, 9이다. N이 주어졌을 때, P(N)을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, N이 주어진다. (1 ≤ N ≤ 100) 출력 각 테스트 케이스마다 P(N)을 출력한다. 예제 입력 1 2 6 12 예제 출력 1..
2024.02.06 -
백준 2579_계단 오르기 / Python
문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 계단은 반드시 밟아야 한다. 따라서 첫 번째 계단을 ..
2024.02.06 -
백준 1149_RGB거리 / Python
문제 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 입력 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 ..
2024.02.04 -
[시스템 해킹] 02-2. Computer Science-x86 Assembly
x64 어셈블리 언어 기본구조 -동사에 해당하는 명령어 Opcode, 목적어에 해당하는 피연산자 Operand Opcode [피연산자 Operand] - 상수, 레지스터, 메모리 메모리 피연산자 - [] 으로 둘러싸인 것, 앞에 크기 지정자 TYPE PTR이 추가될 수 있음. TYPE; BYTE(1byte), WORD(2), DWORD(4), QWORD(8) [Opcode] Opcode : 데이터 이동 ; 어떤 값을 레지스터나 메모리에 옮기도록 지시 Opcode : 산술 연산 ; 덧셈, 뺄셈, 곱셈, 나눗셈 연산을 지시 Opcode : 논리 연산 ; and, or, xor, neg 등의 비트 연산. 비트 단위로 연산. Opcode : 비교 ; 두 연산자의 값을 비교하고, 플래그 설정 ## 연산의 결과를 ..
2024.01.28