While views restrict access on the basis of data, procedures restrict the actions a user may take. A user can have EXECUTE permission on a procedure without having any permissions on the table or tables on which the procedure acts. See Granting permissions on procedures.
For strict security, you can disallow all access to the underlying tables, and grant permissions to users or groups of users to execute certain stored procedures. This approach strictly defines the manner in which data in the database can be modified.