소프트웨어 설계란 무엇입니까?

질문 1: 소프트웨어 설계란 무엇입니까? 저자의 관점에서 볼 때, 소프트웨어 설계는 프로그래밍 또는 스크립팅 언어로 실제 요구를 우아하게 표현하고 해결하는 과학과 예술이다. 우아한 표현은 설계된 소프트웨어가 이해, 확장 및 유지 보수가 용이해야 함을 의미합니다. 이 정의에서 볼 수 있듯이, 소프트웨어 설계는 먼저 과학이며, 사용자의 요구를 해결하는 소프트웨어 과학이다. 과학이라면 데이터 구조, 컴퓨터 구성 원리, 프로그래밍 언어 등 관련 과학 지식을 습득해야 한다. 이들 내용은 대학 컴퓨터 관련 전공 교수의 지식이기도 하다. 과학 지식은 수량화하기 더 쉬울 것이다. 데이터 구조를 예로 들자면, 한 알고리즘이 다른 알고리즘보다 우수한지 여부는 알고리즘의 시간 중복도와 공간 중복도로 측정할 수 있습니다.

소프트웨어 디자인은 과학의 부분뿐만 아니라 예술의 범주도 다루고 있다. 예술인 이상 반드시 감상의 문제가 있어야 한다. 즉, 모든 사람이 이 예술을 감상할 수 있는 것은 아니다. 일정한 수준에 도달하여 자신의 생각을 형성해야만 감상할 수 있다. 디자인의 예술은 직관적이지 않고 현실에서 수량화되기 쉽지 않기 때문에 해당 평가 기준을 형성하기가 어렵기 때문에 소프트웨어 업계에서는 쉽게 간과될 수 있습니다. 생각해 보세요. 대학 과정 중 얼마나 많은 것들이 소프트웨어 디자인을 예술로 삼아 감상하고 추구하도록 가르치고 있는가? (윌리엄 셰익스피어, 윈스턴, 대학명언)

좋은 소프트웨어 설계는 비교적 편리하게, 심지어 매우 편리하게 새로운 요구를 실현할 수 있다. 수요 분석은 우리에게 무엇을 해야 하는지 알려주는 것이다. 이것은 분명히 중요하며, 더 많은 것을 디자인하는 것이 어떻게 더 잘 할 수 있는지를 알려주는 것이다. (존 F. 케네디, 노력명언) 디자인의 품질은 완전히 정량화된 방법으로 측정할 수 없기 때문에, 소프트웨어 설계의 품질을 어떻게 평가할 수 있습니까? 아니면 소프트웨어를 설계할 때 어떻게 생각해야 좋은 디자인을 할 수 있을까요? 이것은 몇 가지 소프트웨어 설계 원칙을 파악함으로써 실현될 수 있다. 설계 원칙이 많을 수 있지만 모든 프로젝트가 모든 설계 원칙을 동시에 충족해야 하는 것은 아닙니다. 또한 여러 프로젝트의 특성으로 인해 일부 설계 원칙이 적용되지 않을 수 있습니다. 또한 설계 원칙은 고정적이지 않으며 프로젝트의 특성으로 인해 다른 설계 원칙이 추출될 수 있습니다. 저자는 다음 웹 문장 에서 일상 업무 중 의 설계 원칙 을 천명할 것 이다.

소프트웨어 설계는 끊임없이 정제되고 추상적인 과정이다. 정제 과정이라고 하는 것은 디자인 초기에 많은 요소를 고려해야 하기 때문이다. 설계 작업이 깊이 들어가기 전에, 우리는 그 중 몇 가지가 겹치거나 전혀 고려할 필요가 없다는 것을 발견할 수 없다. 설계가 깊어짐에 따라, 우리는 많은 요소들로부터 핵심 요소들을 얻어서 실천에 옮길 것이다. 디자인도 추상적인 과정이다. 우리는 수많은 표상에서 그들의 * * * 특징을 찾아야 하며, 결국 각 인격을 직접 묘사하는 것이 아니라 표현 * * * 특징을 통해 각 인격을 묘사해야 한다. 디자인의 심층적 인 과정은 맹목적인 사고 이상입니다. 디자이너가 이전에 유사한 설계 경험을 가지고 있지 않은 한, 설계 프로세스에는 일반적으로 사고를 돕기 위해 코드를 작성해야 하며, 시스템 설계자를 제외한 개발 소프트웨어 설계자에게는 동일해야 합니다.

소프트웨어 설계는 모형을 작성하는 과정입니다. 수요에 대한 이해와 추상화를 통해 좋은 디자인은 결국 현실 세계의 어떤 것과 비슷할 수 있는 모델을 만들 것이다. 이 모델은 사용자의 요구를 충족시킬 뿐만 아니라, 그녀가 어떻게 생겼는지, 그리고 그녀가 어떻게 행동할 수 있는지를 다른 사람들에게 보여 준다. 예를 들어, 만약 누군가가 새로운 교통수단을 발명했다면, 그는 어떻게 이 새로운 교통수단의 진정한 모습을 가장 효과적으로 표현할 수 있을까? 왜 다른 사람에게 직접 도면을 보여 주지 않고, 말해 봐, 보면 돼? 모두가 잘 아는 비유를 하는 게 좋을까요? 분명히 후자가 더 좋다. 만약 그가 이 새 차가 지금의 차와 매우 비슷하다고 말한다면, 다만, 이렇게 되면 관중들은 즉시 이 새 차에 네 개의 바퀴, 스티어링 휠 등이 있다고 생각할 것이다. 후자는 청중이 자신의 생활 경험으로 신속하게 정보를 받을 수 있도록 하는 것이 분명하며, 좋은 소프트웨어 디자인도 그렇게 해야 한다. 소프트웨어 설계에서 모델을 만드는 과정은 실제로 소프트웨어 코드에 생명을 부여하는 과정이므로 좋은 디자인은 살아 있어야 합니다.

소프트웨어 설계는 선택을 하는 과정이다. 사람은 때때로 다른 선택의 여지가 없어 긴장을 풀 수밖에 없다. 갓 졸업한 대학생이 offer 하나만 받으면 회사를 선택하는 번거로움이 없을 수도 있고, 회사의 좋고 나쁨을 직접 보고하면 된다. 그러나, 만약 그가 두 개의 제시가격을 받아들인다면, 그는 선택의 번거로움이 있을 것이다. A 부서로 가는 게 좋을까요? 아니면 B 단위인가요? 불행히도 소프트웨어 설계 프로세스는 종종 존재합니다 ... >; & gt

질문 2: 컴퓨터 소프트웨어 디자인 전공은 무엇입니까? 컴퓨터 소프트웨어 설계는 IT (인터넷 기술) 전공에 속한다.

고객 설계는 소프트웨어 요구 사항 사양을 기반으로 요구 사항 분석 단계에서 결정된 기능에 따라 소프트웨어 시스템의 전체 구조를 설계하고, 기능 모듈을 나누고, 각 모듈의 구현 알고리즘을 결정하고, 특정 코드를 작성하여 소프트웨어의 특정 설계 시나리오를 형성합니다.

소프트웨어 설계는 많은 물건과 문제를 추상화하고, 서로 다른 수준과 각도에서 추상화하는 것이다. 문제나 사물을 분해하고 모듈화하여 문제를 쉽게 해결하고 분해할수록 모듈이 많아진다. 그것의 부작용은 디자이너가 더 많은 모듈 간의 결합을 고려하도록 하는 것이다.

질문 3: 소프트웨어 설계 엔지니어는 주로 무엇을 합니까? 소프트웨어 설계자는 소프트웨어 개발 프로젝트 관리 및 소프트웨어 엔지니어링의 요구 사항에 따라 소프트웨어 설계를 수행하고 시스템의 전체 설계 설명서에 따라 해당 프로그래밍 설명서와 같은 문서를 작성할 수 있습니다. 프로그래머 작성 및 디버깅 프로그램 구성 및 안내, 소프트웨어 최적화 및 통합, 시스템의 전반적인 설계 요구 사항을 충족하는 고품질 소프트웨어 개발 엔지니어의 실제 업무 능력과 전문 수준을 갖추다.

작업 내용:

소프트웨어 디자이너의 작업은 시스템 설계자의 영향을 받습니다. 시스템 설계자가 전체 시스템 아키텍처를 결정하면 소프트웨어 설계자는 시스템 프로토타입을 만들려고 합니다.

시스템 프로토타입의 목적은 시스템 설계자가 제안한 아키텍처를 검증하는 것입니다. 아키텍처가 너무 복잡하거나 개발 비용이 너무 높을 경우 소프트웨어 설계자는 시스템 설계자에게 제안된 아키텍처를 수정하도록 요청해야 합니다. 이는 실제로 비용과 기술의 관계로 인해 경제적으로 실현할 수 없기 때문입니다.

소프트웨어 디자이너는 소프트웨어 기술에 매우 정통해야 하며 고객의 요구에 대해 어느 정도 이해하고 있어야 합니다. 시스템 프로토타입에서 소프트웨어 설계자는 고객이 원하는 프로그램 유형에 해당하는 여러 프로그램 패턴을 구현합니다.

시스템 프로토타입이 성공적으로 개발되면 후속 팀은 완료된 프로그램 패러다임을 사용하여 고객의 요구를 시스템 프로그램으로 신속하게 변환할 수 있습니다.

소프트웨어 디자이너의 일상 업무:

소프트웨어 디자이너' 라는 개념은 전자, 기계, 건축업계의 디자이너와 같은 책임을 가지고 있다. 엄격하게 제한되고 뚜렷한 비즈니스 특징을 가진 설계 설명과 프로세스만 출력하여 다른 사람에게 전달함으로써 소프트웨어 생산성을 높일 수 있습니다.

대부분의 기업은 "시스템 분석가" 와 "소프트웨어 엔지니어" 만 명시적으로 정의합니다. 시스템 분석가의 역할은 요구 사항 분석, 기능 설계, 소프트웨어 구조 설계, 인터페이스 설계 등 기업마다 크게 다릅니다. 시스템 분석가의 상당 부분은 어느 정도의 시스템 설계 작업을 수행해야 하지만 일반적으로 프로그래밍 및 모듈 상세 설계에는 참여하지 않습니다. 대부분의 소프트웨어 엔지니어는 모듈의 상세한 설계 및 프로그래밍도 담당합니다.

참고 자료:

소프트웨어 디자이너

질문 4: 소프트웨어 설계의 기본 단계는 무엇입니까? 소프트웨어 개발은 시장 조사, 수요 분석, 타당성 분석, 예비 설계, 상세 설계, 문서 작성, 예비 모델 구축, 상세 코드 작성, 테스트, 수정 및 발표와 같은 소프트웨어 프로젝트의 개발입니다.

소프트웨어는 어떻게 개발됩니까?

첫 번째 단계는 시장 조사이며, 기술과 시장을 결합해야 최대의 가치를 구현할 수 있다.

두 번째 단계는 수요 분석이며 세 가지, 사용자 뷰, 데이터 사전, 사용자 사용 설명서가 필요합니다.

사용자 보기는 최종 사용자와 관리 사용자를 포함하여 사용자가 볼 수 있는 페이지 스타일로, 많은 운영 절차와 조건이 포함되어 있습니다.

데이터 사전은 데이터의 논리적 관계를 지적하고 정렬하는 것이다. 데이터 사전이 완성되면 데이터베이스 설계가 절반 이상 완료됩니다.

사용자 사용 설명서는 작업 과정을 나타내는 지침입니다.

사용자 운영 프로세스 및 사용자 뷰는 요구 사항에 따라 결정되므로 소프트웨어 설계 전에 완료하고 프로그램 개발에 대한 제약 및 지침을 제공해야 합니다. 아쉽게도 너무 많은 회사들이 그렇게 하지 않고 인과가 뒤바뀌고 순서가 구분되지 않아 개발 업무와 실제 수요가 분리되는 경우가 많다.

요구 사항 분석, 위의 작업 외에도 프로젝트 디자이너로서 프로젝트의 완전한 성능 요구 사항 진술을 잘 해야 한다고 생각합니다. 종종 성능 요구 사항은 기술을 아는 사람만이 이해할 수 있기 때문입니다. 이를 위해서는 기술 전문가와 수요자 (고객 또는 회사 마케팅 부서) 간의 진정한 소통과 이해가 필요합니다.

세 번째 단계는 합리적인 R&D 프로세스 및 자원 요구 사항을 제공하기 위해 시스템의 기능 모듈을 초기에 나누는 전반적인 설계입니다.

빠른 프로토타입 설계 방법으로 윤곽 설계를 완료한 후 코딩 단계로 들어갈 수 있습니다. 일반적으로 이 접근 방식은 관련된 R&D 작업이 새로운 영역에 속하기 때문에 기술 이사가 처음에 명확한 상세 설계 사양을 제공할 수는 없지만 상세 설계 사양이 중요하지 않다는 의미는 아닙니다. 실제로 빠른 프로토타입 방법은 프로토타입 코드를 완성한 후 평가 결과와 교훈을 바탕으로 상세한 설계 단계를 다시 한 번 진행해야 합니다.

네 번째 단계는 세부 설계인데, 이것은 기술 전문가의 설계 사고를 시험하는 중요한 관문이다. 자세한 설계 지침은 가장 깨끗한 방식 (블랙박스 구조) 으로 코드맨에게 특정 모듈을 제공하여 시스템의 전체 모듈화를 극대화해야 합니다. 좋은 상세 설계 사양은 코딩의 복잡성을 최소화할 수 있습니다. 사실, 엄밀히 말하면, 상세한 설계 설명서는 각 기능의 각 매개변수에 대한 정의를 상세히 제공해야 한다. 요구 사항 분석에서 요약 설계, 상세 설계 설명서 완성에 이르기까지 소프트웨어 프로젝트는 절반 정도 완료되어야 합니다. 즉, 하나의 대형 소프트웨어 시스템이 절반을 완성할 때 실제로는 코드 한 줄을 시작하지 않았다는 것이다.

소프트웨어를 간단하게 코드 작성으로 이해하는 프로그래머들은 근원에서 실수를 저질렀다.

다섯 번째 단계는 인코딩입니다. 표준화된 R&D 과정에서 전체 프로젝트 프로세스의 코딩 작업은 1/2 (일반적으로 1/3) 를 초과하지 않습니다. 속담에 디자인 과정이 잘 완성되면 코딩 효율이 크게 향상된다는 말이 있다. 코딩 과정에서 서로 다른 모듈 간의 조정 협력이 가장 중요하다. 어쩌면 작은 모듈의 문제가 전체 진행에 영향을 줄 수 있습니다.

코딩할 때 소통과 응급방안이 중요하다. 프로그래머에게 버그는 영원히 존재하며, 너는 항상 이 문제에 직면해야 한다. 명성이 자자한 마이크로소프트가 3 개월 연속 패치를 낼 수 없을 때가 있습니까? 절대 안 돼!

여섯 번째 단계는 테스트입니다.

테스트는 여러 가지가 있습니다.

테스트 수행자에 따라 내부 테스트와 외부 테스트로 나눌 수 있습니다.

테스트 범위에 따라 모듈 테스트와 전체 디버깅으로 나눌 수 있습니다.

테스트 조건에 따라 정상 작동 테스트와 예외 테스트로 나눌 수 있습니다.

테스트의 입력 범위에 따라 전체 범위 테스트와 샘플링 테스트로 나눌 수 있습니다.

위의 모든 것이 잘 이해되어 설명하지 않는다.

결론적으로, 테스트는 프로젝트 개발에서 매우 중요한 단계이기도 하다. 대규모 소프트웨어의 경우 3 개월에서 1 년 사이의 외부 테스트는 항상 예측할 수 없는 문제가 있기 때문에 정상입니다.

테스트, 수락 및 최종 도움말 문서가 완료되면 전체 프로젝트가 종료됩니다. 물론, 미래에는 업그레이드, 수리 등이 있을 것이다. 단 한 번의 장사로 돈을 속이고 싶지 않다면, 소프트웨어의 운행 상태와 ... >> 를 계속 추적해야 한다.

질문 5: 소프트웨어 설계와 소프트웨어 엔지니어링의 차이점은 무엇입니까? 소프트웨어 설계

소프트웨어 설계의 임무는 요구 사항 분석 단계에서 결정된 기능에 따라 소프트웨어 시스템의 전체 구조를 설계하고, 기능 모듈을 나누고, 각 모듈의 구현 알고리즘을 결정하고, 특정 코드를 작성하여 소프트웨어의 구체적인 설계 방안을 형성하는 것입니다.

소프트웨어 공학

프로그래밍 언어, 데이터베이스, 소프트웨어 개발 도구, 시스템 플랫폼, 표준, 디자인 패턴 등이 포함됩니다. 현대 사회에서는 소프트웨어가 여러 방면에서 사용되고 있다.

디자인은 텍스트, 색상, 그림이 포함된 플랫폼일 뿐이다.

엔지니어링은 전체 소프트웨어의 언어를 제어하고 이러한 캐릭터의 색상 모듈과 기능을 제어하는 것입니다.

질문 6: 컴퓨터 응용 기술과 소프트웨어 설계의 차이점은 무엇입니까? 차이가 있습니다.

전자는 주로 하드웨어 사용, 소프트웨어 설치, 디버깅, 실용성을 대상으로 합니다.

후자: 향후 소프트웨어 개발, 코딩, 프로그래밍의 토대를 마련합니다!

-저는 컴퓨터 전공입니다.

질문 7: 컴퓨터 소프트웨어 디자인 전공은 무엇입니까? IT 전문가.

질문 8: 소프트웨어 디자이너의 책임은 무엇입니까? 5. 소프트웨어 개발 프로젝트 관리 및 소프트웨어 엔지니어링의 요구 사항에 따라 시스템 전체 설계 설명서에 따라 소프트웨어 설계, 프로그래밍 설명서 작성 등 해당 문서를 작성합니다. 프로그래머 작성 및 디버깅 프로그램 구성 및 안내, 소프트웨어 최적화 및 통합, 시스템의 전반적인 설계 요구 사항을 충족하는 고품질 소프트웨어 개발 엔지니어의 실제 업무 능력과 전문 수준을 갖추다.

질문 9: 엔지니어링 설계에서 일반적으로 사용되는 소프트웨어는 무엇입니까? 엔지니어링 설계는 일반적으로 전문 CAD 소프트웨어를 사용합니다. 자신의 필요에 따라 적절한 전문 CAD 소프트웨어를 구입하십시오. 예를 들어 건축 도면을 설계하려면 관련 CAD 건물, CAD 배수, CAD 난방 등을 구입해야 합니다. 인테리어 디자인에 사용. 위의 세 가지 소프트웨어를 이용하여 완벽한 건축 공사를 완성할 수 있다.

질문 10: 인쇄 디자인용 소프트웨어는 무엇입니까? 시험 인쇄 설계에는 어떤 소프트웨어를 사용해야 합니까? 세 가지:

이미지 처리 사진관

그래픽 처리: CorelDRAW, FreeHand, Illustrator.

조판 소프트웨어: QuarkXPress, PageMaker, InDesign.

참고: 부동

조판 소프트웨어 대신 그래픽 소프트웨어를 사용하지 마십시오. 조판 기능도 있습니다. 그러나 출력 안정성을 개선해야합니다. 파일을 내보내지 못할 수도 있으므로 재작업을 위험에 빠뜨리지 마십시오.

소프트웨어 버전 사용:

첫째, 안정성을 보장하기 위해 중국어 버전의 전체 영어 소프트웨어를 사용하지 말고 가능한 영어 원판을 사용하고 안정된 전제하에 가능한 한 높은 배합판을 사용하세요. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 안정명언)