Project Grundlagen des Software Engineering Fundamentals of Software Engineering Prof. Dr. Dr. h.c. Dieter Rombach SS 2015 1
Introduction Organizer Demo LogiFlash Reengineering+ Prof. Dieter Rombach Porting Peter Zeller rombach@informatik.uni-kl.de p_zeller@cs.uni-kl.de 32-423 34-407 Requirements Architecture Alexander Klaus Alexander.Klaus@iese.fraunhofer.de 32-417 Component Engineering Max Steiner Christian Wolschke Testing steiner@cs.uni-kl.de wolschke@cs.uni-kl.de 32-427 32-419 Project Touch Down 2
Introduction Demo LogiFlash Apply engineering methods and techniques for the systematic development of software-intensive Reengineering+ systems Porting Requirements Architecture Component Component Requirements Architectural design Testing Engineering Engineering Engineering Testing Project Touch Down 3
Introduction Project Planning Demo LogiFlash Reengineering+ • You will work in teams of up to 5 students Porting • You will only be able to finish your tasks if you continuously Requirements work on them • 8 ECTS Points -> 240 hours, 13 weeks -> ~ 18,5 hours/week Architecture Component • Each phase is completed by a testate Engineering • Check if team achieved expected results • Check if each team member significantly contributed to the Testing results • Check if you are able to communicate your work Project Touch Down 4
Introduction Schedule Demo LogiFlash Reengineering+ Porting Requirements Architecture Component Engineering Testing Project Touch Down 5
Introduction Organizational Issues Demo LogiFlash Reengineering+ • Project environment is provided Porting • Technical support: Christian Wolschke, Thomas Schneider • Requirements Group Mailing Lists • Subversion Repo (with external access) Architecture Component Engineering Thomas Schneider tschneid@cs.uni-kl.de Testing 32-418 Project Touch Down 6
Introduction LogiFlash Demo LogiFlash Reengineering+ • LogiFlash is an educational logic simulator Porting • Complete logic simulator (gates, flip- flops, registers,…) • Requirements Automatic task evaluation • Interfacing to e-learning environments via SCORM Architecture • Platform/Language: Adobe Flash, ActionScript 2.0 Component • But: Flash might become extinct Engineering • Also: Not a good basis The customer for an Open-Source project Testing Markus Damm • Goal: Shift to Open-Source, damm@cs.uni-kl.de Project Touch 32-424 Cross-Platform Down 7
Introduction Original LogiFlash Viewer Demo LogiFlash Reengineering+ Porting Requirements Architecture Component Engineering Testing Project Touch Down 8
Introduction A LogiFlash circuit controls an Demo LogiFlash FSM animation Reengineering+ Porting Requirements Architecture Component Engineering Testing Project Touch Down 9
Introduction LogiFlash Task evaluation Demo LogiFlash Reengineering+ Porting Requirements Architecture Component Engineering Testing Project Touch Down 10
Introduction Original LogiFlash authoring tool Demo LogiFlash Reengineering+ Porting Requirements Architecture Component Engineering Testing Project Touch Down 11
Introduction A first re-implementation Demo LogiFlash approach with ActionScript 3.0 Reengineering+ Porting Requirements Architecture Component Engineering Testing Project Touch Down 12
Introduction Goal: LogiFlash re-implementation using OpenFL + haXe Demo LogiFlash Reengineering+ • Enables targets like Flash, HTML5 , Android,… Porting • Implementation of a LogiFlash- LogiFlash- LogiFlash-Kernel based on Requirements Authoring Viewer the ActionScript 3.0 version LogiFlash-Kernel Architecture • Some concepts will need revising • But certain algorithms (and the graphics) can be re-used Component • Provide/Enable new features like: Engineering • Switch between 2-valued and 4-valued logic Testing • Switch gate design DIN ↔ ANSI • Context menu help Project Touch • Internationalization Down 13
Introduction Reengineering and Porting Demo LogiFlash Reengineering+ Porting Requirements Architecture Component Engineering Testing Project Touch Down 14
Introduction Requirements Engineering Demo LogiFlash Reengineering+ Alexander Klaus Porting Requirements Architecture Component Engineering Testing Project Touch Down 15
Introduction Requirements Engineering Demo LogiFlash Reengineering+ Porting Requirements Architecture Component Engineering Interaction - / Testing NFR Elicitation Review Data- Modelling , and Goal Analysis Task Analysis and System Function Specification Rework Description Project Touch Down 16
Introduction Requirements Engineering Demo LogiFlash Reengineering: Reengineering+ Some changes to the process Porting Requirements 1) Get familiar with the existing program: a) try to read old documents Architecture b) let stakeholders use the old program and watch “think aloud” -technique Component (what can be done? How is it done? …) Engineering 2) Now start with the interviews (as usual) Testing Project Touch Down 17
Introduction Architectural Design Demo LogiFlash Reengineering+ Christian Wolschke Porting Requirements Architecture Component Engineering Testing Project Touch Down 18
Introduction Basic Tasks in Architectural Design Demo LogiFlash Reengineering+ • Input: Requirements Porting • Plan your solution System Requirements • Plan Structure and Interfaces • Division of labour Architecture • Different views Component • Implement non functional requirements Engineering • Evaluate alternatives + prioritize modules • Trace your solution to requirements Testing Project Touch Down 19
Introduction Component Engineering Demo LogiFlash Reengineering+ • Input: Architecture + Priorities Porting • Implement Components Requirements • Unit tests first • Architecture Readable, testable, simple code • Code documentation Component • Update & extend architecture (if necessary) Engineering • Technology: Haxe & OpenFL Testing • Prototype before implementation phase Project Touch Down 20
Introduction Testing Demo LogiFlash Reengineering+ Test first approach unit tests during Porting component engineering phase Test phase: Requirements Integration testing Architecture System testing Acceptance testing Component Engineering Creating a useful test plans Conducting reasonable tests Testing Project Touch Down 21
Introduction Project Touch Down Demo LogiFlash Reengineering+ • Final presentation in the end Porting • Summarize knowledge and gained experience Requirements Architecture Component Engineering Testing Project Touch Down 22
Introduction Next steps Demo LogiFlash Reengineering+ • Register and get a group assigned Porting • Make appointment with Christian Wolschke and Requirements Thomas Schneider for introduction into Architecture laboratory Component Engineering • Alexander Klaus will get in contact with you for requirements phase introduction Testing Project Touch Down 23
Recommend
More recommend