I want to share a quick guide to importing existing requirements into Enterprise Architect in order to start building traceability and management structure over your requirements.
In a lot of organisations, requirements definition takes the unsophisticated form of either a word or excel document. This is typically due to existing templates, familiarity and availability of Microsoft Office or lack of experience in alternative options.
In either case, you can take these flat formats and import them into EA with a relatively easy and repeatable process - as I will show you below.
At the least, I would expect a requirements document to have the following items per requirement statement:
- Requirement number
- Requirement definition
Can also include other details that you wish to track about a given element, such as category, project phase t-shirt size - it could be anything!
If the document is currently in MS Word, then copy and paste the requirements portions into Excel, and tidy up formatting as necessary until you have just the relevant requirement columns.
Set up EA CSV Import Definition
First, Create a top level container package to hold our requirements.
Select the top level item (normally 'Model' unless you've renamed it) and click the 'New Package' icon. Give it an appropriate name - 'Requirements' works for me.
Then, right click on the newly created package and select 'Import/Export' -> 'CSV Import/Export'.
This will be display the CSV Import/Export window where you can select a file to import and a template to use. Seeing as we having created a template yet, we will need to do that first.
So where it says 'Specification' and there is a button to the right 'Edit/New' - click that.
Now we are on the specification page we can provide the details for our template and define the fields we want to create for our requirements.
- Fill out the Specification name and notes fields as appropriate.
- Ignore the default filename.
- Set the default direction to import
- Under default types enter: 'requirement'. This states that every element we want to import will be a requirement element.
- Make sure the 'Preserve hierarchy' is unchecked (only for first import - it's important later on when running an updated CSV back into EA!)
With me so far? Great!
Now for the available fields. This lists the standard elements and allows you to select the EA properties you wish assign from your import file.
Typically my 'selected fields' look this (in order):
optionally include other items such as
The order of which these are sorted is imported because this will exactly match the columns in your import spreadsheet.
So if you're following along with my example, I had the following columns in my import file:
- Requirement number
- Requirement definition
So what we are doing here is a mapping from import file -> EA property.
So let's return to our specification fields and run through each:
Name - for this I normally truncate the definition at a certain length and use that as the name, but you can write an appropriate name if you feel the need - not plausible for long lists of requirements (100+).
Tip - Use the following excel formula to truncate to 60 characters and copy and paste down the column: =LEFT(B2,60) replacing B2 with the requirement definition.
It is also important to then copy and paste the VALUES only over top so we don't end up importing the formula into EA!
Alias - I use the requirement number for this, so switch this around so requirement #s are displayed in the 2nd column.
Type - this is the column EA will use to determine the type of element to create, so in our case they will all be requirement. copy and paste this down the column to every requirement row has the word 'requirement'.
Notes - This is the key column which will contain the body of your requirements. You have some formatting issues if you had rich text from a word document, but its worth the time to clean this up at some point, although arguably easier to do this within EA.
The other columns for here are optional and you can pick and choose appropriate EA properties to map your other data too - do this at your discretion based on project needs.
If you can't find an appropriate EA property, then create a tagged value and assign it to the specification
Save the specification and we are ready to import!
Importing the file with our specification
Before we can import the file into EA, we need to take our freshly re-worked excel file and save as a .CSV
Select File -> 'Save As' and select the CSV format.
Now back on the 'Import/Export' window, select the newly created specification, check the direction is 'Import'.
Under the file, locate the import file you saved in the above step.
When you're ready to go - hit 'Run'. (Make sure you have closed the CSV file from the earlier step otherwise EA will throw an error saying it can't open the file)
Success! We should now have a list of imported elements under the package you selected earlier
Stay posted for my follow up article on how to update and managed changes to requirements while retaining structure!
Hope that was helpful.