public function inserir(Objeto $objeto, Atributo $atributo)
 {
     $idDoObjeto = $objeto->getId();
     $indice = $atributo->getIndice();
     $nome = $atributo->getNome();
     $tipo = $atributo->getTipo();
     $relacionamento = $atributo->getTipoDeRelacionamentoComObjeto();
     $insert = "INSERT into atributo (objeto_id_objeto, nome, tipo, indice, relacionamento_com_objeto) \n\t\tvalues({$idDoObjeto}, '{$nome}', '{$tipo}', '{$indice}', '{$relacionamento}')";
     if ($this->conexao->query($insert)) {
         return true;
     } else {
         return false;
     }
 }
 public function retornaSoftwareDetalhado(Software $software)
 {
     if ($software->getId()) {
         //Pega dados do software.
         $idSoftware = $software->getId();
         $selectSoftware = "Select * From software Where id_software = {$idSoftware}";
         $result = $this->conexao->query($selectSoftware);
         foreach ($result as $linha) {
             $software->setLinguagem($linha['linguagem']);
             $software->setNome($linha['nome']);
         }
         //Buscaremos dados a respeito do banco de dados escolhido.
         $selectBanco = "SELECT * FROM banco_de_dados WHERE software_id_software";
         $result = $this->conexao->query($selectBanco);
         $banco = new BancoDeDados();
         foreach ($result as $linha) {
             $banco->setSistemaGerenciadorDeBancoDeDados($linha['sistema_gerenciador_de_banco']);
             $banco->setNomeDoBanco($linha['nome_do_banco']);
             $banco->setHost($linha['host']);
             $banco->setPass($linha['pass']);
             $banco->setUsuario($linha['usuario']);
         }
         if ($banco) {
             $software->setBancoDeDados($banco);
         }
         //Pegaremos agora a lista de Objetos
         //Aqui também podemos buscar os atributos, mas implementarei isso daqui a pouco
         $selectObjetos = "SELECT * FROM objeto WHERE software_id_software = {$idSoftware}";
         $result = $this->conexao->query($selectObjetos);
         foreach ($result as $linha) {
             $objeto = new Objeto();
             $objeto->setNome($linha['nome']);
             $objeto->setPersistencia($linha['persistencia']);
             $objeto->setId($linha['id_objeto']);
             $idObjeto = $linha['id_objeto'];
             $selectAtributo = "SELECT * FROM atributo WHERE objeto_id_objeto = {$idObjeto}";
             $resultAtributo = $this->conexao->query($selectAtributo);
             foreach ($resultAtributo as $linhaatributo) {
                 $atributo = new Atributo();
                 $atributo->setId($linhaatributo['id_atributo']);
                 $atributo->setNome($linhaatributo['nome']);
                 $atributo->setTipo($linhaatributo['tipo']);
                 $atributo->setIndice($linhaatributo['indice']);
                 $atributo->setTipoDeRelacionamentoComObjeto($linhaatributo['relacionamento_com_objeto']);
                 $objeto->addAtributo($atributo);
             }
             $software->addObjetoNaLista($objeto);
         }
         return $software;
     } else {
         return null;
     }
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer the ID of the model to be loaded
  */
 public function loadModel($id)
 {
     $model = Atributo::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
<title>Escritor De Software</title>
<link rel="stylesheet" type="text/css" href="style/style.css" />
</head>

<body>

	<div id="topo">
		<img src="images/logo.png" alt="" />
	</div>

	<div id="conteiner">
		
		<div id="esquerda">
			<?php 
if ($_SESSION['meuSoftwareId'] && $_POST['nomedoatributo']) {
    $atributo = new Atributo();
    $atributo->setNome($_POST['nomedoatributo']);
    $atributo->setTipo($_POST['tipodeatributo']);
    $atributo->setIndice($_POST['indice']);
    $atributo->setTipoDeRelacionamentoComObjeto($_POST['relacionamento_com_outro_tipo']);
    $objeto = new Objeto();
    $objeto->setId($_POST['objeto']);
    $objeto->addAtributo($atributo);
    $software = new Software();
    $software->setId($_SESSION['meuSoftwareId']);
    $software->addObjetoNaLista($objeto);
    $conexao = Conexao::retornaConexaoComBanco();
    $atributodao = new AtributoDAO();
    $atributodao->setConexao($conexao);
    if ($atributodao->inserir($objeto, $atributo)) {
        echo "Atributo Inserido Com sucesso!";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Escritor De Software</title>
<link rel="stylesheet" type="text/css" href="style/style.css" />
</head>
<body>


<?php 
if ($_GET['id_atributo']) {
    //iremos deletar um atributo aqui.
    $atributo = new Atributo();
    $atributo->setId($_GET['id_atributo']);
    $atributodao = new AtributoDAO();
    $atributodao->setConexao(Conexao::retornaConexaoComBanco());
    if ($atributodao->deletarAtributo($atributo)) {
        echo 'Atributo deletado com sucesso<META HTTP-EQUIV="REFRESH" CONTENT="5; URL=software.php">
				<a href="javascript:window.history.go(-1)">Voltar</a>';
    } else {
        echo 'Falha.
				<a href="javascript:window.history.go(-1)">Voltar</a>';
    }
}
?>
</body>

</html>