presented by : al saati razann bardet marine el aouyed el mehdi essaid sanaa fangar mohamed
TRANSCRIPT
SHDLSTUDIOPresented by :
AL SAATI RazannBARDET MarineEL AOUYED El MehdiESSAID SanaaFANGAR Mohamed
Introduction Legacy New Specifiation Work Organization Development approach GUI Amelioration Bug List and Test procedure Quality management Conclusion
Plan
SHDL Language : What is the SHDL language ?
Language used for logic circuits simulation Simple Hardware Description Language This language is used for teaching purposes at
ENSEEIHT (easier than VHDL) Created by Jean-Christophe Buisson, researcher
at IRIT laboratory. An Older Software (MDLE) was developed ten
years ago. (reference for the project) Project began in 2010 : 3rd development team.
Introduction
Introduction
module fulladder(a,b,c:s,r)s=a*/b*/c+/a*b*/c+/a*/
b*c+a*b*c;r = a*b + a*c + b*c;
end module
Legacy Software:
SHDLStudio
Documents: Report SoftwareDevelopmentPlan SoftwareQualityRequirement SoftwareRequirements SoftwareValidationRequirement
Maintenance Manual not provided.
Work Organization and environment
Environement : Java - Netbeans 6.9.1
ORIGO - SUBVERSION
ENSEEIHT – Room A-204
Project Management
Client MeetingTeam MeetingSupervisor
Meeting
Client Meeting: Change control BoardReviews
Supervisor Meeting: Progression of the project Software documents Software Quality approach
Team Meeting: Work Organization Client and Supervisor requirements.Project statusDaily work : everyday from 10:00 am to 6:00 pm room
A-204 (basement Bat A.)
Development approachGUI modifications and correction of bugs:
incremental cycle
Development approachvirtual objects:
Requirements
Volatility
•Frequent review with the client
• Frequent team meeting
Technology unknown
•New task : appropriate code
•Make prototypes
Risks and preventive actions
Planning
Correction of bugs
Virtual Objects (Lift, Oscillator, 7-segment Display)
Amelioration GUI(Design, Chronogram)
Document(Maintenance Document)
Client Requirements
BUGS
Check functionalities
Establishment of a list
Resolution of them
Electronic system, whose behaviour is simulated by the software
3 required objects :◦ Lift◦ Seven Segment Display◦ Oscillator
Virtual Object
Lift
Code SHDL:new Module(a,b:c,d)
lift(a,b:c,d);end module
Simulation
Design
7-Segment Display
Code SHDL:new Module(a[7..0])afficheur7seg(a[7..0]);end module
Design
Simulation
Oscillator
Code SHDL:new Module(a:b) oscillator(a,20:b);end module
Design
Simulation
frequency
GUI Amelioration : Simulation and Chronogram
Modification of signal value during the simulation
Modification of inputs values
Displayed Signals in Chronogram : not yet implemented
Modification of the Chronogram display
GUI Modifications: Design amelioration: Comparison
GUI Modifications: Design amelioration: The magnetic grid
S=h x 4
One step (s)
Operator location
One step is a multiplier of this distance (h)
GUI Modifications: Design ameliorations
Hidden input connection points
Inputs operator labels
Different colours for input and output labels
The radius of points had changed
Different lines depending on the arity
Test procedure
• General check at the beginning
• Integration test for virtual object (use in edition and behavior in simulation)
• Functional tests
• Tutorials
Test Results Virtual object:
lift : outputs problem 7 seg display ok oscillator : frequency problem
Functional tests: 53% work well 37% not implemented yet 9% bugged
Tutorial: ok : fulladder ... nok : flipflop+oscillator ..
Coding and documenting rules
The source code must obey these rules:- R1 : Every class must be commented.- R2 : For a package, each class contains
maximum 1000 lines in average. - R3 : Each new function contains maximum 30
lines.- R4 : Average of cyclomatic complexity < 7.- R5 : The document's template should be
respected.- R6 : The reference should be indicated with the
number of pages.
Metrics results (Simple code metrics)
Packages
Metrics Conversion Actions Simulation
Cyclomatic complexity average
5.27 1.27 3.12
Total LOC 1616 1054 4586
Total Classes 2 12 25
Average 808 87,8 183,44
Total Methods 35 69 193
Delivrables :◦ Software Requirement document.◦ Development plan document.◦ Validation plan document.◦ Quality insurance plan document.◦ Source code ◦ An executable of the software.◦ Maintenance document and User guide ◦ Configuration management plan
Project Future
constraints
Short Time : 8 weeks
Quality supervisor :Documents needed
Technology unknown : Netbeans RPC
Client’s needs :Source Code
Conclusion
Demonstration
Thank you for your attention