\begin{tikzpicture}[
  entity/.style = {
    draw=lightGray!30,
    rounded rectangle,
    minimum width=5cm,
    minimum height=0.75cm,
    bottom color = black!75,
    text = white,
    thick,
  },
  arrow/.style = {
    draw = darkOrange,
    -triangle 90,line width=1mm,
    postaction={draw, line width=0.1cm, shorten >=0.1cm, -},
  }
]
\node[entity, top color = darkBlue] (user) at (0,0) {user};
\node[entity, top color = darkPurple, below=of user] (app) {application software};
\node[entity, top color = darkGreen, below=of app] (sys) {system software};
\node[entity, top color = darkRed, below=of sys] (hw) {hardware};

\path[arrow] (user.330) -- (app.30);
\path[arrow] (app.330) -- (sys.30);
\path[arrow] (sys.330) -- (hw.30);

\path[arrow] (hw.150) -- (sys.210);
\path[arrow] (sys.150) -- (app.210);
\path[arrow] (app.150) -- (user.210);
\end{tikzpicture}
