+ Responder ao Tópico



  1. #1

    Padrão Quanto custa sistemas empresariais?

    Tipo gente, eu tinha algumas dúvidas relacionadas ao desenvolvimento de sistemas e gostaria que vocês me ajudassem a saná-las.

    Estou cursando faculdade em tecnologia da infomação e no início desse próximo ano teremos de fazer o tão conhecido "Projeto Final". :-D

    Os problemas no caso, são os seguintes:

    - Tenho dúvidas sobre quanto cobrar por um sistema desenvolvido (tanto em linguagens e ferramentas fechadas, quanto usando ferramentas abertas, como o Lazarus). Em que os programadores e analistas se baseiam na hora de formular o preço final do sistema?

    - Usar ferramentas livres para desenvolver pode me impedir de vender o software que desenvolvi? Uma exceção que eu vi no próprio site do software foi o Lazarus. Posso fazer programas com ele e vender sem nenhuma dor de cabeça, mas existe alguma ferramenta que me dê essa restrição? Se sim, quais? SGBD's estão nessa lista?

    - Se fossem desenvolver um sistema a partir do zero, pra vocês, qual seria a melhor ferramenta de benefícios pra usar? O que tem se destacado bem no mercado?

    Valeu galera.

  2. #2

    Padrão Complicadinho mas la vai.

    Com relação a Banco de dados Open, sei que o mysql tem restrições para vender sistemas, ja o postgres e o firebird permitem que sejam embarcados em sistemas.

    Linguagens de programação:

    Script: PHP, PERL

    Compiladas: Java, C++

    Cada uma delas aprensenta vantagens e desvantagens distintas.

    Software de programação:
    Java: Eclipse, NetBeans. -- otimos IDES de programacao
    C++: Kdevelop,Kate.
    Perl,PHP: Kate,Kedit,Gedit.

    Na minha opinião o que manda em um projeto é o nivel de portabilidade que ele deve ter exemplo do que sempre levanto:

    Vai ser em 3 camadas.
    Terá abstração a objetos.
    Vai usar XML para comunicacao entre server,clients.
    Terá que acessar multiplos bancos de dados ORACLE,MSSQL,POSTGRES.
    Terá de servir como daemon ("Terei que escrever o daemon").
    Sera implementado em servidores diferentes LINUX,WINDOWS,NOVELL.
    Terá usuarios diferentes em sistemas operacionais diferentes --ISSO DA DOR DE CABECA.

  3. #3

    Padrão Quanto custa sistemas empresariais?

    Vai ser em 3 camadas.
    Terá abstração a objetos.
    Vai usar XML para comunicacao entre server,clients.
    Terá que acessar multiplos bancos de dados ORACLE,MSSQL,POSTGRES.
    Terá de servir como daemon ("Terei que escrever o daemon").
    Sera implementado em servidores diferentes LINUX,WINDOWS,NOVELL.
    Terá usuarios diferentes em sistemas operacionais diferentes --ISSO DA DOR DE CABECA.
    Puxa velho, obrigado eu nem tinha pensado nesses problemas que você colocou. Fiquei só em dúvida quanto algumas coisas, o que você quer dizer quando fala que um projeto pode ter 3 camadas? O que seriam essas camadas? E a abstração a objetos?

    Obrigado pela força. ^^
    Valeu. o/

  4. #4

    Padrão Camadas, objetos !

    Vamos la 3 camadas é o seguinte:

    Voce deve ter o projeto todo independente, exemplo o usuario que acessa seu sistema não tem acesso ao banco de dados direto.

    De que forma o sistema traz dados para ele.

    ---------------> CAMADA DE BANCO DE DADOS (ORACLE,MYSQL,PHP)

    ------------------------------------------------------------------------------------------------
    CAMADA DE OBJETOS INTRISECOS
    ------------------------------------------------------------------------------------------------
    objConn.php --------> prove a conexao com o banco escolhido
    classe extendida: objConnMsql.php ---------> prove conexao com mysql
    classe extendida: objConnPgsq.php ---------> prove conexao com postgres
    classe extendida: objConnOracle.php -------> prove conexao com oracle

    objArray.php --------> prove tratamento de arrays
    classe extendida: objArray2Xml.php -----------> prove retorno de qualquer array para um XML que pode ser enviado armazenado.
    classe extendida: objArray2Txt.php -----------> prove retorno de qualquer array para um txt que pode ser enviado armazenado.
    classe extendida: objArray2Var.php -----------> prove retorno dos dados de array para variaveis.

    ----------------------------------------------------------------------------------------------------
    CAMADA DE ENGINES
    --------------------------------------------------------------------------------------------------
    objClientes.php requer objConn,objArray,
    desta forma ele guarda todas selects updates inserts, formatações dos clientes, neste estagio nao ha mais a necessidade de conexoes com o banco de dados visto que o objConn.php ja está cuidado de tudo, conexao poll retornos.
    Desta forma voce isola o programador que pode implementar classes em cima de classes, sem a nescessidade de ficar controlando aspectos como
    controle de erros de conexoes, tempo de execução de query.
    Exemplo:

    ao inves de

    <?php
    mysql_connect();
    $query="select * from cliente";
    $pq=mysql_query($query)

    while($pq=mysql_fetch_array($pq)){
    echo "<tr>";
    echo "<td>" . $pq['nome_cliente'] . "</td>";
    echo "<td>" . $pq['endereco_cliente'] . "</td>";
    echo "<tr>";
    }
    ?>
    voce vai fazer algo assim:
    <?php
    $clientes = new objClientes();
    $dados = $clientes->getClientes();

    $a2html = new objArray2Html();
    $a2html->setDados($dados);
    echo $a2html->getTabela();
    ?>

    Basicamente todos os procedimentos estao armazenados dentro de classes e extruturados para funcionar da melhor forma possivel dessa forma voce tem um melhor aproveitamento da sua programação facilidade em implementações velocidade e estabilidade do codigo.

    Esse é o OOP programação orientada a objetos.


    engClientes.php ------- prove a interface de conexao com o cliente !

    3 camadas ----
    Banco de dados
    Regras de negocios objetos
    Interface com o usuario.

    Uma coisa importante:
    Essas 3 camadas podem rodar em servidores diferentes 1 server de banco, 1 server de objetos serializados, 1 server de interface !

    www.php.net