软件开发流程(软件工程)
1、需求分析阶段
要准确获取用户的想法,即搞清楚要做一个“什么样”的系统。
难:隔行如隔山,技术和业务往往分属两个专业领域;
可以结合用例图以问答的形式来引导用户,首先明确有哪些角色,以及每个角色可以做什么,这样系统的轮廓就大致出来了。接下来对每个用例进行细化,比如“车辆注册”这个用例,需要车辆哪些信息甚至对每一项信息它可能的取值都要明确。
需求分析阶段的成果包括:《软件需求规格说明书》、原型(美工人员制作的效果图、开发人员用专业工具制作的可交互的原型)
2、系统设计阶段
2.1 数据库设计
数据库设计(ER图,注意R指的是数据上的关联,而不是功能上的关联)
原型–>实体–>ER图–>数据库逻辑设计–>数据库物理设计(表、外键、视图、事件、函数、触发器等等)
2.2 接口设计
接口设计、设计前后端(或者是模块件)的交互协议,包括名称、参数和结果
参数的结果的设计一定要明确、无歧义。
函数:函数名、参数、结果
整个系统只设计一个servlet,即url地址只有一个,通过参数分区划分
序列图(在整理思路的过程中把类所应具有的方法整理出来,即在整理思路的过程中完成类图的设计)
3、编码实现阶段
选择合适的语言进行软件开发,编码要符合规范(可以参考阿里的《Java开发手册》),尽量做到高内聚低耦合。
4、测试阶段
1983年,IEEE定义软件测试是使用人工或自动的手段对系统运行或测试的过程,其目的在于检验它是否满足规定的需求,或弄清预期结果与实际结果之间的差别。
5、项目部署,维护阶段
本文来自博客园,作者:Patrick-Rex,转载请注明原文链接:https://www.cnblogs.com/patrickrex/p/18028823
分类:
java
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升