Dear Colleague:

I’m now in the last school term/semester computer science student. Starting from January 2007, I’ll start to work for my senior project, to graduate from my school.

The school has some mandatory criterions that it sets for all senior project working students. These criteria are:
- All projects should be done using object-oriented software engineering and as well using Object-Oriented programming language.
- No one could work his/her project alone and
- The time give is three months, since the usual school term period is three months

Prior to January, I’m preparing my self for the project and know I’m thinking to work on “A publisher software”, that publishes (provides formats or templates) novels, newspapers, and academic books.

Knowledge Background

I have some background about Java and Visual Basic 6. But VB6 is not allowed in the school since it is not fully object-oriented.

Resources Available

I can get visual studio. Net (VB.NET. C#, etc.), Java (JBuider)

My Questions to You

I don’t know which of these tools are more appropriate for developing such type of software application. Even though some of these tools (VB.Net) are not familiar for me, I could tolerate to learn them and work on them if they are more appropriate for such type of project.

Please give me some idea which programming software is much more appropriate for my/our development. I should bring all background works to the group members. If it is visible for us mine will be done, if not we will go for another idea. But every group member may bring his/her idea clearly.

All regards,

Benyam

Dani AI

Generated

A publishing application mixes a document model, a layout/pagination engine, and export/print features. With a three‑month, team‑based senior project and access to Visual Studio and JBuilder, tradeoffs are time-to-delivery, team skill, and scope. already has Java experience, and rightly points out that staying with a known language saves ramp‑up time. That practical benefit should be balanced against platform and library needs for templating, PDF/export and rich editing.

Platform notes without deep detail: both modern Java and .NET (C# or VB.NET) support true object‑oriented design and can produce a solid desktop app. Java gives cross‑platform portability; .NET + Visual Studio tends to speed up Windows UI work and Office integration if targeting Windows only. C# is syntactically and conceptually close to Java, so the learning curve for a Java programmer is modest. Pick the stack that gets a working MVP fastest for the whole group.

Design and scope guidance — focus on an MVP that proves core value rather than a full DTP suite. Key pieces: a clean document object model (Document, Page, Flow, Style), a simple WYSIWYG or template editor, image and font handling, pagination and table‑of‑contents generation, and one reliable export format (PDF). Avoid implementing a full layout engine from scratch; reuse libraries where possible and separate core logic from the UI so the team can parallelize work.

Typical three‑month plan:

  • Weeks 1–2: finalize requirements, core data model, wireframes, and task split.
  • Weeks 3–6: implement core engine (document model + persistence) and simple UI.
  • Weeks 7–9: templates, export/print, image handling and basic styling.
  • Weeks 10–12: testing, polish, packaging and documentation.

Keep scope tight, use version control, assign clear roles (engine, UI, persistence, QA), and set a midterm milestone that must be demonstrable. That approach maximizes chances of a finished, well‑documented project within the term.

If you already know Java, why not just use it ? No point in wasting your time learning a new language, better utilize that time to do some brainstorming about your project and making it a better application.

Java has gone out to show that it can be used for almost all software development projects and there are very less things which can't be done in Java (driver development, 3D engines ?)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.