当前位置:文档之家› XML Encoded Reverse Engineering of Java to UML

XML Encoded Reverse Engineering of Java to UML

XML Encoded Reverse Engineering of Java to UML
XML Encoded Reverse Engineering of Java to UML

XML Encoded Reverse Engineering of Java to UML

C. R. Russell and R.G. Dewar

Department of Computer Science, School of Mathematical and Computer Sciences, Heriot-Watt University, Riccarton, Edinburgh, EH14 4AS, Scotland, UK.

{c.r.russell | r.g.dewar} @https://www.doczj.com/doc/c91104163.html,

Abstract

This paper introduces an XML encoded reverse engineering transformation from Java to the Unified Modeling Language (UML). We explore the relationship between an XML based representation of Java, namely JavaML, and an XML based representation of UML, XMI. A series of XSLT templates are then described that reverse engineer Java to UML Class diagrams. By exploiting XML technologies, this approach demonstrates the opportunities for simple, standardised and adaptable conversions between code and design information, within a software development and maintenance environment.

1. Introduction

Today’s corporate world is dynamic and software artefacts have to be adaptable to keep pace with business needs,. Hence there is a need for tools to automate the modification and development of existing systems.

An essential procedure involved with such software maintenance efforts is code understanding. However this process can be time-consuming and tedious possibly made more difficult by a lack of good documentation. It

is often the case that maintainers of code are not the original designers [1]. As such, programmers spend large amounts of time deciphering other people’s code. In fact,

it is estimated that 50% of a software engineer’s time is spent on maintenance tasks involving information searching and program understanding [2].

Reverse engineering techniques allow analysts to produce design models, which can be used to discover the underlying program architecture and behaviour. These abstractions aid the program understanding process by allowing the software engineer to quickly gain a picture

of the overall system. Additionally, reverse engineering plays an important role in facilitating code reengineering and evolutionary development [1, 3].

Source code representation is an important issue in software analysis, it influences how easily analysis and maintenance tools can extract, process and exchange the program data. Traditional representation has been through Abstract Syntax Trees (AST) [4]. However XML based representations seem to present a more useful form of source code. Mamas and Kontogiannis [5] argue that this format allows for more open data exchange and exploits the abundance of XML tools and technologies, which make it easier to traverse, edit and analyse code. McArthur et al [6] complement this work with an extensible tool for XML-encoded source code representation.

Since the Unified Modeling Language (UML) [7] has been accepted as a standard, by the Object Management Group (OMG), it has become established as a principle means for modelling software systems. Although many tools exist that reverse engineer code into UML models, Gogolla and Kollmann [8] observe that, “a uniform standardized process for the redoccumentation of Java programs with UML diagrams that furthermore aims at an extensive coverage of the notational features of the UML is still missing”.

This paper highlights the opportunities to standardise the reverse engineering process that result from adopting XML based techniques. In addition, the work emphasises the power and simplicity of XML translation schemes in a software development and maintenance environment.

The paper is organised as follows: in sections 2 and 3 the technologies involved in our approach are discussed; section 4 describes the implementation of the XML encoded reverse engineering tool; and finally we draw conclusion and highlight future directions for this research.

2. Java Markup Language (JavaML)

An XML based representation of Java source code, the Java Markup Language (JavaML), is presented by Badros [9, 10]. He has developed a converter using the Jikes Java compiler that transforms Java source code into the Java Markup Language (JavaML). The result is a Java program delimited by tags that describe the elements of the code. Badros maintains that this representation offers a number of benefits over classical text representation. With respect to reverse engineering, it is easier to parse and analyse by utilising the mass of existing XML related tools.

The rules that structure Java source code are inherently mirrored in the hierarchy of JavaML elements. As a result the structure of a program is presented

directly through the way in which JavaML elements are nested.

It is worthwhile noting that the JavaML elements embody all the existing source information. Hence anything else, required for another format, must be either generated by the transformation or deduced from this source information. The following provides a simple example of some Java code (Figure 1) and its equivalent representation in JavaML (Figure 2).

class Person {

private String firstName; private String lastName; private Car myCar;

public void setName(String n){ firstName=n; } }

Figure 1. Simple Java Class (Code 1).

Figure 2. JavaML Representation of Figure 1.

3. UML, XMI, PGML and ArgoUML

UML seems an obvious choice as a form of abstract representation for Java reverse engineering given that both: a tight mapping exists between UML and OO languages; and it is now familiar to many software engineers [11].

XML Metadata Interchange (XMI) is a standard produced by the OMG [12]. It merges the UML standard

with the accepted form of information exchange, XML. The result creates a standard format for the open interchange of design information [13]. Relevant to this work, it offers a standardised method to store and transfer the information that is displayed through UML diagrams.

Alternatively, a translation scheme could be developed to convert into other exchange formats, for instance, GXL [14]. However, this work focuses on demonstrating the benefits of establishing translation schemes, between XML-encoded software artefacts.

ArgoUML is an object-oriented design tool that supports the use of UML for software development [15]. It is also an Open Source Development Project that stores UML models with the XMI standard. The Precision Graphics Markup Language (PGML) [16] is used to save the graphical representation of these models.

The Ophelia project [17] is working to integrate ArgoUML into a suite of software engineering tools. At the moment, the environment includes a parse-oriented reverse engineering facility. We have augmented this functionality with a transformation-based reverse engineering method.

4. Reverse Engineering Transformation The need for automated software maintenance tools and the role that reverse engineering techniques play in

program understanding have been highlighted. In addition, UML has been presented as a suitable modelling language for representing design abstractions. Indeed, UML has the major benefits of being both an industry standard and supported by XMI. Additionally,

the advantages of XML based program representation, in particular JavaML, have been introduced. The key observation is that a missing link exists

between JavaML representation of source code and XMI representation of design information. This work concentrates on exploring the relationship and mappings between these formats. In essence, this mapping is the reverse engineering process. JavaML represents the marked up source code (i.e. no abstraction or loss of detail) while XMI should contain only the marked up UML design information (i.e. an abstraction). To achieve standardized reverse engineering, a complete translation scheme that re-documents the JavaML in XMI must be developed.

Initially the project has only been concerned with creating a class model in order to concentrate on and demonstrate the XML techniques involved.

A reverse engineering tool has been developed that extracts design and structure information from Java source files and generates the relevant XMI file. The tool

allows the class model to be visualised, in ArgoUML, by generating a PGML file that relates to the XMI model. 4.1. Transformation Language

Two main methods to transform XML exist; these are XSL Transformations [18] and the Document Object Model (DOM) [19]. While XSLT describes the state of the transformed document in relation to the original document, DOM allows manipulation of the tree structure.

Since the XMI and JavaML vocabularies are completely different it is sensible to declare the state of the output XMI, using XSLT, as opposed to implementing a procedure to modify every element.

The basis of a mapping exists between these two formats. To implement this with DOM would require the development of procedures that reconstruct the tree according to the mapping rules. Alternatively, with XSLT we can directly describe the translation, leaving the tree construction to the XSL processor.

Finally, the main motivation to use XSLT instead of DOM is that by using XSLT the translation becomes adaptable. Changing the process merely requires altering the stylesheet, no recompilation is necessary.

4.2. XMI Class Diagram Components

While designing, it was important to understand the structure of these two formats (JavaML and XMI) and their relationship. Significantly, however, only a subset of the JavaML and XMI schemas are relevant to the project problem.

Adopting a pragmatic approach, initial analysis involved generating UML models with ArgoUML and examining the equivalent XMI document. This identified three distinct components required in the XMI model of a UML Class Diagram:

class

association

data type

For each component, it is essential to categorise its elements depending on whether they must be mapped, deduced or generated. Mapped, indicates a transfer of information directly from JavaML to XMI. Deduced, refers to information that is implicit in JavaML but must be made explicit in XMI during the translation. Finally generated, specifies elements that have no connection to the JavaML input and must be generated. Such a categorisation could form the basis of a framework for creating translation schemes between XML-encoded software artefacts. 4.3. XSLT Templates

Several XSLT templates have been designed that implement these JavaML to XMI translations, which are all combined within an overall stylesheet.

In order to use the Argo environment to display the reverse engineered model, a PGML file must be generated that relates to the XMI model. To display a model with PGML, every class, association and association end must be referenced by a group element. Another style sheet implements this and generates a PGML file for a given XMI file.

Figure 3 highlights how the prototype utilises the specified style sheets and generates an Argo project.

Unfortunately, space limitations prevent us showing actual transformations graphically realised in modeling applications.

5. Conclusions

This paper introduces an XML based transformation of marked up Java source code to marked up design information. Our initial work aims to highlight the benefits and opportunities that could result from extending XML encoding throughout the automated software environment.

A key difference from existing reverse engineering techniques, that must be emphasised, lies in the data gathering operation. Traditional methods depend upon parsing, which involves grammar rules, whereas our approach simply requires transforming. With XML

encoding, grammar rules are already implicit within the input document structure thus allowing focus to be placed on the desired transformation.

It is worth reiterating that the XSLT style sheets used in the transformation are declarative. As a result, our approach is adaptable and extensible; any alterations or additions to the process simply require modified or new templates, no recompilation.

Ultimately, as XML based source code representations become more prevalent, a library of adaptable XSLT style sheets could prove useful in the automation of the software design process.

This work should serve as a proof of concept for future translations between XML-encoded software artefacts. In fact, Alves-Foss et al. [20] have recently highlighted such a notion in their future work, yet our investigations have already shown its feasibility.

6. Future Work

Possibly the most significant extension to this work would result from applying our approach to the development of automated round-trip engineering capabilities. A library of XSLT style sheets could be implemented that describe the possible mappings to and from design information and source code. Also, this approach presents opportunities to overcome the key problem of consistency, involved with round-trip engineering, by exploiting X-Diff tools [21].

Indeed, incorporating XML tools with our approach would offer considerable advantages. Tools could determine and compare design and code metrics to check consistency. Additionally, XML technologies could allow elements of software that are affected by design changes to be easily referenced and modified.

Finally, as more languages become XML encoded, our approach could be applied to translate among languages as well as between alternative design information representations.

7. Acknowledgements

Thanks to the members of the Ophelia team, in particular Mike Smith and Alan Smith, for their support and advice. Thanks also to Hunter Davis for his feedback. Lastly we greatly appreciate the work of Greg Badros.

8. References

[1] E. J. Chikofsky and J. H. Cross II. “Reverse Engineering

and Design Recovery: A Taxonomy”. IEEE Software,

7(1):13-17, Jan 1990.

[2] R. S. Pressman. Software Engineering, A Practitioner’s

Approach. McGraw Hill, 1997. [3] J. Bowen, P. Breuer, and K. Lano. “A compendium of

formal techniques for software maintenance”. In Software Engineering Journal, September, 1993.

[4] A. V. Aho, R.Sethi and J. D. Ullman. Compilers:

Principles, Techniques and Tools. Addison-Wesley, 1986.

[5] E. Mamas and K. Kontogiannis. “Towards Portable Source

Code Representations Using XML”. In Proceedings of 7th

Working Conference on Reverse Engineering (WCRE

2000), pages 172-182.IEEE, Brisbane, Australia,

November 2000.

[6] G. McArthur, J. Mylopoulos and S. K. K. Ng. “An

Extensible Tool for Source Code Representation Using

XML”. In Proceedings of 9th Working Conference on

Reverse Engineering (WCRE 2002), pages 199-210.IEEE, Richmond, Virginia, USA, October 2002.

[7] OMG, editor. OMG Unified Modeling Language

Specification, Version 1.3, June 1999. Object

Management Group, https://www.doczj.com/doc/c91104163.html,, 1999.

[8] M. Gogolla and R. Kollmann. “Application of UML and

their Adornments in Design Recovery”. In Proceedings of 8th Working Conference on Reverse Engineering (WCRE

2001), pages 81-90. IEEE, Los Alamitos, 2001.

[9] G. J. Badros. JavaML Home Page.

https://www.doczj.com/doc/c91104163.html,/homes/gjb/JavaML. [10] G. J. Badros. “JavaML: A Markup Language for Java

Source Code”. In Proceedings of 9th International World

Wide Web Conference (WWW9). Amsterdamm,

Netherlands. May 2000.

[11] M. Gogolla and R. Kollmann. “Re-Documentation of Java

with UML Class Diagrams”. In E. Chikofsky, editor,

Proceedings of 7th Reengineering Forum, Reengineering

Week 2000 Zurich, pages REF 41-REF 48. Reengineering Forum, Burlington, Massachusetts, 2000.

[12] OMG: XML Metadata Interchange (XMI) Version 1.1.

November 2000, Object Management Group.

https://www.doczj.com/doc/c91104163.html,/TR/xmi

[13] S. Brodsky. “XMI Opens Application Interchange”. IBM,

March 1999.

[14] R. C. Holt, A. Winter and A. Schurr. “GXL: Towards a

Standard Exchange Format”. In Proceedings of 7th

Working Conference on Reverse Engineering (WCRE

2000), pages 162-171.IEEE, Brisbane, Australia,

November 2000.

[15] J. Robbins. “Cognitive Support Features for Software

Development Tools”. 1999. http://argouml-

https://www.doczj.com/doc/c91104163.html,/docs/robbins_dissertation

[16] N. Al-Shamma and others. Precision Graphics Markup

Language (PGML). W3C Note, April 1998.

https://www.doczj.com/doc/c91104163.html,/TR/1998/NOTE-PGML

[17] Ophelia Project Home Page.

https://www.doczj.com/doc/c91104163.html,/ophelia

[18] J. Clark. XSL Transformations (XSLT) Version 1.0. W3C

Recommendation, November 1999.

https://www.doczj.com/doc/c91104163.html,/TR/xslt

[19] A. Le Hors and others. Document Object Model (DOM)

Level 2 Core Specification Version 1.0. W3C

Recommendation, November 2000.

https://www.doczj.com/doc/c91104163.html,/TR/DOM-Level-2-Core.

[20] J. Alves-Foss, D. Conte de Leon and P. Oman.

“Experiments in the Use of XML to Enhance Traceability Between Object-Oriented Design Specifications and

Source Code”. In Proceedings of 35th Hawaii International Conference on System Sciences (HICSS 2002), pages 276-284. IEEE, Big Island, Hawaii, 2002.

[21] X ML Diff and Merge Tool.

https://www.doczj.com/doc/c91104163.html,/tech/xmldiffmerge

C++实现:简单的学生信息管理系统

<< endl << endl; cout << "按下1:进入学生信息管理系统." << endl; cout << "按下0:退出." << endl; cout << "-----------------------------------------------------" << endl<> flagOperateInformation; (); cout << endl; if (flagOperateInformation) EditMenu(); } } << endl; cout << "按下2:修改学生信息." << endl; cout << "按下3:删除学生信息." << endl; cout << "按下4:显示学生信息." << endl; cout << "按下5:按学号升序排序" << endl; cout << "按下6:读入已有信息(暂时没实现)" << endl; cout << "按下7:将信息输出(暂时没实现)" << endl; cout << "按下8:显示系统内所有学生的信息" << endl; cout << "按下0:返回上一级." << endl; cout << "--------------------------------------------" << endl << endl; cin >> flagContinueOperation; (); cout << endl; switch (flagContinueOperation) { case 1:AddStudentPersonalInformation(1); break; case 2:ModifyStudentInformation(); break; case 3:DeleteStudentInformation(); break; case 4:DisplayStudentInformation(); break; case 5:RankByID(); break; case 6:cout << "功能暂未实现" << endl; break; case 7:cout << "功能暂未实现" << endl; break; case 8:DisplayAllStudentInformation(); break; case 0:break; } } } tudent_WritePersonalInformation(iD,name,address,phone); cout << "基本信息输入成功!" << endl << "------------------------------" << endl; } tudent_WriteMaPhEgGrade(mathGrade, physicsGrade, englishGrade); cout << "学习成绩输入成功!" << endl

学生选课系统

管理信息系统课程设计报告 学生选课系统 班级: 学号: 姓名: 指导教师: 2014年12月20日

目录第一章:现行系统概述 第二章:系统分析 2.1需求分析 2.2可行性研究 2.3信息系统规划 2.4系统的开发方法的选择 2.5组织结构与功能分析 2.6业务流程分析 2.7数据与数据流程分析 2.8功能/数据分析 2.9新系统逻辑方案的建立 第三章系统设计 3.1系统总体结构设计 3.2数据结构与数据库设计 3.3代码设计 3.4输入/输出设计 3.5模块功能与处理过程设计 第四章系统实施 4.1系统实施 4.2系统运行调试

第五章:结束语(结论、建议、收获、体会及小组中每个成员的工作内容) 参考文献

第一章现行系统概述 本科生选课系统是个很庞大的信息系统。目前随着学校人数和课程的激增,对教务处而言,管理和维护选课系统关系到自身的效率,选课系统的繁杂,在一定程度上会相对的增加教务处的管理负担。对学生而言,在选课阶段必须面对大量课程进行仔细筛选,而所有课程聚在一起,学生无法快速定位自己想选以及在规定时间内被要求选的课程类别。 这些问题的出现表明我们的选课系统仍然存在着问题,也需要对其进行改造,由此提高学生选课效率,为学生的学习带来更大的便利。学生选课系统作为一种现代化的教学技术,越来越受到人们重视,是一个学校不可或缺的部分。学生选课系统就是为了管理好选课信息而设计的。学生选课系统将是选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确,及时,有效的查询和修改学生选课情况。

第二章系统分析 2.1需求分析 学生可以选修规定范围内的课程,查看已修学分总数,还可以修改个人信息。教师可以根据统计的人数挑选一定数量的学生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。管理员可以指定每门课程的任课教师,修改课程信息,增加、修改、删除学生信息。分析一:系统应该满足以下几个方面需求: (1)某些选修课程因为前序课程或者教学管理资源的限制,要求系统能对课程选修人数、选修学生年级、专业等进行限制。 (2)选课过程需具有时效性,系统要能在短时间内响应大量学生的查询和选课要求,並及时处理。 (3)教务部门能及时掌握课程选修情况,系统界面直观,操作简单,学生不需经任何培训即可操作。 (4)系统要提供数据输出接口以供教务员作后期处理及保存。包括作为以后查询和评估使用的资料。 分析二:系统要实现的功能分为二大模块: 管理员模块: (1)负责统一管理,包括课程的查询、添加、修改和删除; (2)限制选修条件的管理,包括条件的添加、修改和删除; (3)统一管理用户,包括管理员和学生用户的管理; (4)系统公告的管理; (5)数据的管理和数据导出;

简单学生信息管理系统设计

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组容。 2.设计实现一个简单的信息管理系统。 实验容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有、学号、math、os、java用来存放 对应的成绩,在构造方法中进行、学号、课程成绩的赋值。 Override有Object继承来的tostring方法已便友好格式显 示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 (判断是否相等使用string类的equalsIgnoreCase方 法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的容,注意要考虑以前未保存容的情况, 可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找 3 按查找 4 按学号删除 5 保存 6 读入7 退出 请输入数字(1-7): 程序代码

网上选课系统-需求分析报告

一、系统设计可行性 1.1网上选课系统的产生 网上选课系统是针对在校学生和教师使用的,从学生的角度来说,由于教学制度的改革,现在大部分的高等院校开始实行学生自主选课模式,传统的教学模式已经不能适应新的教学模式,如果还只是通过纸上的方式选课,一方面浪费大量的人力、物力,另一方面浪费时间以及在统计过程中不可避免的会出现差错。随着高校的人数增加,暴露出来的弊端会越来越多。 因此,利用网络,使学生只要在计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教室的角度来讲,同样可以节约大量的时间和减少工作量以及减少错误的发生率。 1.2可行性分析 网上选课系统的可行性分析包括以后几个方面: 1.技术可行性 由于校园网络的普遍应用,使得网上选课非常的方便,无需再进行网络的建设。基于B/S模式的选课系统更加适合校园网,使得学生可以在任何有校园网的地方完成选课过程。 https://www.doczj.com/doc/c91104163.html,、C#语言在大二的时候学过了,而且数据库Access运 用的比较熟练,大部分做起来还算得心应手,部分不会的现在上网也比较方便,可以在网上进行查找。. 2.经济可行性

校园网应经普及,因此网络设备上不需要大的投入。加之,B/S 模式的系统只要求客户端具备浏览器的基本功能,就能实现网上选课。因此,从经济上来说,开发网上选课系统不需要很大的投入,硬件上只需要Web服务器和数据库服务器即可。 3.操作可行性 B/S模式的最大优势就是操作方便、如同浏览网页一样。 综上所述,网上选课系统在高校中是可行的。 二、系统的需求分析 2.1引言 2.1.1编写的目的 本文档是对该学生选课系统的一个整体把握,以便在下一步的开发设计中更好的控制开发。 本文档的预期读者是: 设计人员 开发人员 管理和测试人员 最终用户. 2.1.2背景 由于电脑时代的到来以及internet的迅速发展,电脑无处不在,当然各种工作效率也大幅提高,那么对于一个学校来说,开发一个好的学生选课系统势在必行。鉴此,特开发此学生选课系统,该系统实现了选课的网络化、信息化、现代化。

学生选课管理系统

学生选课管理系统 SANY GROUP system office room 【SANYUA16H-SANYHUASANYUA8Q8-

#include #include #include #include #include //定义学生对象类型 typedef struct node { char Sno[10]; //学号 char Sname[10]; //姓名 char Ssex[3]; //性别 char Sage[3]; //年龄 char Sdept[4]; //所在系 struct node *next; }Student; //定义课程对象类型 typedef struct node2 { char Cno[10]; //课程号 char Cname[10]; //课程名 char Cpno[5]; //先行课 char Ccredit[3]; //学分 struct node2 *next; }Course; //定义选课对象类型 typedef struct node3 { char Sno[10]; char Cno[10]; int Grade; struct node3 *next; }SC; //初始化学生信息表

void InitlistA(Student *stu) { stu->next=NULL; } //初始化课程信息表 void InitlistB(Course *C) { C->next=NULL; } //初始化选课信息表 void InitlistC(SC *S) { S->next=NULL; } //求选课表的深度 int Getlength(SC *S) { int i=0; SC *p; p=S->next; while(p!=NULL) { p=p->next; i ; } return(i); } //用户输入数据建立学生信息表(尾插法) void CreatelistA(Student *stu) { Student *s,*r; int m,i;

项目关键节点计划

北京某企业项目关键节点计划 发展计划控制时间节点分析 1.项目可研报告,报集团批准 2.确定项目启动 3.完成项目团队组建 4.取得土地证 5.净地交付 6.提供用地红线和规划要点 7.完成《某某经营部产品定位报告》,报集团批准 8.完成《某某概念规划设计任务书》 9.完成规划及概念设计,报集团批准 10.《项目投资分析模型(概念版)》——组织概念目标成本测算确认目标成 本及财务指标(一级目标成本),完成项目经营测算 11.完成建筑方案设计 12.示范区域确定及方案设计确认 13.完成外网配套征询 14.方案设计汇报,报集团批准 15.《项目投资分析模型(方案版)》——组织方案图目标成本测算确认目标 成本及财务指标(二级目标成本),完成项目经营测算 16.取得建设用地规划许可证 17.完成基坑施工图 18.完成桩基及基础施工图 19.完成样板区施工图、景观、精装修设计 20.完成常规建筑结构水电施工图设计 21.完成景观施工图 22.完成综合管网图设计 23.取得施工图审 24.取得工程规划许可证 25.完成三通一平 26.完成工程策划 27.完成合约规划 28.《项目投资分析模型(目标版)》——组织施工图目标成本测算确认目标 成本及财务指标(三级目标成本),完成项目经营测算 29.签订总包施工合同 30.取得施工许可证 31.样板区开工 32.取得项目开发贷款 33.基础(土方)工程开工 34.±0米以下结构工程开工、独立地下结构(地库)完工(基础) 35.完成裙房或转换层结构施工 36.首批主体施工达到预售条件 37.首批主体结构封顶 38.全部主体结构封顶

39.首批门窗、栏杆、幕墙等材料进场 40.样板区工程完工、开放 41.各标段取得预售许可证 42.产品定价表,报集团批准 43.销售开盘 44.销售完成30% 45.销售完成50% 46.现金流回正时间 47.销售完成75% 48.销售完成95% 49.第一批外立面落架亮相 50.最后一批外立面落架完成 51.全部单体达竣工条件 52.市政配套埋管完工 53.室外景观、绿化完工(完成项目施工) 54.专项验收结束,取得《竣工备案证明》 55.开始办理集中交房(入伙) 56.办理房产初始登记 57.工程全部结算完成 58.完成收尾及项目财务核算 59.项目后评估

简单学生信息管理系统

简单学生信息管理系统-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: 姓名: 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用 来存放对应的成绩,在构造方法中进行姓名、学号、课 程成绩的赋值。Override有Object继承来的tostring方法 已便友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方 法,在main中写一段测试代码,运行以保证目前所做工 作的正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制 到新数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误 信息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的 情况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如 下: 1显示所有学生信息 2按学号查找 3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7):

学生选课管理系统需求规格说明书

学生选课系统需求规格说明书

目录 0. 文档介绍 (4) 0.1文档目的 (4) 0.2文档范围 (4) 0.3读者对象 (4) 0.4参考文档 (4) 1.产品介绍 (5) 2.产品面向的用户群体 (6) 3. 产品应当遵循的标准或规范 (7) 4.产品范围 (7) 5. 产品中的角色 (7) 6. 产品的功能性需求 (8) 6.0功能性需求分类 (8) 6.1后台管理功能需求 (8) 6.1.1管理员信息管理 (8) 6.1.2教师信息管理 (10) 6.1.3学生信息管理 (11) 6.1.4课程信息管理 (12) 6.1.5排课管理 (13) 6.1.6教室信息管理 (14) 6.2前台管理功能需求 (15) 6.2.1学生选课 (15) 6.2.2撰写教师反馈 (16) 6.2.3个人信息管理 (17) 6.2.4用户登录 (19) 7. 产品的非功能性需求 (20) 7.1用户界面需求 (20) 7.2软硬件环境需求 (20) 7.3产品质量需求 (20) 7.4其他需求 (21) 附录A:需求建模与分析报告 (22) A.1学生选课系统业务流程图 (22) A.1.1系统总体业务流程分析 (22) A.1.2学生管理业务流程图分析 (23)

A.1.3教师管理业务流程图分析 (24) A.1.4选课/退课子系统业务流程图分析 (25) A.1.5教师反馈子系统业务流程图分析 (26) A.1.6管理员管理业务流程图分析 (26) A.1.7管理员排课业务流程图: (27) A.1.8管理员退课业务流程图: (28) A.2学生选课管理系统数据流程图 (29) A.2.1顶层数据流程图 (30) A.2.2 O层数据流程图 (30) A.2.3后台管理数据流程图 (31) A2.4 前台管理数据流程图 (36) 附录B:需求确认....................................................................................... 错误!未定义书签。

简单学生信息管理系统

. ——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用来 存放对应的成绩,在构造方法中进行姓名、学号、课程成 绩的赋值。Override有Object继承来的tostring方法已便 友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误信 息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的情 况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7): 程序代码

学生选课管理系统(数据库课程设计)

数据库系统原理及其应用教程 课程设计报告 设计题目选修课程管理系统的设计与实现 指导教师

摘要 随着计算机技术的日新月异,极大的推动的各个行业的信息化进程。各大高校也急需进行信息化改革,以促进教学质量和工作效率快速提升。 本文是在对各大高校全校公开课学生选课情况进行实地调查后,进行详细分析讨论后撰写的学生选课管理系统数据库设计报告。全文从最初的系统规划,到需求分析、概念设计、逻辑设计、物理设计。每一阶段都进行了详细的分析。接下来的实现、运行与维护阶段,还

进行了对本系统的测试,最后是本次项目开发的心得和体会以及本文的参考文献。 本系统主要功能是对学生选课及相关信息进行管理。较行业同类产品而言,本系统人机界面设计更加合理、人性化,用户操作简单方便。数据库的安全性更高,对用户访问权限进行了严格控制。数据存取速度更快,使用年限更长。可以很好的满足高校公开课学生选课的要求,极大的提高了学校的工作效率。 关键字:学生选课管理系统;分析;设计 目录 一、概述 (4) 1.1 设计背景 (34) 1.2 设计目的 (36) 1.3 设计内容 (39) 二、需求分析 (19) 2.1 功能分析 (7) 2.2 工作流图 (6) 2.3 数据流图 (7)

2.4 数据字典 (16) 三、概念模型设计 (18) 3.1 实体之间的联系 (18) 3.2 E-R图 (19) 四、逻辑设计 (26) 4.1 概念模型向关系模型的转换 (26) 4.2 概念模型的优化 (27) 五、源代码及查询截图 (29) 5.1 数据库的存储结构 (29) 5.2 实现 (32) 5.3 人机界面设计 (34) 5.4 系统测试 (36) 5.5 运行维护 (39) 六、总结 (40) 参考文献 (41) 一、概述 1.1设计背景 可行性研究的目的是用最小的代价在尽可能的短的时间内确定数据库系统是否可能开发、是否值得开发、是否可以开发(在该报告中主要是考查《学生选课管理系统》是否可能开发、是否值得开发、是否可以开发)。其实质是在较高层次上以较抽象方式进行的、简化的压缩的需求分析和概要设计过程。

简单的学生信息管理系统C语言

#include #include //输入函数getch的头文件,不能用getchar,具体请查看两者的区别 #include //申请空间的函数malloc的头文件 typedef struct { //定义结构体类型,包含四项内容,可以自由添加 int num; char name[10]; int age; char sex[5]; }st; typedef struct node //构造结点(也是结构体变量) { st data; //数据域 struct node *next; //指针域(指向结构体,也就是自身) }list; list *create() //建立一个单链表 { list *p,*r,*head; //定义结构体指针变量 int i,n; head = (list *)malloc(sizeof(list)); //申请头结点 r = head; head->next = NULL; //头结点的指针域先定义为空 printf("请输入学生人数:\n"); scanf("%d",&n); printf("请输入学生个人信息:\n\n学号,姓名,年龄,性别\n"); for(i=1;i<=n;i++) { p = (list *)malloc(sizeof(list)); //申请一个结点 scanf("%d%s%d%s",&p->data.num,&p->https://www.doczj.com/doc/c91104163.html,,&p->data.age,&p->data.sex); //向结点的数据域输入学生信息 p->next = NULL; r->next = p; //将头结点指向第一个结点,以此类推。 r = r->next; } return (head); //返回头结点的地址 } void output(list *h) // 输出链表中的学生信息 { list *p; p = h->next; //使p指向第一个结点 if(p == NULL)

网上选课系统可行性分析报告

网上选课系统可行性分析报告 1、引言 1.1 编写目的 开发网上选课管理系统是为了实现学校人力资源的优化和学生成绩管理的科学管理而设计的,更方便老师对学生的了解和学生对课程的安排,更有利于教课的进行。方便学生、管理者、老师获取学生信息。对学生信息将进行安全检测,包括真实性。通过试用本系统,可以更加有效的管理学生的学籍管理,成绩信息等,并且具有对信息的增加,查询,修改等功能。 1.2 项目背景 待开发项目名称:学生网上选课管理系统; 委托单位:黔南民族师范学院 开发单位:黔南民族师范学院的学生 主管部门:黔南民族师范学院的老师 用户:黔南民族师范学院 产品的所有权:黔南民族师范学院 项目开发者:马红霞、涂贵欢、毛必琴 项目背景: “学生选课系统”是指在网络上提供选修课服务,使学生能够在规定的时间内在网上选课或退课而系统马上能够返回该学生是否成功的信息,能查询课程信息、教师个人信息以及该程成绩。教师可提供说开课程的基本信息,同时还可以通过本系统查询选修课学生信息。教务管理员负责何时开放和关闭选课、发布信息、选课用户的管理和选课情况的监控等,并可以为教务管理员提供方便的管理功能:添加、删除、修改课程信息和学生记录等。随时完成统计工作,避免某门课的报名人数超出它的最大容量,而如果报名人数不足又有部分学生没选上课,将课程的选修过程设置为两次。本系统是选修课实现系统的自动化从而提高教务工作的效率。较为全

面的涵盖了学生从入学到毕业的全部信息,牵涉部门广各系部、学生办、财务部处等。 1.3 参考资料 [1] 吕云鹏王昕鹏邱玉龙编著.软件工程—理论与实践. 人民邮电出版社. [2]白度文库.wenku.baidu./view/fc6709115f0e7cd184253679.html [3]曾建潮.软件工程.武汉理工大学出版社. 2、可行性研究的前提 2.1 基本要求 主要功能:教师对学生资料、成绩以及所选课程进行修改管理;学生可通过查询自身成绩,自主选择相关课程,管理员(教务处)统管所有学生、教师的相关信息。 性能要求:所有数据实时更新保持同步,且定时备份。 输出要求:简单、快捷、实时。 输入要求:及时的修改和更新学生、教师和课程的信息。 安全与保密要求:系统本身配备一定的安全机制,保证各项数据的完整、正确。 每类用户进入系统时,均需输入唯一的用户名和密码;教师有权对学生所选课程成绩进行录入、查询和修改;学生有权对选修课程进行修改;管理员有权对学生信息、所选课程、科目成绩进行管理、修改。 完成期限:3个月 2.2 开发目标 (1)开发此学生选课管理系统软件,使教学人员及操作者进行选课管理,方便操作者随时添加、查询、修改,使工作人员从繁琐的填表,查表工作中解放出来,使得人力和设备减少; (2)使供需双方都获得满意的结果; (3)促进报表、统计数字的规范化;

学生选课管理系统(详细设计说明书)

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2程序系统的结构 (3) 3程序1(标识符)设计说明 (7) 3.1程序描述 (7) 3.2功能 (8) 3.3性能 (8) 3.4输人项 (8) 3.5输出项 (9) 3.6算法 (9) 3.7流程逻辑 (9) 3.8接口 (10) 3.9存储分配 (11) 3.10注释设计 (11) 3.11限制条件 (11) 3.12测试计划 (11) 3.13尚未解决的问题 (11) 4程序2(标识符)设计说明....................................................................... 错误!未定义书签。

详细设计说明书 1引言 1.1编写目的 该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架构,主要包括系统的模块划分、程序系统的结构、各个模块的流程以及各层次中每个程序的设计考虑。 1.2背景 软件系统名称:学生选课系统 软件实现计算机:方正科技 与其他系统和机构的相互管理:暂无。 1.3定义 图1 程序数据字典定义 1.4参考资料 1.《软件工程导论》(张海藩编著清华大学出版社2007年5月) 2.《数据库系统概论(第四版)》(王珊编著高等教育出版社2007年11月)

3.《Visualbasic程序设计》(吴定雪主编科学出版社) 2程序系统的结构 2.1 、管理员模块程序设计说明 ①人员管理:管理员在登录之后可以对系统内的人员(包括学生、教师等)进行管理, 包括对人员的信息进行查询、修改和删除等操作。 ②课程管理:管理员在后台添加、编辑课程的基本信息(包括授课教师、开课时间设定), 同时可以编辑系统开放选课的时间,在适当时间开启和关闭选课系统。 ③系统信息管理:管理员可对系统的基本信息进行编辑,对系统公告进行更改或者系统 标题、系统相关链接等。 ④系统权限管理:对不同的用户要分配不同的权限,管理员可设定不同人员对不同模块 的访问权限,允许或者拒绝不同用户对模块的增删查改操作。 图2.1管理员模块图 2.2、教师模块程序设计说明 (1)基本信息管理:此模块主要实现两个分支功能: ①个人信息修改和密码修改。在教师用户登录状态下,实现这些功能,通过对自己 的注册信息的修改满足用户的个性需求,能将注册信息及时反映个人状态,另外,密码修改则是很多网站都应具备的基本功能,能有效保护用户身份和网络安全。 ②其它基功能如学生查询,教师查询和留言查询,这三个功能都是在教师在线状态

学生选课系统需求规格说明书

学生选课系统需求规格说明书 学生选课系统需求规格说明书 姓名:潘园园 学号:1108210127 班级:11信管1班 1.文档介绍 (2) 1.1文档目的 (2) 1.2 文档的范围 (2) 1.3 读者对象 (2) 1.4 缩写说明 (2) 1.5 参考资料 (2) 2. 任务概述 (3) 2.1 项目的来源及背景 (3) 2.2 项目要达成的目标 (3) 2.3 系统总体业务流程分析 (3) 2.4 学生选课系统业务流程图 (4) 2.5 学生选课数据流程图 (5) 2.6 产品面向的用户群体 (6) 2.7 产品中的角色 (6) 2.8 产品范围 (6) 3. 功能需求 (7) 3.1 功能需求的分类 (7) 3.2 后台功能需求 (7)

3.2.1管理员信息管理 (7) 3.2.2 学生信息管理 (7) 3.2.3 教师信息管理 (7) 3.2.4 课程信息管理 (7) 3.2.5 教室信息管理 (7) 3.3 前台管理功能需求 (7) 3.3.1 登陆系统 (7) 3.3.2 个人信息资源管理 (8) 3.3.3 学生选课 (8) 3.3.4 教师反馈 (8) 3.3.5 退出系统 (8) 3.4 非功能性需求 (8) 3.4.1 用户界面需求 (8) 3.4.2 软件安全需求 (8) 3.4.3 产品质量需求 (8) 3.4.4 软件运行环境需求 (8) 3.4.5 其他需求 (8) 4.产品提交 (9) 1.文档介绍 1.1文档目的 本文档目的是在开发一个全面的用户需求系统,从多方面分析用户的需求以及尽量的满足。而此文档是关于学生选课的一个系统,我们知道,学生选课系统是专门为各个高校提供服务的一个平台,广泛的被各高校的学生和老师所用。

学生选课管理系统

软件项目管理 学生选课管理系统 项目名称: 组长 组员 提交时间: 2015年6月15日

学生选课管理系统 项目任务书 一、目的、要求 通过软件开发的实践训练,进一步掌握软件项目管理的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。 具体如下: 1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象 的系统分析与设计,软件项目管理,编码和测试方面的知识; 2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件 开发的全过程; 3.进一步加强和提高软件工程文档的编写能力; 4.培养协作能力和团队精神。 二、主要内容 1.课题题目:学生选课系统,本系统要实现学生选课的基本功能,包括学生退选课,查看自己的选课信息;教师查看选课学生的信息,提交成绩; 管理员添加学生、管理学生、管理成绩、添加教师、管理教师和管理课 程等。 2.运用面向对象技术、UML及可视化的建模工具完成系统的需求分析与设计。 3.使用Rational Rose作为需求分析与设计的建模工具,包括静态建模和

动态建模,并利用对象模型自动生成数据模型,自动建立数据库。 4.采用分层模式的应用设计模式进行系统的设计实现。 5.系统要实现四个模块功能:教师模块、学生模块、管理员模块和公用模块。 6.初步建立系统原型,实现关键的功能,并对系统进行测试。 三、任务分配

学生选课管理系统 任务分解书(WBS)一.学生选课管理系统任务分解 1.1.1 项目规划 1.1.2 计划评审 1.2 需求开发 1.2.1 用户界面设计 1.2.2 用户需求评审 1.2.3 修改需求、修改用户界面 1.2.4 需求规格说明书 1.2.5 编写需求获取方法 1.2.6 编写需求跟踪矩阵 1.3 设计 1.3.1 概要设计 1.3.2 详细设计

一个简单数据管理软件的设计-软件综合设计-学生信息管理系统

《软件综合设计》课程实验报告

4、实验内容 1、实验步骤及流程: 1)新建工程:新建一个单文件类型的MCF工程,在Resource之中新建并利用控件设计对话框。 2)增加控件:一个控件是能够放置在一个对话框中,提供应用程序与用户交互的某种功能。本次 实验需要添加编辑框、下拉列表控件、列表框(ListBox)控件以及按钮键。 3)设置对话框及控件等的属性:一个控件相关的属性设置决定了一个控件可操作行为和显示。修 改控件ID以及名称,对话框名称等。 4)组织和安排各部件的位置大小等:软件为我们提供了各种调整方式,如:左对齐、右对齐、宽 相等、水平居中等等。 5)设置控件的顺序:执行菜单命令Layout->Tab Order可以显示并修改Tab Order,按所想要的 访问顺序依次点击每一个控件,完成后,点击空白处就可以了。 6)为对话框成员添加变量:打开ClassWizard窗口,选择Member Variables标签页,Class name下拉列表中选择CScoreDlg类。则对话框中可以创建成员变量的控件ID出现在下方的 Control IDs列表中。单击Add Variable按钮,则弹出Add Member Variable对话框,设置 变量名即可。 7)对话框类的构造函数:双击各个控件并确定就会弹出编程界面,为各个控件添加函数程序,实 现它们所对应的功能。 8)运行程序,调试程序。 2、源程序代码: 见后:实验结果及分析

3、调试过程记录: 在调试程序的时候,我们必须使程序在某一地点停下来。即是设立断点,其次再运行程序;当程序在设立断点处停下来时,利用各种工具观察程序的状态。程序在断点停下来后,有时我们需要按我们的要求控制程序的运行,以进一步观测程序的流向,从而调试程序。 逐步完善对话框的内容,加入控件,编写程序:

UML学生选课系统

UML统模语言 实验报告 实验名称:学生选课系统UML部署系(院):计算机科学学院 专业班级:软工11402 姓名:靳生栋 学号:201404621 指导教师:应霞

实验时间:2017.10.15—2017.10.21 实验地点:12教一楼B区机房 一.需求分析 网上选课系统是一个高等院校用来进行对学生选修课程管理的管理信息系统(MIS)。该信息系统能够为学生提供方便的选课功能,也能够提高高等院校对学生和教学管理的效率。网上选课系统的功能性需求包括以下容: (1)系统管理员负责系统的管理维护工作,维护工作包括课程的添加、删除和修改,对学生基本信息的添加、修改、查询和删除。 (2)学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行查询已选课程、指定自己的选修课程以及对自己基本信息的查询。 满足上述需求的系统主要包括以下几个小的系统模块: (1)基本业务处理模块。基本业务处理模块主要用于实现学生通过合法认证登录到该系统中进行网上课程的选择和确定。 (2)信息查询模块。信息查询模块主要用于实现学生对选课信息的查询和自身信息的查询。 (3)系统维护模块。系统维护模块主要用于实现系统管理员对系统的管理和对数据库的维护,系统的管理包括学生信息、课程信息等信息的维护。数据库的维护包括数据库的备份、恢复等数据库管理操作。 二.创建系统用例模型 1.学生用例能够通过该系统进行如下活动: (1)查询选课信息。学生可以在查询界面了解可供自己选择的各门课程的详细信息。 (2)登录选课系统。学生能够根据自己的学号和密码登录选课系统,如果身份验证失败,不得进行下一步操作。如果通过身份验证才能进入下一个操作界面。

一级节点标准

生产计划一级节点标准 为进一步加强对计划落实工作的考核力度,保证生产经营工作按公司计划得到有效落实,从而促进公司快速、健康发展,特对房地产开发流程中重要工程建设节点的完成标准强调说明如下: 一、总规报批:指“拟开工项目总规手续完备,项目后续工作能够紧前进行。 (一)项目总规报批需完善的手续: 1、土地出让合同签订完成,经过确权,办理完成国有土地使用权证; 2、拟开项目市场定位报告完成公司审批; 3、项目预算通过公司审批完成; 4、规划方案通过公司及政府的批复,完成政府图审盖章,具备施工图设计的条件; 5、完成建设用地规划许可证的办理。 二、施工图纸:指“项目单体各专业施工图纸(建筑、结构、水暖、电等)设计完成,并通过分公司的内部审核及政府的图审后,施工图纸到达总部预结算部”。 该节点包含内容有: (一)项目所在地块完成地勘并出具正式地勘报告。 (二)项目各专业图纸符合施工图设计深度及标准(根据开发进度及批次划分,外线、园林图纸可适当后延,在主体封顶前完成即可); (三)项目各专业图纸经分公司内审,并根据内审意见调整完成。 (四)项目各专业图纸完成图纸外审,并根据审核意见调整完成,取得图审合格证。 (五)完整的施工图纸到达总部预结算部,并具备施工图预算的条件。 三、预算:指“项目各专业预算工作完成,预算成果满足招标采购需求”。 该节点包含内容有: (一)根据项目标段及各专业界面划分完成预算委托并签订委托合同。

(二)根据预算委托完成项目预算,成果经公司预决算部审核并经采购部确认,满足项目招标采购需求。 四、单规:指“完成批次开发内各单体建设工程规划许可证的办理”。 该节点包含内容有: (一)根据当地政府主管部门要求,完成相应报批文件资料及费用的缴纳。 (二)单规报批完成,并取得建设工程规划许可证。 五、招标:指“在总部职能部门的监督下,在经分公司考察合格的总包供应商选择范围内,完成对拟开批次的总包供应商的选择,完成公司定标报告的审批”。 所有投标单位必须经过以分公司生产副总为第一责任人的招标小组的考察,完成相应的招标文件、定标报告。 六、项目开工:指“开工手续完备,或拟开工项目现场有实际开工动作能够保证连续生产这一系列事件的总和”。 (一)项目开工前应完备以下开工手续: 1、国有土地使用权证; 2、建设用地规划许可证; 3、建设工程规划许可证; 4、建筑工程施工许可证; (二)项目现场实际开工动作为下列情况之一: 1、破土开槽; 2、桩基施工; 3、褥垫层施工; (三)项目能够保证连续生产的条件有: 1、总包合同签订,施工单位现场管理人员已到位,主要机械、机具、施工人员已进场; 2、监理机构已进驻现场; 3、由建设单位、监理单位、施工单位和设计单位参加的图纸会审已经完成;

C++简单学生成绩管理系统

C++学生成绩管理系统 要求用C++语言编写学生成绩管理系统,要求能进行添加删除修改输入输出等的操作,并能使用面相对像原理对此系统进行实现。 学生成绩管理系统分析: 学生成绩管理系统分为8个模块,分别是:添加学生信息,输出学生成绩,查找学生成绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩的模块。 学生成绩管理系统结构:

各个子函数功能及其流程: 1.首先定义一个学生类Class Student;并定义其各个私有变量和公有函数 2.Student();构造函数,用于初始化学生类中的各个变量并记录 3.Add();函数:用于添加学生信息的函数包括学号姓名成绩等的内容 4.Output();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩

5.Find();函数:用于查找学生各项信息。 6.modify();函数:用于修改学生各项信息。 7.delete();函数:用于删除学生信息。

();函数:对学生各项信息进行排序操作。 8.save()和load();函数:将学生信息保存到文件中,并在需要的时候调用该文件将 其中的学生信息显示出来

9.“=”“<<”“>>”符号的重载:在各个函数处理数据过程中对这些的调用处理 函数源代码: 此函数源代码在VisualC++环境下编译通过。具体如下: #include"" #include"" #include"" #include"" #include"" #include"" #include"" class student ame,n1)==0) { temp=stu[j]; f3=1; } } if(f3==0) cout<<"对不起,没有你要查找的学生成绩"<

相关主题
文本预览
相关文档 最新文档