Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software System Engineering: A tutorial

Similar presentations


Presentation on theme: "Software System Engineering: A tutorial"— Presentation transcript:

1 Software System Engineering: A tutorial
Richard H. Thayer 발표자 : 이동아

2 INTRODUCTION Specific of software Getting Large Getting complex
이 논문은 소프트웨어 시스템 엔지니어링의 과정 안에서 IEEE Computer Society Software Engineering Standards Series의 정의와 그 처리과정에 관한 논문입니다. 소프트웨어 시스템은 복잡하고 용량이 커졌습니다. 하드웨어가 발전함에 따라 소프트웨어의 사이즈에 관해서 심각히 고려할 필요가 점점 없어졌는데요. 이런 변화들이 소프트웨어를 너무나 크고 복잡하게 만든 요인이 되었습니다. 예를 들어 MS사의 워드 프로세서는 처음에 디스켓 한 장(360KB)에서 지금은 씨디롬 한 장(600MB)으로 용량이 늘어났죠. 이렇게 시스템이 커지게 됐지만 개발함에 있어서 그 비용이나 절차를 정확히 파악할 기술들이 없었습니다. 심지어는 소프트웨어를 만드는 목적에 관한(사용자의요구) 파악조차도 제대로 이루어지지 않았습니다. 이러한 현상은 ‘소프트웨어의 위기’로까지 여겨지게 됐습니다. 여기서는 computer software system의 개발을 위한 system-engineering principles(분야)에 관한 application에 대해 소개할 것인데요, software system engineering(SwSE)라고 부르는 분야의 activities, tasks and procedures(활동, 태스크(일) 진행)등이 바로 그것이 되겠습니다. Specific of software Getting Large Getting complex

3 System System Engineering(SE) Functions of SE
A collection of elements related in a way that allows the accomplishment of a common object System Engineering(SE) The practical application of scientific, engineering, and management skills necessary to transform an operational need into a description of a system configuration that best satisfies that need Functions of SE Problem definition Solution analysis Process planning Process control Product evaluation 시스템이란 공동의 목적을 가진 서로 연관된 여러 요소(방법)들의 모음이라고 할 수 있겠습니다. 예를 들면 mp3나 핸드폰 등등 여러 시스템들의 내부를 살펴보면 칩, 액정, 소프트웨어 등등 모든 것들이 공동의 목적을 위해 서로 묶여있는 모습 등이 되겠습니다. 학문적인 면에서의 시스템은 공동의 목적 없이 결합돼있는 것을 시스템이라고 보지는 않습니다. 물론 또 다른 시스템에는 속할지도 모르지만요. 시스템에는 두 가지 종류가 있는데요, 하나는 A man-made system. 다른 하나는 A software system이 되겠습니다. 전자는 하드웨어, 소프트웨어, 사람들, 어떤 장비 등을 말하고 후자는 역시 사람이 만들기는 하지만 프로그램과 그와 관련된 문서, 소프트웨어에 관한 요구사항 등이 포함됩니다. System engineering이란 줄여서 SE라고 하는데요,사용자의 요구를 가장 효과적/효율적으로 만족시키는 system configuration description로 변형시키는 기술이라 할 수 있겠습니다. 간단히 말하면 system-development project의 기술적인 관리라고 보면 되겠습니다. SE의 기능으로는 다섯가지가 있는데요 Problem definition : 요청의 분석을 통해 요구나 한계를 결정하는 것 Solution analysis : 요구나 한계를 만족시키는 방법을 찾는 것 Process planning : 프로젝트 사이즈와 제품 개발을 위해 요구되는 노력등을 결정. Process control : 프로젝트와 그 과정을 조절하는 방법을 결정. Product evaluation : testing, demonstration, analysis, examination, and inspection을 통해 생산된 제품을 질과 양을 결정한느 것.

4 Software System Engineering(SwSE)
A Technical and Management process The technical process of SwSE is the analytical effort necessary to transform an operational need into : A description of a software system A software design of the proper size, configuration, and quality Documentation requirements and design specifications The Procedures necessary to verify, test, and accept the finished product The documentation necessary to use, operate, and maintain the system. SwSE란 기술이고 관리하는 프로세스입니다. SwSE와 SE는 때때로 혼동되기도 합니다. 완벽히 소프트웨어이거나 (상업적으로 쓰거나) 컴퓨터에서 바로 쓸 수 있는 것들이 소프트웨어 프로젝트라고 불립니다. SwSE의 technical precess는 실행 요구를 다음과 같은 것으로 변형하기 위해 필요한 분석적 노력, 수고, 진력 입니다. Software system의 묘사 적당한 사이즈, 형태, 질의 software design 디자인 명세서와, 요구문서 완성품의 증명, 테스트, 적합 등을 위해 필요한 procedures 시스템을 사용하고 작동하고 유지하기 위해 필요한 문서

5 Software System Engineering(SwSE)
The role of software in system The cohesiveness and control of date that enables the system to solve problems The flexibility to work around hardware or other problems

6 Software System Engineering(SwSE)
What Is Software Engineering(SwE)? The practical application of computer sciences to the analysis, design, construction and maintenance of software and its associated documentation An engineering science that applies the concepts of analysis, design, coding, testing, documentation, and management to the successful completion of large, custom-built computer programs under time and budget constraints The systematic application of methods, tools and techniques to achieve a stated requirement or objective for an effective and efficient software system

7 Software System Engineering(SwSE)
Engineering Relationship

8 Software System Engineering(SwSE)
What Is Project Management(PM)?

9 Software System Engineering(SwSE)
Functions of Software System Engineering Requirements analysis Software design Process planning Process control Verification, validation, and testing(VV&T) The overall technical management of a system development project

10 Software Requirements Analysis
A software capability needed by a user to solve a problem or achieve an objective A system capability that must be met or possessed by a software system or software system component to satisfy a contract, standard, specification, or other formally imposed document Functional requirement Performance requirement External interface requirement Design constraint Quality attribute

11 Software Requirements Analysis
Functional requirement specify functions that a system or system component must be capable of performing Performance requirement specify performance characteristics that a system or system component must possess such as speed, accuracy, and frequency External interface requirement Specify hardware, software, or database elements with which a system or component must interface, or set forth constraints on formats, timing, or other factors caused by such an interface Design constraint Affect or constrain the design of a software system of software system component Quality attribute Specify the degree to which software possesses attributes that affect quality, such as correctness, reliability, maintainability, and portability

12 Software Requirements Analysis
Initiation Acquirer and user system requirements have been properly identified A top-level system design is complete A set of software subsystem is identified All user requirements have been properly allocated(assigned) to one or more of these subsystems Completion A concept of operations(ConOps) document is complete All of the software system requirements are identified An SRS* that identifies “What” the system must do is written The SRS is verified A requirements tracing is complete A preliminary user manual is written A test compliance matrix is finished A preliminary test specification is finished The software specification review(SSR) is complete A requirements baseline is established *Software requirements specification

13 Software Design(Solution Analysis)
The process of selecting and documenting the most effective and efficient system elements Architectural design Equivalent to system design Detailed design Equivalent to what SE calls “component engineering,” and is considered part of the software engineering phase

14 Software Design(Solution Analysis)
Initiation The software requirements have been properly identified and documented The draft user’s manual and draft test documents have been developed Completion The “how” question is answered(conceptual design) The architectural description is complete An architectural design review is complete and the stakeholders have accepted the design description The preliminary operator’s and maintenance manuals are written The design tracing is complete The architectural design is reviewed The architectural design is verified The product baseline is established

15 Process Planning Process Planning vs Project Planning
Specify the project goals and objectives and the strategies, policies, plans, and procedures for achieving them Process Planning vs Project Planning Software system engineering determines : Project management determines : The tasks to be done The skills necessary to do the task The order of precedence between tasks The schedule for completing the project The size of the effort(in staff time) The cost of the effort The technical approach to solving the problem The managerial approach to monitoring the project status The analysis and design tools to use The planning tools to use The technical risks The management risks The process model to be used Update to the plans when requirements or development environments change Updates to the plans when managerial conditions and environments change

16 Process Control Process Control vs Project Control
A feedback system that provides information on how well the project is going Process Control vs Project Control Software system engineering: Project management: Determines the requirements to be met Determines the project plan to be followed Selects technical standards to be followed, for example, IEEE Std. 830 Selects managerial standards to be followed, for example, IEEE Std. 1058 Establishes technical metrics to control progress, for example, requirements growth, errors reported, or rework. Establishes management metrics to control progress, for example, cost growth schedule slippage, or staffing shortages Uses peer reviews, in-process reviews, software quality assurance, VV&T, and audits to determine adherence to requirements and design Uses joint acquirer-developer (milestone) reviews and software configuration management to determine adherence to cost, schedule, and progress Reengineers the software requirements when necessary Restructures the project plan when necessary

17 VV&T(Product Evaluation)
Verification determines whether the products of a given phase of the software development cycle fulfill the requirements established during the previous phase. Verification answers the question, “am I building the product right?” Validation determines the correctness of the final program or software with respect to the user’s needs and requirements. Validation answers the question, “am I building the right product?” Testing the execution of a program or partial program, with known inputs and outputs that are both predicted and observed for the purpose of finding errors. Testing is frequently considered part of validation

18 Summary and Conclusions
Conducting SwE without conducting SwSE puts a project in jeopardy SwE and SwSE are primarily disciplines used in the front end of the system life cycle and at the latter part of the life cycle The other major activity of SwSE is the final validation and testing of the completed system SwSE is not cheap, but it is cost effective


Download ppt "Software System Engineering: A tutorial"

Similar presentations


Ads by Google