我们是一群在计算机科学领域攻读硕士学位的学生。
本学期我们应根据以下底层解释进行软件工程项目。
我们应该采取行动并作为真正的软件工程团队进行报告。
我被选为该小组的项目经理,我擅长编写java代码,但我没有做项目经理任务的经验,无论如何我都要尽力做这个项目我的小组成员尽可能好。
问题在于我需要处理不同级别的知识,但所有成员都应参与实施部分。
如果有人指导我如何做这个项目以及如何管理这个小组,从哪里开始,我会很高兴的?如何鼓励会员,以及如何在实践中制定计划?
请看一下解释并帮助我为这个项目选择哪种技术?
项目应该实现为所谓的Web应用程序。由于MVC要求,这不仅仅是服务器 - 客户端架构 - 我们称之为(至少)一个三层架构。
应根据客户的要求动态创建视图。因此,内容必须由服务器(服务器端)计算。除了标记语言之外,视图内部不应存在任何类型的源代码(如“scriplets”,Java Code等)。
这应该确保视图可以由网页设计师创建,其中内容由程序员负责。
反之亦然,源代码不应包含任何标记语言(如HTML)。
要存储信息(make persistent),系统应使用数据库。但是源代码中不应该存在特定于数据库的查询 - 因为这些源非常依赖于这个数据库的使用。系统应该与对象关系映射器一起使用,以便在特殊类型的对象(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
答案 0 :(得分:2)
您的描述与您的初始问题有些不同,所以有点混乱。我会尽力回答并给你一些提示......
作为项目经理或领导者,您应该尝试在团队中充分利用所有人。他们每个人都会擅长某些事情,所以试着找出它是什么,并让它们在那里工作。
当您分配工作时,您还应指定一些自由和责任/责任。他们是该领域的专家,所以让他们尽可能地了解它。尽可能提供支持,鼓励和指导,但要倾听他们的意见。
如果您有一些技能较低但愿意学习(或贡献)的团队成员,请将其与其他人配对。让他们一起工作在一个组件上,让更有经验的人“指导”经验较少的人。如果有一种方法可以让你的项目成为“成功标准”的一部分,那就更好了,因为它给了他们一些合作的动力。
然后是所有技术项目管理任务。这些是规格,gannt图表,时间表,评论等等。这些很重要,但在我看来,它们不如人事管理方面重要。让您的团队为您提供这些文档的数据。例如,向组件A的开发人员询问开发和测试需要多长时间,而不是试图自己弄清楚。
希望这是一些帮助,并给你一些思考的食物。抱歉,我无法帮助解决您的任务中更多技术/架构问题。
答案 1 :(得分:2)
也许结对编程(两个人坐在同一个终端上一起编程)会有帮助吗?
第二个人进行了一次伟大的“健全检查” - 错误将大大减少。两个程序员将相互补充,如果一个人的经验明显少于另一个,他将很快学会。
答案 2 :(得分:0)
“如果有人指导我如何进行这个项目以及如何管理这个项目,从哪里开始?如何鼓励成员,以及如何在实践中制定我的计划,我会很高兴的。”
这是所有小组努力的核心问题。这个问题太模糊了,没有具体的答案。以下是IT Project Management上的图书清单。选择任何一个并阅读它。
答案 3 :(得分:0)
“请看看解释并帮助我为这个项目选择哪种技术?”
由于没有解释项目将构建什么,任何技术列表都可以。没有“要求”,没有“概念”没有“目标”或“目的”。没有任何目的就无法对技术进行评估。
您的“项目说明”不是您项目的解释。这主要是一堆建筑原则。一个项目必须不仅仅是一堆技术。必须有一些目标或目的。
您的“可用技术”列表中包含太多内容。
Struts和Hibernate就是你所需要的。其他东西(JSP,servlet等)是Struts的一部分。我推荐使用iBatis而不是Hibernate。
JUnit是必需的,并不是真正的选择。将JUnit视为Java的必备部分。
选择NetBeans或Eclipse - 不要浪费时间来回晃动,它们都是免费的,大致相同。只需选一个。
技术列表中的其他内容只是分散注意力。当然,除非您的项目有一些功能要求,这些技术才是一个方便的解决方案。
答案 4 :(得分:0)
项目说明:(此处有完整说明)
一般说明(客户): UcooP意味着在上下文中交流知识和经验的系统 大学。这包含多个级别的交换。
(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.
激励大学参与并发表他们的经验和知识 - 系统应包含排名系统。大学可以获得证书(例如一级证书) 节点,二级节点等越高越好,这取决于主题,答案的数量 在讨论和/或发布的维基页面 - 由大学成员创建。 定义系统的细节 - 意味着创建该系统的概念和原型 - 由你决定。