전공/소프트웨어공학

[SE] 1. Software quality and Principles

vss121 2023. 9. 20. 15:09
01 What is sw?

1-1. SW in Nowadays

Software engineering is concerned with theories, methods and tools for professional software development.

 

1-2. Definition of sw

1-2-1. Program :

a collection of instructions executed by a computer, including compiled code as well as source code

코드들의 집합

1-2-2. Software :

not only programs(codes), but all artifacts(모든 산출물) created during sw development

= computer programs + associated documentation

Good SW should deliver the required functionality & performance(성능) to the user, and should be maintainable, dependable and usable

 

2. Characteristics of SW

2-1. Individual abilities (developer's ability) can affect productivity of sw development

SW (development) vs HW (manufacture, 대량 생산)

2-2. Quality degradation(하락), but not consumed

HW : 환경적 조건에 영향받음

SW : 요구사항을 반영 -> 실패율 증가

 

3. ETC of SW

3-1. SW problems to solve

3-1-1. Slow advancement of SW development

3-1-2. Increasing user demand for new SW

3-1-3. Partial use of management techniques

 

3-2. SW costs

 

3-3. SW crisis

Increasing req./ complexity/ difficulty,

Same human resource/ developing method/ tool

 

4. SW project failure

4-1. Increasing system complexity

4-2. Failure to use sw engineering methods

 

02 What is sw engineering?

1. SW engineering

1-1. What is engineering?

the study of using scientific principles (과학적 원리) to design and build machines, structures, and other things

applying engineering principles -> procedures & standards

1-2. SW Engineering

SW + engineering

technical process + project management + development of tools + methods ...

an engineering discipline that is concerned with all aspects of sw production

2. Importance of SW engineering

2-1. Dependency of SW

2-2. Cost saving

 

03 Characteristics of developing software

1. SW process activities

1-1. SW specification(명세화) : define sw & constraints

1-2. SW development(개발) : 설계, 프로그래밍

1-3. SW validation(검증) 

1-4. SW evolution(진화)

2. General issues that affect SW

2-1. Heterogeneity(이질성) 

2-2. Business and social change

2-3. Security and trust

2-4. Scale

 

04 Details of sw engineering

1. Questions to understand SE

 

2. SW products

2-1. Generic products

2-2. Customized products

 

3. Product specification

3-1. Generic products : by developer

3-2. Customized products : by customer

 

4. Essential attributes of good SW

4-1. Maintainability(유지보수성)

4-2. Dependability and security(확실성,보안성)

4-3. Efficiency(효율성)

4-4. Acceptability(수용성)

 

05 Divergence of sw

1. SW engineering diversity

 

2. Application types

2-1. Stand-alone applications 독립형 어플리케이션 

2-2. Interactive transaction-based applications  대화형

2-3. Embedded control systems

2-4. Batch processing systems

2-5. Entertainment systems

2-6. Systems for modeling and simulation

2-7. Data collection systems

2-8. Systems of systems (SoS)

 

3. SE fundamentals

Different types of application but SE fundamentals

 

06 SE ethics

1. SE ethics

2. Issues of professional responsibility

2-1. Confidentiality 비밀유지

2-2. Competence 능력 

2-3. Intellectual property rights 지적 재산권 

2-4. Computer misuse 컴퓨터 남용 

3. ACM/IEEE code of ethics

07 추가