0

我们是一群在计算机科学领域攻读硕士学位的学生。

这个学期我们应该按照下面的底部解释做一个软件工程项目。

我们应该完全作为一个真正的软件工程团队来行动和报告。

我被选为这个小组的项目经理,我擅长编写java代码但我没有做项目经理任务的经验,无论如何我必须尽我所能与我的小组成员一起完成这个项目尽可能好。

问题是我需要处理不同层次的知识,但所有成员都应该参与实施部分。

如果有人指导我如何做这个项目以及如何管理这个小组以及从哪里开始,我会很高兴?如何鼓励成员,如何在实践中执行我的计划?

请看一下解释并帮助我为这个项目选择什么技术?

项目说明

项目应该作为所谓的网络应用程序来实施。由于 MVC 的要求,这不仅仅是一个服务器-客户端架构——我们(至少)称其为三层架构。

应根据客户的要求动态创建视图。因此,内容必须由服务器(服务器端)计算。除了标记语言之外,视图内部不应存在任何类型的源代码(如“脚本”、Java 代码等)。

这应该确保视图可以由网页设计师创建,其中内容由程序员负责。

反之亦然,源代码不应包含任何标记语言(如 HTML)。

为了存储信息(使持久化),系统应该使用数据库。但是源代码中不应该存在特定于数据库的查询——因为源代码非常依赖于该数据库的使用。系统应与对象关系映射器一起工作,以将数据库中存储的信息映射到特殊类型的对象(bean)上。

所有配置,如数据库、实体、配置、初始化都应该使用 XML 文件(或类似的方式,如注释)来实现,这样更改就不需要重新编译系统的源代码。

可用技术(建议):

  J2EE:
          JSP, Servlets, JSP EL,
          JSTL, JSF, Facelets,
          Custom JSF Components, Custom Facelets TagLibs,
          JUnit (unit testing)

  Persistence:
          Hibernate, JDO
  IDE:
          Eclipse, NetBeans
  Servlet Container:
          Apache Tomcat
4

5 回答 5

2

您的描述与您最初的问题有些不同,因此有点令人困惑。我会尽力回答并给你一些提示......

作为项目经理或领导者,您应该努力让团队中的每个人都发挥出最好的水平。他们每个人都会擅长某件事,所以试着找出那是什么,然后让他们去努力。

当您分配工作时,您还应该分配一些自由和责任/责任。他们是该领域的专家,所以让他们尽可能地处理它。尽可能提供支持、鼓励和指导,但要听他们说什么。

如果您有一些技能较低但愿意学习(或贡献)的团队成员,请将他们与其他人配对。让他们一起研究一个组件,让经验丰富的人“指导”经验不足的人。如果有一种方法可以让这部分成为您项目的“成功标准”,那就更好了,因为它可以激励他们一起工作。

然后是所有技术项目管理任务。这些是规格、甘特图、时间表、评论等。这些很重要,但在我看来,不如人员管理方面重要。让您的团队为您提供这些文档的数据。例如,询问组件 A 的开发人员需要多长时间来开发和测试,而不是试图自己弄清楚。

希望这对您有所帮助,并为您提供一些思考。抱歉,我无法为您的作业提供更多技术/架构方面的帮助。

于 2008-10-29T23:10:07.617 回答
2

也许结对编程(两个人坐在同一个终端一起编程)会有所帮助?

第二个人进行了一次很好的“健全性检查”——错误将大大减少。两位程序员将相得益彰,如果其中一位的经验明显少于另一位,他将学得很快。

于 2008-10-29T23:36:57.420 回答
0

Explanation of the Project: ( Full explanation here )


General Description (customer): UcooP is meant as a system for exchange of knowledge and experiences in the context of universities. This contains multiple levels of exchange.

  (A) Administrative Staff Exchange
  (B) Scientific Employee Exchange
  (C) Student Exchange
  (D) Public Exchange

  Universities can get registered to participate in that platform by sending a corresponding request
  to administration of that platform (e.g. MoHE). After an university has become member of that
  platform, students, employees and administration staff can register themselves as member of
  that university with the related role (student, employee or administrative staff).
  The content that is accessible for members than depends on their role. So, students can't access
  content that is tagged as employee content – and so on. Content that is tagged as public is accessible for members of all roles.
  Content inside of that platform can mean two different things.

  (A) Forum (Discussions on topics)
  (B) Wiki (Best practices)

  So besides the topic, Wiki pages and Forum topics have to be categorized to administration,
  employee, student or public content.

For motivating the universities to participate and to publish their experiences and knowledge – the system should contain a ranking system. Universities can get certificates (e.g. Level One Node, Level Two Node, etc. the higher the better) depending on the number of topics, answers in discussion and/or published wiki pages – created by the university members. Defining the details of the system – means creating the concept and prototype of that system – is up to you.

于 2008-10-30T17:59:49.737 回答
0

“如果有人指导我如何做这个项目,如何管理这个小组,从哪里开始?如何鼓励成员,以及如何在实践中执行我的计划,我会很高兴?”

这是所有团体努力的核心问题。这个问题太模糊了,没有具体的答案。这是有关IT 项目管理的书籍列表。随便挑一个读一读。

于 2008-10-30T01:49:07.233 回答
0

“请看解释,帮我为这个项目选择什么技术?”

由于没有说明项目将构建什么,因此任何技术列表都可以。没有“要求”,没有“概念”,没有“目标”或“目的”。没有任何目的是不可能评估技术的。

您的“项目解释”不是对您的项目的解释。它主要是一堆架构原则。一个项目必须不仅仅是一堆技术。必须有一些目标或目的。

您的“可用技术”列表中包含太多内容。

Struts 和 Hibernate 是您所需要的。其他东西(JSP、servlet 等)是 Struts 的一部分。我推荐 iBatis 而不是 Hibernate。

JUnit 是必需的,并不是真正的选择。将 JUnit 视为 Java 的必需部分。

选择 NetBeans 或 Eclipse——不要浪费时间来回折腾,它们都是免费的,而且几乎相同。随便挑一个。

您的技术列表中的其余内容只是分散注意力。当然,除非您的项目有一些功能需求,而这些技术是一个方便的解决方案。

于 2008-10-30T02:01:25.977 回答