现在有个项目需要开发一个软件,但是我之前没有开发软件的经验(并非计算机相关专业),需要使用的语言c#我已经大致学习完了,接下来不知道该干嘛了,师兄一直催我写个软件的架构,我也不会写,求求各位大神指点迷津!!!!
软件工程导论学过吗,做可行性研究啊、需求分析啊、形式化说明技术啊、总体设计啊、详细设计啊、实现啊等等的东西,这不是一个纯小白没人带着就能自己开发出来的软件,你先从需求分析入手进行一下总体设计吧,或者简单了解一下《软件工程》这门课的东西。代码实现是在有需求、有总体设计的基础上进行的。
其实作为一个小白,最好的办法是跟自己的师兄、导师多真诚的沟通,将自己现在真实的情况、掌握了哪些知识,想要知道的哪些东西如实相告,让导师点拨你一下,不用不好意思跟导师、跟师兄说明自己的不足,反而导师师兄看你也不问问题、也做不出来东西,他们更着急,不知道你卡在什么地方了。
总的来说还是多问、多沟通,导师和师兄是你的领路人,跟好他们。
请读 《构建之法》, 或者看这些文档: https://www.cnblogs.com/xinz/archive/2011/11/27/2265425.html 第 6 7 8 章
选择数据库,先做个简单的注册登陆,由简入深。
给你些建议吧:
1.做个可行性研究,针对你要做的这个软件先进行一个整体了解及分析;
2.需求分析,跟你的师兄聊一聊,了解一下这个软件开发的背景及意义,做需求分析的过程中多和有经验的人沟通,避免走一些弯路;
3.软件系统的概要设计、功能模块设计、详细设计;
4.底层数据结构设计;
5.RP交互式原型设计(不知道你们有没有软件原型效果,如果没有的话,需要做一份,有的话不必);
上面的建议是你接下来可以进行的一些工作,但是一定要跟师兄和小组成员及时保持沟通,将自己的自身情况、面临的问题、自己目前的踌躇以及对这个软件的认知等等这些情况及时的和师兄等成员沟通,软件开发的过程中难免会遇到一些问题,当遇到一些你目前无法跨过的问题时,不要沉默不语,要及时的将问题抛出来,小组沟通共同想办法,如果你解决不了问题,还没有抛出来,那么其他人也不知道你卡在什么地方,由于什么原因影响进度,只有多问、多沟通才能及时解决问题。
希望能对你有帮助,祝你开发顺利!
1.首先你要了解你老师的项目是否需要一些开发文档
2.你们这个项目程序开发部分的目的,并判断自己所学的知识是否能够完成,不能完成就查漏补缺,并在各大论坛上寻找一些类似的开源项目学习。
3.根据你的描述,你应该是很白的小白,并且项目迫在眉睫,所以和你的程序无关的知识点可以先不去了解,主要了解怎么能够写出来你需要的程序
4.当然需求分析这些前期工作还是很需要的,起码你们要头脑风暴、集思广益将你们的程序先形成文档,理清楚各模块的关系,分模块开发。
5.程序开发确实不是一两天就能学会的,好在你学习了一些编程语言基础,应该有机会,先从能够完成的功能开始形成程序的各个模块,不会的百度,编程一大部分时间确实就是在百度
你可以说说具体需求,大家给你分析分析
需求的话这是一个实现快速建模的软件,就是将一个具体的机器模块化,模块参数化,形成一个模块库,用户想要建模的时候修改参数进行组合形成一个整体模型。
具体给的文档有四个功能需求:
1用户管理。就是登录、权限设置等
2模块查询。可以查看不同模块的信息进行选择和编辑
3模块管理。就是模块的增,修,删等操作
4编码管理。主要是接口信息设置和编码规则设置
要求使用C#编写
确定需求,根据需求寻找网上相似的开发资源,照葫芦画瓢从简单基础框架搭起来,然后再不断改进
我觉得首先第一步用户登录界面、权限管理这部分,你可以开始动手做起来,上网找类似的教程,很多都涉及到登录界面、用户权限的,csdn、bilibili都有。后面专业部分你需要请教你师兄,让他给具体的方法
架构?初学的谈架构?不可能的。应该是管你要软件的层级关系吧,dal-bal-ui,省事点就自己去找个mvc的开源项目看看
首先应该先尽可能了解项目的背景,目的,最终需求
然后从以下几个方面进行的整理:
1、项目背景
2、开发系统
3、项目的工作结构
4、分模块进行解析
5、模块单元测试
6、模块连接和整合
7、系统测试
总之就你目前的情况来说不需要太过专业的架构设计,关键是对项目的理解和拆分,和对项目进度的规划,基本通过进行以上几个部分的分析就可以实现当下的目的了。
1、常规做法:
可行性分析,项目开发计划,概要设计,详细设计,...,部署,交付,运维等等。
整个开发流程比较规范,也比较复杂,属于商业开发流程。
2、那么简单的做法:
首先,弄清需求:先要问师兄他想要什么,要的东西大概长什么样儿(写个软件的架构 这种要求太宽泛了,无从下手)
其次,确认需求:弄清楚需求后去确认(可以做个原型、demo、word/ppt展示等方式,实在不行现场A4画出来沟通,目的是要清楚他要的是不是这个样子);
再次,弄清并确定需求后,给出开发时间,也就是用多久,然后编码,直接干就行了,到期演示给师兄看,不满意的地方再做微调即可
以上为了好理解讲的比较通俗,不像商业开发流程那么严谨,个人见解,希望能帮到你