I'll show the easy way, then the hard way.

## Easy way

Because the Fourier transform is the Laplace transform if it is real `s`

is zero, then you can use `BodePlot`

```
ft = FourierTransform(Exp(-a t) UnitStep(t), t, w, FourierParameters -> {1, -1});
```

```
ft = ft /. (I*w) -> s
```

```
BodePlot(TransferFunctionModel((ft /. a -> 1), s))
```

This way you can improve the plot

```
ft = FourierTransform(Exp(-a t) UnitStep(t), t, w, FourierParameters -> {1, -1})
ft = ft /. (I*w) -> s
tf = TransferFunctionModel((ft /. a -> 1), s);
BodePlot(tf, GridLines -> Automatic, ImageSize -> 400,
FrameLabel -> {{{"magnitude (db)", None}, {None, "Bode plot"}},
{{"phase(deg)", None}, {"Frequency (rad/sec)", None}}},
ScalingFunctions -> {{"Log10", "dB"}, {"Log10", "Degree"}},
BaseStyle -> 14)
```

## Hard way

```
ft = FourierTransform(Exp(-a t) UnitStep(t), t, w, FourierParameters -> {1, -1});
LogLinearPlot(20*Log10(Abs((ft /. a -> 1))), {w, 0, 10})
```

```
LogLinearPlot(Arg((ft /. a -> 1))*180/Pi, {w, 0, 10})
```

**Extra credit**

Here is a manipulation

```
Manipulate(
Module({ft, t, s, w, tf, a0},
ft = FourierTransform(Exp(-a0 t) UnitStep(t), t, w,
FourierParameters -> {1, -1});
ft = ft /. (I*w) -> s;
tf = TransferFunctionModel((ft /. a0 -> a), s);
BodePlot(tf, GridLines -> Automatic, ImageSize -> 400,
FrameLabel -> {{{"magnitude (db)", None}, {None, "Bode plot"}},
{{"phase(deg)", None}, {"Frequency (rad/sec)", None}}},
ScalingFunctions -> {{"Log10", "dB"}, {"Log10", "Degree"}},
BaseStyle -> 14)
),
{{a, 1, "a"}, .1, 10, .1, Appearance -> "Labeled"},
ContinuousAction -> False,
TrackedSymbols :> {a}
)
```