20,194,616 첫 번째 작업

(A) "율법의 건물 -. 현대 소프트웨어 공학"

 

장 하나 소개  (컴퓨터 관련 용어 마무리)

 

= 1.1 소프트웨어 프로그램 + 소프트웨어 엔지니어링

이 프로그램을 지칭 소스 코드 뿐만 아니라, 프로그램에 데이터 때때로 작업 수행 정적 때때로 동적 중입니다. 그러나 빛이 충분한 코드 및 정적 데이터가 엔지니어는 기계로 이해할 수있는 구성을 가지고 실행 코드 . 참조 명령과 링크 건물은 복잡한 소프트웨어뿐만 아니라 합리적인이 아닌 소프트웨어 아키텍처 (소프트웨어 아키텍처) , 소프트웨어 설계 및 구현 (소프트웨어 설계, 구현 및 디버그를) 뿐만 아니라, 파일 및 데이터의 모든 종류의 다양한 절차를 설명하는 파일 사이에 의존성 , 매개 변수 컴파일 , 링크 파라미터를 , 등등, 이것들은있는 건물 과정.

 

어떻게 품질의 지속적인 개선을 개정하는 과정에서 소프트웨어가, 적어도 이전 문제의 품질을 유지하기로 알려져 있음을 보장하기 위해 소스 코드 관리 (소스 코드 이라고도 제어), 구성 관리 (소프트웨어 구성 관리) 

 

품질 보증 (품질 보증) 인 프로그램의 정확성을 보장하기 위해 고품질의 도구, 프로세스, 문서의 시리즈를 특정 검증 프로세스를 호출 소프트웨어 테스트 (테스트)

 

해당 요구 사항을 분류 한 다음 점차적으로 후속 작업이 호출 확장 요구 분석 (의 requirment 분석)

 

가능한 한 빨리 기존의 프로그램에서 그룹의 새로운 구성원이 읽기 프로그램의 디자인을 이해하기라는 프로그램의 이해 (프로그램 Conprehension)

 

소프트웨어 프로세스는 우리가 함께 다양한 문제를 해결하기 위해 서비스 팀의 신규 및 기존 회원의 많은 수의 소프트웨어에 대한 패치 또는 유지 보수를 만들어야 할 시간이라고하는 시점부터 문제의 모든 종류가있을 것입니다 서비스 서비스 운영 (서비스 운영)

 

위의 과정을 일련의 소프트웨어 수명주기 (소프트웨어 수명주기, SLC)

 

이 기간 동안, 어떤 사람들은 책임을해야 할 소프트웨어 프로젝트 (프로젝트 관리)의 관리 ,

 

이순신 좋은 소프트웨어가 아닌 매우 다른 기능과 유사한 소프트웨어가 있지만, 사람들이 사용하기 매우 쉽게 느끼게됩니다, 이것은 경우에도 사용자 경험 (사용자 경험)

 

소프트웨어는 다른 언어, 인터페이스와 기능의 다른 부분에서 사용자의 다양한 요구라는 소프트웨어를 처리했다 국제화 및 현지화 (세계화 및 현지화)

 

넓은 의미에서 소프트웨어 공학은 사용자 경험을 포함 사용자 인터페이스 디자인 (사용자 인터페이스 디자인)

 

+ 소프트웨어 = 소프트웨어 공학 프로그램,

 

= + 소프트웨어 기업 소프트웨어 사업 모델

 

소프트웨어 개발의 여러 단계 :

  1. 장난감 단계
  2. 취미 무대
  3. 탐사 단계
  4. 성숙 산업 단계

 

 

1.2 소프트웨어 공학 무엇입니까

소프트웨어 질서, 정량화 할 수있는 체계적인 접근 방법을 설계 소프트웨어 개발, 운영 및 유지 보수의 과정에 적용

소프트웨어 요구 사항 분석, 소프트웨어 설계, 소프트웨어 구성 요소, 소프트웨어 테스트, 소프트웨어 유지 보수 : 소프트웨어 공학은 다음과 같은 분야를 포함        

 

사람들은 기술, 관행, 습관과 이데올로기 개발, 운영 및 소프트웨어 프로세스의 유지 보수를 많이 가지고, 하나 개의 통합 시스템으로 이러한 관련 기술과 프로세스는 호출 된 소프트웨어 개발 프로세스

 

소프트웨어 도구 : 컴파일 도구, 소스 코드 관리 도구, 소스 코드 편집 도구, 시스템 소프트웨어 툴 ( 은 Microsoft Visual Studio에서, GitHub에, 이클립스,은 ClearCase, ClearQuest를, 등)

 

특수성 1.2.1 소프트웨어 엔지니어링

 

소프트웨어의 분류 :

  • 시스템 소프트웨어 : 운영 체제, 장치 드라이버 및 기타 소프트웨어 도구
  • 어플리케이션 소프트웨어 : 사용자가 비디오를 재생, 웹 브라우징, 기사 또는 통신, 게임을 작성하는 원자력 발전소의 관리에서 작업을 완료하는 데 사용할 수 있습니다
  • 악성 코드 : 바이러스 및 기타 소프트웨어

 

소프트웨어 개발 과정에서 어려움 :

  1. 복잡성 (복잡성)
  2. 인 비저블 (투명화)
  3. 의 돌연변이 (Changeablility)
  4. 순종 (적합성)
  5. 비 연속 (불연속)

 

관계 1.2.2 소프트웨어 공학 및 컴퓨터 과학

 

  • 컴퓨터 과학 및 소프트웨어 엔지니어링의 다른 강조
컴퓨터 과학  소프트웨어 엔지니어링
장기 목표 진리의 발견과 연구 실제 단기 결과 (특정 소프트웨어가 쓸모 없게)
이상화 다양한 요소의 타협
확실성, 완벽, 다양성 불확실성 및 위험 관리, 충분, 특정 응용 프로그램
다양한 분야의 독립에 대한 심층적 인 연구 만든 성과 다양한 문제 관련 분야의 지식과 응용 프로그램 문제를 해결하기 위해
통합 이론 번성 관행
독창성에 중점 가장 입증 된 사례
정장 추구 간결 식 연습, 영감과 직관에 설립
정확성 신뢰성

 

 

소프트웨어 공학 분야의 1.2.3 지식

라이프 사이클 :

소프트웨어 요구 사항, 소프트웨어 설계, 소프트웨어 빌드, 소프트웨어 테스트, 소프트웨어 유지 보수

전문 분야 :

소프트웨어 구성 관리, 소프트웨어 프로젝트 관리, 소프트웨어 엔지니어링 프로세스, 소프트웨어 엔지니어링 모델과 소프트웨어 품질의 방법

이론적 근거 :

컴퓨팅 인프라, 기초 수학, 공학 기초

 

1.2.4 소프트웨어 공학 대상 - "좋은 충분"소프트웨어를 만들

 

所谓好软件,就是没有缺陷(Bug

所谓软件工程,就是把软件中的Bug都消灭的过程。

Bug的多少可以直接衡量一个软件的开发效率用户满意度可靠性可维护性

 

————————————————————————————————————————

 

(二)P18-2

 

1.在P27中有一句话,“为了保证代码覆盖率,单元测试必须测试公开的和私有的函数\方法,”对此,我有一点疑惑,对于需要进行单元测试的代码,我们应该怎样选择进行代码覆盖的方法,并且能够保证其代码覆盖率达到100%并且涵盖所有可能性?

2.书中P68中 “注释(包括所有源代码)应该只用ASCII字符,不要用中文或者其他特殊字符,否则会极大的影响程序的可移植性。”但后文中有提到“在现代编程环境中,程序编辑器可以设置各种美观得体的字体"如果用中文或其他特殊字符会影响程序的移植性,为什么现代编程环境还要允许设置各种字体?虽然极大的方便了人们的阅读和修改,但对于程序本身有影响的做法就应该提倡吗?或者在现代编程环境中可以做到忽略其影响?

3.书中P76中提到”做标记是一个不错的方法,但是如果开发者光记得做标记,最后却没有真正去研究和改正这些潜在的问题……“这里作者表达的意思是否支持做标记这一方法?我觉得是否可以通过其他的标记形式来简化标记含义,从而达到高效快速的目的,从而有时间去考虑对于潜在问题的优化和改进。

4.P77 设计规范部分中 我认为注意事项里是否可以加入“代码功能是否能够兼容各大主流平台”这一条内容,以及第五条中”因为源代码控制已经保存了原来的老代码“这句话的意思是什么?是这些被注释掉的代码在源代码中都有记录不需要在后续相关代码中展现,还是说仅仅是保留了目前有用的代码?

 

————————————————————————————————————————

(三)P18-3

工具软件:画图、WPS Office、应用宝、高德地图、去哪儿旅行、滴滴出行、交通银行、中国工商银行、工银e融联、中国银行、课程格子、c语言编译器、讯飞输入法、周公解梦、计算器、掌上WeGame、百度网盘、百度文库、qq邮箱、滨州掌上公交、码码通、网喵、U净、美柚、薄荷健康、知网、百度贴吧、有道翻译官

购物消费:饿了么、支付宝、手机淘宝、美团、闲鱼、省钱快报、网易考拉、

社交软件:qq、微信、微博

音乐软件:网易云音乐、喜马拉雅FM、酷狗音乐、全民K歌、唱鸭

娱乐软件:哔哩哔哩、爱奇艺、腾讯视频、芒果TV、韩剧TV、抖音、B612咔叽

学习软件:知乎、中国大学MOOC、运动世界校园、驾考精灵、考研帮、扇贝单词、网易有道词典、

阅读软件:今日头条、书旗小说、晋江小说、

游戏软件:扫雷、布林机、开心消消乐

 

对于微信的分析

1)界面简洁、私密性高,最开始并不以盈利为目的,仅仅为了提供一个免费的即时通讯服务

2)通过下载获得该软件,当时在上初中,使用下来感觉对于传输文件这方面还不是很方便,QQ相对而言做得更好一些,而且在登陆账号这一方面有很大限制,不过在社交通讯这一方面给人的使用感还是很不错的。

3)通过接受用户反馈意见及建议上传至后台处理,系统会自动更新应用版本。

4)通过不断更新新的功能,提高软件的实用性、便利性来提高软件的竞争力。

추천

출처www.cnblogs.com/Xyz0314777/p/11482097.html