2009-10-28 12 views
6

私は現在、SQL Server(Express)バックエンド用のAccess-VBAフロントエンドである当社のデータベースアプリケーションを書き直しています。私はこのプロジェクトを過度に勉強しましたか?

私はこのアプリケーションを4年間管理していました。ここから始めたとき、ネットワーク共有上の単一の* .MDBファイル(毎週壊れていました)でした。

その後、DBをマルチユーザー* .MDEに変更した後、データをSQL Express Serverに* .ADEとして移行しました。

これ以降、アプリケーションは円滑に実行され、非常に信頼性が高くなります。

しかし、Access(ソースコントロールなし、Officeバージョンに依存するなど)を使用していくつかの欠点があるので、私の上司にC#& WPFのフロントエンドを書き直すように提案しました。

私は数年前にJavaとC++を少し行いましたが、それはそれです。今私はこのプロジェクトを3ヶ月ほどやっていますが、その進行は非常に厳しいです。コンボボックスを満たすという単純な作業のために、私はネットを検索して、たくさんのものを読む必要があります。

私は実際にC#を学びたいと思っています(また、始めてから多くのことを学んでいます)。これは素晴らしい機会だと思いますが、実際のLOBアプリケーションを1人、開発者ですか?

+0

どうVBA-について> VB.NET/VSTO +継続的なC#の統合のための.NETを救うだろうか?危険な峡谷の隣には多くの道があります:) –

答えて

10

プロジェクトのテクノロジを選択することは、常に習得する必要があるためです。 WPFについても心配していました。 1つは、実績のある技術ではない(Winformsと同じ意味)。まだまだ新しいものです。 2つ目は、実行可能なシステムに潜在的に問題のある制限を課すことです。 Vista/Win7または私はXP SP3だと思う。それは問題かもしれません。

経験則は、早めに出荷し、頻繁に出荷することです。機能性を切り離して提供する。しばらくの間、異なるタスクのために両方のアプリを使用するユーザーがいるかもしれません。あなたは一度に全部を飲み込もうとするよりもはるかに優れています。

また、あなたはこれを発見していると思います。完全な書き換えは、ほとんど常に間違いです。それほど多くの利益を得ることはたくさんあります。既に働いているものにバグを導入する機会を多く与えており、多くのドメイン知識(および作業コード)を失います。

+2

一方で、はいWPFは証明されていません。一方、VS 2010はそれを使って構築され、非常に印象的です。 – RCIX

+0

バニラデータプッシュアプ​​リケーションのためのWPFのユーティリティもまた議論の余地があります。 – Benjol

+0

VS2010反応は混合されています:http://blogs.ijw.co.nz/chris/index.php/2009/07/visual-studio-2010-10-is-the-new-6-but-not-the-/ – cletus

1

私はほとんどいつもクレタスに同意しますが、私は両面を演奏して、どこで線を引くのですか? 1903年後半からあなたに手渡されたプロジェクトを維持していますか?いつ弾を噛んでシステムを書き直すべきですか?私は、あなたが記述しているものと乖離したプロジェクトを与えられたら、システムをフィーチャー、達成すべきマイルストーン、テストテストのテスト、書き直しているフィーチャーを検証するテストに分けるべきだと思います。

+0

"..アプリケーションが円滑に実行され、非常に信頼性が高いです。ソース管理とOfficeのバージョンを扱うことは、書き直すのは簡単ではありません。 – JeffO

+0

私の指摘は、圧倒的な仕事をより小さなバイトサイズのチャンクに分割して、テストであなたの前提条件を検証することでした。 –

1

明らかに私はあなたを知らないが、私はあなたがそれを処理できるはずだと思う。 抽象的なレベルでは、以前のアプリケーション(一般的なレイアウト、フォームが何をするかなど)から多くを保つことができます。これにより、成長の激しい森で完全に失われないようになります。あなたはそれを使ってあなたの進歩を判断することもできます:古いアプリケーションはいくつのフォーム(プロシージャなど)で構成されていますか、それらのどれがすでに書き直されていますか?

確かに、上記のコンボボックスのような細部に問題はありますが、それを克服してルーチン(およびコピー元から貼り付けるいくつかのソースファイル)を取得すると、難しくなりません他の誰よりもあなたのために。

2

早めに発送してください。

私はこれに関するcletus()に同意します。 "それを出荷!"この話題に関するいくつかの良いアドバイスで素早く読んでいます。

書き直しには大きなリスクがあります。そのためには時間がかかることがあり、終了する前にプロジェクトがキャンセルされたり、50%の作業で機能が100%状態。書き換えが一部のユーザーの手に委ねられている場合、プロジェクトはキャンセルされる可能性が低くなり、ユーザーは次に必要な機能を実行します。古いアプリケーションにはあまり使われていない多くの機能があることが分かるかもしれません。そのため、完全な書き換えを実行するよりもはるかに短い時間でほとんどの価値をユーザーの手に渡すことができます。

コードが制作されると、より幸せになり、より良い動機を得ることができます。これにより、より速く作業できるようになります。ちょうど私がネット を検索し、多くのものを読まなければならないコンボボックスを 埋めるような単純なタスクのための

あなたの進歩率(または「アジャイル」の「速度」)に不満はありますか?

明らかに、あなたが毎日より多くの時間を作り出せれば、その仕事はあまり圧倒されないかもしれません。 最高のプログラマーと平均の間には生産性に大きな違いがあります(PeoplewareやMythical Man Monthを参照してください)ので、自分自身をより優れたプログラマーにするためにできることは大きな違いを生み出すことができます。

あなたのケースでは、いくつかのトレーニングが役立つのだろうかと思いますか?私は通常、教室のトレーニングのファンではありませんが、あなたの周りに多くの経験豊かな人が学ぶ必要がない場合、これはあなたに飛躍をもたらすでしょう。トレーニングがオプションでない場合は、ローカルのC#ユーザグループがありますか?あなたの会社に経験豊富な開発者がいる場合は、アドバイスを受けることができますか?あるいは水冷式で脳を選ぶだけですか?

あなた自身で働くことの大きな問題の1つは、時には他の誰かがすぐに見つけられるような非常に単純なものにこだわってしまうことです。他の人に問題を説明するだけで、それを解決するのに役立つ方法で見ることができます。毎日短時間でも他の人と仕事ができるなら、これはあなたの生産性を助けるかもしれません。

必要なすべてのツールがありますか?絶対最小値は、 です。バージョン管理システム。 b。バグ追跡データベース c。良い開発環境Visual Studio d。 Visual Studioよりも優れた開発環境!例えばResharper。

詳細については、link textを参照してください。

幸運を祈る!

+0

私はバージョン管理システム(VisualSVN + TortoiseSVN)を使用していますが、バグトラッキングDBはありません(無料のものをお勧めしますか?)、現在はC#Expressを使用しています。本当に素晴らしい製品をお届けしたら、私はVisual Studio(標準で十分でしょうか?)と同じように、より良いIDEを得るかもしれません。 –

+0

バグと問題追跡システムの良い比較があります:http://en.wikipedia.org/wiki/Comparison_of_issue_tracking_systems JIRA、Bugzilla、Tracはすべてオープンソースであり、広く使われており、Subversionの統合もあります。私はFogBugz 6を使用しているため、これらのうちの1つを自分自身で推薦することはできません.FogBugzは無料ではありませんが、優れており、1人または2人のチームで無料のStudent and Startupエディションがホストされています。あなたは学生でも、スタートアップでもある必要はありません。ここでの用語は次のとおりです。http://www.fogcreek.com/FogBugz/StudentAndStartup.html – richj

+0

ResharperはVisual Studio 2008に多くの生産性向上機能を追加しています。http: //www.jetbrains.com/resharper/features/ComparisonMatrix_R4.html これはVisual Studio 2005/2008のアドオンです。 Express Editionはサポートされていませんが、Standard Editionのようです。 あなたの会社がソフトウェアツールのための大きな予算を持っていなくても、時間と生産性を非常に迅速に支払うため、これは検討する価値があります。 – richj

4

私はあなたがC#で何をしても、あなたのAccessアプリケーションに戻ってきます。

SQL Serverのバックエンドにデータベースフロントエンドを構築しています。アクセスはそれには完璧です。それは既存の理由です。

ソースコントロールには、Visual SourceSafeがあります(ただし、1人のプロジェクトに必要な理由はわかりませんが)。 Officeのバージョン依存性に関しては、Access 2000以降、それほど大きな問題ではありませんが、ADPはすべてのバージョンのAccessで同じように動作しないという点で非常にバージョンに依存しています。また、MSは、ODBC経由でSQL ServerにリンクされたMDB/MDEフロントエンドを支持して、過去数年間ADPを非難しています。

あなたはお風呂に入って赤ちゃんを投げ捨てて、フロントエンドのアクセスに戻ってください。あなたは働くアプリケーションをしたいですか?それとも、C#開発者だと言いたいのですか?

フロントエンドを書き換えるための実際の投資収益率を定量化できますか?もしそうなら、あなたはAccessでの滞在は卸売り書き換えよりもはるかに優れた価値になるだろうと思うでしょう。

+1

これはあなたが聞きたい答えではないかもしれませんが、Davidは完璧な答えをくれたと思います。 SQL Serverに接続されたアクセスフロントエンドは、バージョン管理のためにSourceSafeを使用しています(私が直接作業しているものではありませんが)。あなたがすでに持っているものを取って本質的にそれを返すという確かなビジネスケースはありますか(ただし、New Technology Compliance(TM))? –

+0

本当に私が聞きたいと思っていたものではありませんでした。)しかし、私は1つのことを言いました:私は大学を訪れている間、パートタイムの仕事としてここで働いています。私の上司は、私がC#についてあまりよく知っているわけではないこと、そしてこのプロジェクト全体が、まず第一に私のために多くの学習を意味することを知っています。私は個人的な視点から、ビジネスとROIの観点から、より多くの質問をしました。 (私はもちろん、一日中stackoverflowを読んで払ってはいけません) –

+0

エンドユーザーやテストをしている人には大きなコストがかかるようです。あなたの新しいアプリが古いものの機能を複製することを確認するためにどれくらい並行して実行する必要がありますか?特にあなたが間違いを犯すと、あなた自身の時間を超えて莫大なコストがかかります(そして、間違いを犯すでしょう - 非常に長い開発プラットフォームの経験を持つプログラマーでさえも間違いがたくさんあります)。 –

2

重要な新技術を学びたい場合は、ミッションクリティカルなシステムを大幅に書き直すことをお勧めしません。これは、ステレオタイプの間違いです。「ビジネスアプリケーションのアップグレードで見た最大のミスは何ですか?」のような質問の下でStackoverflowで250の投票権を得ることになります。

.NETで最初にプロジェクトを作成することをお勧めします。例えば、私の足をjQueryで濡らすために、私は最近Memoryのゲームを書いています。あなたはそのようなことや簡単な小切手プログラムをすることができます。

貴社のメインアプリケーションで実際のビジネス作業を学習プロジェクトとして実行する必要がある場合は、小さな独立した(アプリケーションの残りの部分とは別の)作業単位を選択し、テストプロジェクトとして実行します。既存のアプリケーションを混乱させてはいけません。スタンドアロンの機能を追加するだけです。その実験に基づいて、あなたとあなたの上司は、次の少し大きめの作業単位で前進する価値があるかどうかを判断できます。

1

SourceSafeをMS Accessで使用すると、非常にうまく統合されます。私はこれが1人のプロジェクトであるかどうかにかかわらず、これをお勧めします。それは数回ベーコンを保存しました...

私は、WPFが最初のアプリに適した選択肢になるとは確信していません。ラインオブビジネスアプリケーションのメリットは、私の意見では魅力的ではありません。データバインディングを持つC#またはVB.Netは、強力かつ迅速に構築することができますが、それはすでに '非常に信頼性の高い'あなたの現在のアプリの上に何が提供されるのかはわかりません。バックエンドとしてのSQL Serverの使用は、ビジネスクリティカルなアプリケーションのアクセスの使用に関する多くの反対意見(パフォーマンス、スケーラビリティなど)を排除します。実際に、数百人の同時ユーザーによるSQL Serverデータベースへのアクセスフロントエンドうまく動作します。

私は次のアプリ.....

関連する問題