JFeature & OSRMT Requirement Engineering & RETools Execution Examples 200511349 장기웅 200511300 강정희 200511310 김짂규 200711472 짂교선
Content 1. Requirement Engineering 1. Requirements? 2. Reason of Using RE Tools 3. RE Process 2. JFeature 1. Introduce 2. Installation 3. Usage 3. OSRMT 1. Introduce 2. Installation 3. Usage
Requirement Engineering 1. Requirements? 2. Requirement Engineering 3. RE Process
Requirements?? What Should be Requirement? Range form a high-level abstract statement of service or system constraint to detailed mathematical functional specification. 추상화된표현부터수학식까지모든표현들이요구사항이된다. Requirement Completeness & Consistency Ambiguous Requirement may be interpreted in different ways. Complete : 모든요구조건들이문서화되어야핚다. Consistent : 서로상충되는요구조건들이졲잧해서는앆된다. 체계화, 구조화된 RE Tool 의필요성!!!!
Requirements?? (Cont.) User Requirement Statements in natural language, diagrams of the services the system provides and its operational constraints. 일상적인언어혹은다이어그램으로작성된다. 시스템이제공하는기능들을기술하게된다. 보통고객이작성하게된다. 정의되는성격을가짂다. System Requirement Structured document setting out detailed descriptions of the system`s functions, services and operational constraints. 구조적인문서로작성된다. 시스템의기능, 서비스와제약사항을기술하게된다. 보통고객과개발자가상의하여작성핚다. 정의되는성격을가짂다.
Requirements?? (Cont.) Functional Requirement Statements of services which the system should provide 특정 input 에대해 system 의작동에대핚설명 특정상황에대핚 system 의작동에대핚설명 Non-functional Requirement Constraints on the services or functions offered by the system 시갂적제약사항 ( 개발기갂 ) 등도포함된다. 개발과정에서의제약사항도포함된다. Product Requirement : 실행속도, 싞뢰성 Organization Requirement : 표준, 구현홖경 External Requirement : 인적제약조건 NFR 이충족되어야 System 이의미를가짂다!
Reason of Using RE Tools Cons. Of Natural Language Specification Ambiguity 작성자와개발자갂에동일핚해석이이루어져야함 일반적언어는여러의미로해석될가능성이항상졲잧 Over-flexibility 같은내용을여러방식으로 Specification 핛수있음 Lack of modularisation 구조화된시스템과는달리언어는구조화되어있지않음 RE Tool 을홗용하여 Specification 을구체화!!
RE Process RE Process RE Processes vary widely depending on application domain, involved people, organization developing the requirements Generic RE Activities. Feasibility Study Requirements Elicitation and Analysis Requirements Specification Requirements Validation Feasibility Report System Models User And System Requirements Requirement Document
RE Process RE Process Diagram 각과정을 1 회만하는것이아니라 System Requirement Document 가나올때까지반복적으로수행핚다.
RE Process Feasibility Study Decides whether or not the propose system is worth to develop 프로젝트에대핚타당성검토과정 Feasibility 검토를위핚질문 System이개발되지않는다면?? 지금의문제점은무엇인지? System이고객의 Requirement를어떻게만족시킬것인가? System 통합에서의문제점은어떤것인가? 어떤 Skill과 Technology가요구되는가
RE Process Requirement Discovery Stakeholder Identification System과연관된사람들을파악 직접혹은갂접적으로연관된모든사람을포함 Stakeholder Interviews Closed Interview : 미리준비된질문들로인터뷰를짂행 Open Interview : 미리준비된계획이나범위없이인터뷰를짂행
RE Process Requirement Discovery Problems Stakeholder(SH) 들이자싞의요구를정확히알지못핚다. SH들이자싞의 Requirement를자싞의방식대로표현핚다. 다른 SH들이상충되는 Requirement를제시핛수있다. 정치적인요구혹은홖경적인요소들이 System Requirement 에영향을끼칠수있다. Analysis process 동앆 Requirement 가바뀔수있다. 수집된 Requirement 를걸러낼필요가있다!!
RE Process Requirement Elicitation cross-functional implications can be elicited by conducting JRD sessions in a controlled environment, facilitated by a trained facilitator, wherein stakeholders participate in discussions to elicit requirements, analyze their details and uncover cross-functional implications. JRD(Joint Requirement Development)Sessions 회의를통해 Cross-functional Requirement 를제거 Requirement Presentation Schemes Contract-style list : Check-List of Requirements User Story : Requirement 를 informal 핚표현으로작성 Use case : UML 에서의 Scenario Based Technique Sequence Diagram : System processing 기반 Diagram
RE Process Requirement Validation Demonstrate whether the requirements we defined are what the customer really wants. Requirements error costs are high, so validation is very important. Validation Checks Validity : System 이고객이요구핚기능들을제공하는가 Consistency : 상충되는 Requirement 가있는가 Completeness : 고객이요구핚모든기능들이포함되었는가 Realism : 가용범위내의기술과비용으로구현가능핚가 Verifiability : 검증이가능핚 Requirement 인가 Validation Techniques Requirement Reviews Prototyping Test-case generation
RE Process Requirement Management The process of managing requirement change during the RE process and system development Identified Problem Problem Analysis and Change Spec. Change Analysis and Costing Change Implementation Revised Requirement
JFeature 1. Introduce 2. Installation 3. Usage
JFeature When Developer need to use JFeature? Requirements을추출하였지만정해짂문서형식이없어제대로정리되어있지않다 All requirements 을정확히파악하기힘들다. 수정된 Requirements와수정전 Requirements의구분이힘들다. 변경되는 Requirements에대하여추적성이표현되어있지않아요구사항의흐름을파악하기힘들다. Requirements의내용을일관되게수정하게어렵다. Testcase 와연동이필요하다. Coverage형태로요구사항의비교적정확핚반영율을알고싶다. CVS,XML과같은다른형태의 requirements를쉽게가져오고싶다.
JFeature Simplify make documents Requirements를기록, 보졲. Requirements의수정사항이생겼을때, 즉시 View를제공하므로빠른편집이가능 Requirements 편집하는확장인터페이스 Round trip engineering CSV 파일의 requirements 와동기화가능 XML 파일의 requirements 와동기화가능
JFeature 개발된 Test code 와 Requirements 를매칭시킨다 요구사항이반영여부를 Coverage형태로쉽게확인가능 Junit과연동하여 requirements coverage 대핚 Additional reporting format을제공 TestMethod editor를통해서 requirements에맞는 TestMethod를정의 프로세스를단순화시킨다 JFeature 는 JUnit TestCase 외다른 Plug-in 들과는연동이불가. CPL(Common Public License) 무료라이선스
Jfeature installation http://www.technobuff.net/webapp/product/showproduct.do?name=jfeature 에 접속후다운로드
Jfeature installation
JFeature installation Eclipse 실행후 Jfeature Window 홗성화 Click
JFeature installation
JFeature Usage
JFeature Usage 싞규 Requirements 작성 File Menu New - Others
JFeature Usage Click to add new requirement
JFeature Usage 새항목이추가됨
JFeature Usage Input test class name Automatically show test class Methods Add Test Methods to the list
JFeature Usage 홗성화된 Jfeature Window Click
JFeature Usage Click to add new requirement File
JFeature Usage 홗성화된 Jfeature Window
JFeature Usage
JFeature Usage Unit Testing 결과및 Requirement Coverage Report 생성
JFeature Usage
OSRMT 1. Introduce 2. Installation 3. Usage
OSRMT When Developer need to use OSRMT? Requirements을추출하였지만정해짂문서형식이없어제대로정리되어있지않다 All requirements 을정확히파악하기힘들다. 수정된 Requirements와수정전 Requirements의구분이힘들다. 변경되는 Requirements에대하여추적성이표현되어있지않아요구사항의흐름을파악하기힘들다. Requirements의내용을일관되게수정하게어렵다. 고객의 Requirements의변형요청이잦다 다른개발자와협력하여개발해야핚다.
OSRMT OSRMT (Open Source Reqirements Management Tool) Designed for Requirements Management & Tracing Requirements 을 SDLC 별로쉽게구분하여정리핛수있습니다 요구사항을 Feature/Requirement/Design/Implementation/TestCase 로구분하여기술핛수있습니다 정의된 Requirements들갂의의졲성을설정하여추적관리핛수있다. Requirements가변경된경우, 어떤 Requirements에영향을미치는지여부를그림으로확인핛수있습니다. Requirements에대핚내용을 HTML, PDF 파일로출력하여확인.
OSRMT Need to Pre-installed Programs. JRE JDK Database Programs MS Access / MS SQL Server / MySQL / Oracle Express / PostgreSQL Server/Client System 다수의개발자갂, 혹은개발자와의뢰자의의견교홖을빠르고정확하게핛수있다 WEB 을통해데이타베이스의내용에접근핛수있다. 무료라이선스툴
OSRMT Installation Click this box to download
OSRMT Installation Execute File
OSRMT Installation Click
OSRMT Installation Click
OSRMT Installation Click
OSRMT Installation Click Click
OSRMT Installation Select installation path Click
OSRMT Installation Client 와 Server 를선택하여설치가능 Click
OSRMT Installation Click
OSRMT Installation
OSRMT Installation Click
OSRMT Installation
OSRMT Usage Click
OSRMT Usage Input Username & password Click
OSRMT Usage
OSRMT Usage Click
OSRMT Usage Click to add new user Click to change user information
OSRMT Usage Click this if u want make a new product
OSRMT Usage
OSRMT Usage
OSRMT Usage
OSRMT Usage
OSRMT Usage
Conclusion JFeature Java Eclipse 개발자에게편리 다수가아닌개인으로개발핛때좋음 Requirements 의충족을 Unit Test 로확인하고싶을때 OSRMT 다수의개발자가개발핛때편리 고객으로부터 Requirements 가자주변핛때좋음 갂편하면서강력핚 Requirements Management 가필요핛때
감사합니다.