瘟疫 战争 互联网失业潮

今年已经过半,新冠以来第三个年头了,2020年被称为新冠元年,从没有想过世界会变成人人带着口罩的样子,由于抗疫政策的时常变更,现在去什么地方也不是那么随意了,这个世界终究回不到以前,病毒离我们如此之近。小孩的记忆里永远有这么几句话:请出示健康码!请出示行程卡!

俄乌战争从来没有获得过如此多的关注,一个国家全面入侵另一个国家,大量平民伤亡,感觉战争也是如此之近,由于现代媒体发达,信息传播之快,传播粒度之细,我们每个人都不可能置身其外,装作不关注的也是掩耳盗铃。战争下,一个个鲜活的人,命运的不确定性,让我们也体会到个体生命的脆弱,又增加了一种危机感,因为战争这种在特定因素下还是可能爆发的。

虽然自己不在互联网前线,但是现在的互联网企业和当初的繁荣景象已经不可同日而语,近期又爆出阿里裁员20%,多少人又开始断供了。各种原因让以前所谓的大厂神话也没有那么神了,当然,能在里面的仍然打败全国80%的用户,所以,就业才是关键。大厂出来的能干的五花八门,做课程,搞培训,小规模创业,小企业就业,转行当司机等等,甚至躺平的也不少。挣钱才是目前安全系数比较高的。

自己职业生涯估计也是最后一次调整,未来怎么样自己也不能确定,全力以赴吧!

2022/5/21

程序员变现的几条思路

程序员最大优势就是代码,以及最新技术的敏感度。有人提了几点,我觉得非常有道理,摘录如下。

  • 低端劳动自动化
    抖音视频制作,正常流程是准备视频素材,音频素材,准备文本,然后合成剪辑发布,这种方式我们可以通过MoviePy 实现批量视频编辑,结合 MoviePy 的跨平台特性,可以实现在服务端视频采集,自动处理,发布的流水线作业。你人工肯定比不过程序的自动化。
    有人已经利用自动化实现了youtube的视频自动生成和自动上传,通过阅读量实现了睡后收入的躺赚系统。
    再不行你用代码去抢茅台是不是也是一种方式。

  • IP卖课程
    内容创造者,需要有多年的编程经验,这块有个门槛,程序员可以总结多年的实战经验形成自己的课程体系,售卖课程也需要根据实际受众进行区分,比如:初级课程,实战型课程,还有就是成体系面向就业的课程。不同课程类型面向的受众不同,回报率和服务内容也不同,做课程不仅仅是讲课,实际上重要的是做服务,是课下的各种服务,也是课程续费的主要原因。一旦IP打造完毕,课程的持续付费率也是非常可观的。当然这块要求还是比较高的,慢慢来不能急,形成自己特色。

  • 工具软件
    工具类型软件,主要考察的你的需求洞察能力,这方面可以通过搜索引擎,各种指数平台等分析,具体工具如何使用后期可以单独讲讲。需求是实时存在的,看你能发把握,比如最著名的剪影,电商平台的各种工具,浏览器插件,国内外电商平台的辅助工具,shopify,淘宝客等等,不缺需求,缺少发现需求的眼镜。不能小看这些工具类型软件,量大了后一样的很可观。

  • 关注最新API
    经常关注大厂的最新API,从API反推业务场景,就可以找到产品的切入点。比如各大平台厂商的图片识别技术,修复技术,AI变脸等等。经常关注一下会有意外的收获。有了思路就可以实现通用性产品,比如做个saas产品。

2022/5/4

20万用户的图片服务

Clipping Magic是一个通过算法将图片背景删除的在线服务,九年前上线后,由于不断的出现错误,甚至一度要被作者关闭。但是后来随着一篇帖子的走红,这个服务访问人数越来越多,已经处理超过1亿张图片,算法越来越精准,共服务超过20万互联网用户。

除了免费的背景删除服务之外,还提供了自动剪切AI,智能边缘,颜色,阴影,色偏清理等等几十种服务。Clipping Magic采取按月订阅制,三个不同的订阅模式,不同收费标准有不同的功能范围和处理照片数量限制。另外,还提供了免费的教程,适用于不同行业下的不同场景,可以免费学习很多照片处理技巧。
服务背后运营公司是一家叫做Cedar Lake Ventures, Inc的公司,其创始人是斯坦福的一个学生,当初也是为了完成学业开始研究这个领域,最终进行商业化运营。

我们查看了目前该服务的数据,虽然没有Pieter Levels的find remote jobs的100万月访问量大,但是月访问量也已经达到83万,按照Google Analysis的价格,平均每个访问贡献0.03美元,就是24900美元MRR。

技术总结:
从身边需求出发,找服务
冷启动靠的是爆红的帖子
流量主要来自于搜索引擎
专注一个点,做到极致
界面不要复杂简单实用即可

2022/5/4

建站培训网站如何月入1W美元

今天我们来聊一下副业的事情。

Shannon Mattern是一位俄亥俄州的普通女孩,工作是做财务报告。在日复一日的琐碎工作中,她厌倦了自己的低收入生活,于是她开启了副业的探索。

一、做什么副业才能赚钱呢?

1、网站建设外包:性价比低 Shannon的业余爱好是网页设计,她决定从这方面入手。前期,通过公司的供应商、朋友以及健身房认识的小伙伴,她很快就接到了几个帮忙建设网站的外包需求。
但她很快就发现投产比非常的低,一方面是因为她自己的报价偏低,另一方面是没有相应的模板和流程,每个订单都要投入大量的时间。为了完成这些订单,她不得不牺牲自己晚上甚至是周末休息时间。
完成几单后一算账,时薪甚至比她高中第一份工作的收入还少。精疲力尽又赚不到什么钱,Shannon一度想要放弃。
2、切换思维新业务:网站建设培训 努力的人运气都不会差。就在快要放弃时,Shannon听到了一个商业博客的分享,那个分享谈论的是一个如何利用虚拟主机赚钱的案例。在那个案例里,销售人员并不是直接卖虚拟主机,而是通过教授人们如何使用虚拟主机,然后顺带推荐虚拟主机赚取佣金。
受此启发,Shannon决定放弃自己此前的网站设计外包业务,改成教别人建设网站,然后通过分销各种建站相关产品或服务来赚取佣金。用现在的话说,她要从卖艺转型为带货了。
方向听起来挺靠谱,可是怎么样才能做出这个业务呢?

业务拆解1:教什么人?
将心比心,Shannon最初想要服务的是那些跟她一样想要拜托日常工作的女性。这样的人有什么特点呢?除了每天午休一小时以外,没有太多额外的时间来忙于学习这项术,并且没有其他人为他们提供技术服务和支持。

业务拆解2:做什么样的网站?
随着互联网的普及,网站的类型和功能也越来越多,但是肯定不是每一种都适合个人的。为了未来的商业化方便,Shannon选择的网站类型是这样一种类型:帮助网站建设者更好的开展其个人业务。也就是说,这个网站是个商用网站,那么很明显,为了赚钱,网站的建设者付费率也会高许多。所以不难发现,Shannon做的其实是2B业务。

业务拆解3:用什么教?
在中国,可能是一篇文章,一个网站,一个视频。而在Shannon这里,最终选择的是一个网站的形式,毕竟,你教别人做网站,如果自己都没有一个网站,那岂不是太没有说服力了。

业务拆解4:网站的特色在哪里?
实际上,教建站的网站很多,如何才能拥有自己的特色呢?她回顾了自己以前学习建站时遇到的各种问题和糟糕的体验,并以此作为改进的方向。具体来说包括这几个方面:
网站定位于对非技术人员友好的学习空间,可以一站式解决他们建站方面的技术问题。 使用大白话讲解,尽可能减少背后的原理介绍,毕竟他们的目的是来做一个可以帮助他们赚钱的网站,而不是成为一个web开发者。 尊重提问者,任何问题都欢迎提问,在她的网站里没有愚蠢的问题,你不用担心因为提问而被嘲笑。 当有人问一个问题时,回答他们要执行的确切步骤。
要成功经营一个网站,自然不仅仅是把网站建成这么简单的。如何推广,如何赚钱,这里也会分享作者的看法,尽量让用户在她这里解决建站前后的所有问题。 适当的包装下自己,把自己定位成一个网站设计专家。同时,在网站上留下邮件订阅入口,沉淀用户流量。

业务拆解5:具体的内容如何设计?
有了指导框架,接下来该填充内容了,Shannon最开始做了以下几件事情:
注册所有建站相关的产品和服务,体验其优劣,并找到其带有佣金的链接。 撰写建站相关的教程,花费数十小时不断打磨,比如去掉一些语气词让文章显得更加专业。 将教程视频化,做成若干个一小时内的视频,并整合成一个不超过五天的在线训练营。 视频下方,罗列视频中带有的各种产品和服务,当然,是带有分销链接的。 至此,她最初的网站就差不多了。

二、那么问题来了,网站的客户哪里来?

既然是做网站,那可以做谷歌SEO啊。可SEO哪里那么简单,Shannon深知自己的水平无法在段时间内突破,所以一开始根本没想过这个路子。

1、facebook引流 既然让客户主动找上门不容易,那就只有自己主动出击,寻找客户了。
她在谷歌上搜索:如何建设电子邮件通讯录,找到了一个免费的培训项目,并在其中找到了一些学员建设的facebook讨论小组加入进去。这些学员大都想通过网上渠道拓展业务,正好是她的目标用户。
于是她尝试在讨论组里发了一条带链接的文案:
“在5天午餐时间内建立你的网站(即使你不是技术人员)。立即注册免费5天网站挑战!”
大约一个小时后,Shannon收到了有人订阅的电子邮件通知。紧接着,又收到了网络托管服务器的佣金;然后又一个关联产品的佣金也来了。分享免费培训后仅两个小时,她就赚了145美元!
那一刻,Shannon不仅仅是开心。更重要的是,她意识到自己已经找到了副业赚钱的门路,她只需要不断打磨商业模型,就可以赚到更多,直到有一天她可以不再工作。

2、口碑传播 在网站上线之后的前六个月中,Shannon天天针对初创企业家在Facebook小组中发布她的培训和回答问题。那时候市面上的建站教程大都是说一半留一半,在关键的地方引导别人付费购买课程,因此当人们发现Shannon的课程全免费且都是干货的时候,培训的口碑一下子传开了,所以很快就拥有了一群初始的用户。

3、一些弯路 虽然收入启动很快且逐步增长,但想要代替她的日常收入还有一段距离,尤其是她17年在公司得到提拔收入有所上升的情况下,但那时候Shannon已经很想离职出来自己干了,于是开始尝试各种在网络上学习到的营销策略,这些策略都承诺会让她的流量在一夜之间爆炸。可实践下来她的电子邮件订阅列表几乎没有增长。
到了2018年,由于新的gdpr规定,Shannon对电子邮件订阅用户启动了类似续订的选择,结果有1600人选择续订,高达4000人不再续订。相当于一下子损失了70%的潜在用户,太可怕了。

4、客户营销 受此打击,Shannon将精力集中在服务这1600名用户身上,帮他们搭建更有效果的网站。她发现,当她不再追求华而不实的战术时,把时间都提高在用户价值上,她的用户又开始主动为她营销。最终,Shannon发现对她有用的不是社交媒体或SEO策略,而是她和她的受众建立起来的互惠关系上。
人们喜欢与他人共享的正是Shannon创造的高质量免费内容,这为她带来了大部分的访问量、订户以及客户。而这正是现在对她起作用的原因。关系、合作、为用户提供大量的价值,让他们要么成为我的客户,要么给我带来,我的下一个客户。

三、技术总结

初创之时,重在节流,降低风险,MVP思想是首选
从自己具备的技能或者领域找关键词,选方向
找到真实需求点,有数据支撑,利用好搜索引擎,学会数据分析
产品打磨好,在打磨好,核心功能必须打磨好
精准的客户,长期服务,做能够积累的事情,比如留下电子邮件
沉下来,专注一件事情做好

四、最后

在网站上线的最初6个月中,Shannon从0开始收获了650个订阅者,并把收入从\( 0做到了\) 5000,大概接近于每月$ 1000。
2015年年底,副业为Shannon带来了18500美元的收入,有1200名电子邮件订阅者。
2016年底,Shannon每月的副业收入已经达到5000美元。
2017年,Shannon针对日渐增加的网页设计需求,找到了一些设计师,分出一部分工作给他们,并为他们设计了一门网页设计师在线营销自己的付费课程,赚取了一部分收入。到这一年底,她的副业收入突破到了每月10000美元。
2018年1月2日,Shannon辞去了她的工作,专注于教企业家如何做好商业网站,并在网上全职推销自己,实现了自己自由职业的梦想。
2018年底,Shannon的业务给她创造了11.1万美金的收入,其中50%是一对一服务带来的,另外50%是各种被动的佣金收入。
2019年8月,Shannon专注于可扩展的收入来源。到这年底,Shannon的年收入继续增长到12.7万美元,而被动收入占到了70% 。

2022/5/3

Twitter的Spaces

twitter的spaces很奇特,大家共同聊天,一个主持人,默认规则就是不能随便打断别人,只要做到陈述自己观点即可,特别在有些spaces中,为了保持沟通的流畅性,不允许对于其他人发表自己的主观判断,这样很容易把spaces弄成骂街对战。

沟通聊天的最终目的是为了交流信息,前提是不能攻击别人,可以不赞同,但是不能使用过激的情绪化的语言。这种规则下,可以做到各种观点在spaces里面陈述,而对于观众来说,从各个维度来描述这个主题,从而多维度立体化的了解主题,非常有价值。

另外,经常会出现各种观点碰撞下,主题已经比较明确,或者存在的问题已经很明确,观众可以继续根据明确的暴露的问题继续寻找答案。而且如果你听多了类似的主题的spaces,基本上很多你关心的问题就会有答案了。

2022/4/28

我加入了生财有术

昨晚8点一到,毫不犹豫付款了。主要有几个点:

  1. 生财大量的实战案例,可以找到程序员方向的创业案例
  2. 大量案例和分享只是点,点只是信息,但是从这些点中把底层打法逻辑抽象,连接,就是知识,网状的
  3. 各种航海练习,可以少走不少弯路
  4. 结识不少有想法的人,也许后面可以组建团队也有可能;同频很重要
  5. 好的社区是会让人冷静,靠鸡血是走不远的,喜欢这个圈子的调调,冷静有逻辑的思考

推荐了一个朋友也加入,直接返现538。希望这一年能有所收获!

2022/4/19

说一下我的一个跑步项目

因为在帝都时待过一个公司,做跑步APP的,后来被乐视体育收购了,所以一直想自己做一个,然后机缘巧合下以公司名义做了一个,界面设计和功能一直不是我理想中要的样子,这次正好学习swiftUI,所以从设计开始从头来过。
初步设想的是主要两个功能上线即可,一个是基础的跑步记录功能,第二个是社区分享功能,已图片为主,分享运动相关图片和文字。UI这块基本上就是简洁在简洁,功能实用不花哨,无用功能一律去掉。目前国内用户只支持微信登录。

2022/4/12

加入了一个星球,第二天我又退费了

前天看到一个前领导开始创业了,然后朋友圈看到前同事们的公众号转发,恩,对,就是这种事情是没有办法避免的,总会触达到你的信息圈。因为这个前领导已经好久不在关注,包括朋友圈和公众号。一天之后我开始后悔了,我为什么要付费加入这个星球,所以我申请退费了。

为什么加入后我又后悔了?今天想了想,总结一下。

  1. 人很容易被一个点打动,你的情绪在某个点决定的事情不一定是合理的。看了前领导的这篇开始创业的文章,所以觉得应该支持一下,其实也没有错就是支持一下,这个是我付费加入星球的主要原因,这是在那一刻决定的事情,但是合理不合理,没有多考虑。
  2. 看了几篇文章后,突然发现相同的感觉又来了,当初为什么会取消朋友圈关注,为什么不在关注公众号,相同的感觉又回来了,因为时间久了,不再是共事时候的上下文了,每个人都有各自的境遇和生活经历,彼此圈子也不在有交集。
  3. 星球的定位也不适合我,对于一个想创业,或者寻找方向的人可能比较适用,我就算了,我理解的是付费用户应该可以从作者哪里获得想要的实质性的东西,也就是干货,而不仅仅是共鸣。
  4. 几百块我可以买件玩具给儿子,不是吗!
2022/4/9

用Python写一个Mac程序

大象放冰箱分三步,python写Mac程序分四步。

截屏2022-01-16 下午9.35.44

PyQT5介绍

QT是一个C++图像用户界面库,被芬兰的一家公司拥有,而PyQT5是QT的python版本,封装了大量的Python接口,超过6000个函数和方法,PyQT5可以运行在多个平台,另外,目前信创行业国产操作系统麒麟V10,桌面端很多应用都是基于PyQT5写的。PyQT5特性如下:

  • 基于高性能的Qt的GUI控件集。
  • 能够跨平台运行在Linux、Window和Mac OS系统上。
  • 使用信号槽机制进行通信。
  • 对Qt库进行完全封装。
  • 可以使用成熟的IDE进行界面设计,并自动生成可执行的Python代码。
  • 提供一整套种类齐全的窗口控件。

主要模块包括如下:

  • QtCore:包含了核心的非 GUI 的功能。主要和时间、文件与文件夹、各种数据、流、URLs、mime 类文件、进程与线程一起使用。
  • QtGui:包含了窗口系统、事件处理、2D 图像、基本绘画、字体和文字类。
  • QtWidgets:包含了一系列创建桌面应用的 UI 元素。
  • QtMultimedia:包含了处理多媒体的内容和调用摄像头 API 的类。
  • QtBluetooth:包含了查找和连接蓝牙的类。
  • QtNetwork:包含了网络编程的类,这些工具能让 TCP/IP 和 UDP 开发变得更加方便和可靠。
  • QtPositioning:包含了定位的类,可以使用卫星、WiFi 甚至文本。
  • Enginio:包含了通过客户端进入和管理 Qt Cloud 的类。
  • QtWebSockets:包含了 WebSocket 协议的类。
  • QtWebKit:包含了一个基 WebKit2 的 web 浏览器。
  • QtWebKitWidgets:包含了基于 QtWidgets 的 WebKit1 的类。
  • QtXml:包含了处理 xml 的类,提供了 SAX 和 DOM API 的工具。
  • QtSvg:提供了显示 SVG 内容的类,Scalable Vector Graphics (SVG) 是一种是一种基于可扩展标记语言 (XML),用于描述二维矢量图形的图形格式(这句话来自于维基百科)。
  • QtSql:提供了处理数据库的工具。
  • QtTest:提供了测试 PyQt5 应用的工具。

PyQT5安装

pip install pyqt5  (核心包)
pip install pyqt5-tools  (UI设计工具 Qt Designer)

PyQT5配置

为什么要配置,先看一下开发一个PyQT程序的步骤:

  • 编写UI文件(使用Qt Designer设计),xml格式文件
  • 将UI文件转换成python文件(需要通过配置的工具进行转换)
  • 编辑python文件和其他业务逻辑代码

我们使用的IDE是PyCharm,配置方法File – Settings – Tools – External Tools,打开对话框,点击+号,依次增加QtDesigner,PyUIC,PyRCC三个扩展工具(以下program路径需要根据各自安装的路径来修改)。

QtDesigner

name: QtDesigner
Program: /Users/yangchangming/PythonProject/windows-demo/venv/lib/python3.6/site-packages/qt5_applications/Qt/bin/Designer.app
Working directory: $FileDir$

PyUIC

name: PyUIC
Program: /Users/yangchangming/PythonProject/windows-demo/venv/bin/pyuic5
Arguments: -x $FileName$ -o $FileNameWithoutExtension$.py
Working directory: $FileDir$

PyRCC

name: PyRCC
Program: /Users/yangchangming/PythonProject/windows-demo/venv/bin/pyrcc5
Arguments: $FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory: $FileDir$

Qt Designer

通过Designer设计UI,配置好后,双击存在的UI文件会打开编辑器,即可拖拽式进行UI设计,并可以快速查看设计效果,最终生成*.ui文件(实质上是XML格式的文件),可直接使用,然后通过PyUIC直接转为python文件即可,转换完成后可以直接编辑。
截屏2022-01-16 下午7.20.29

在PyCharm中打开ui文件,并作为激活页面,然后点击Tools中External Tools中的PyUIC菜单,即执行命令进行转换,转为同名的python文件。命令如下:

/Users/yangchangming/PythonProject/windows-demo/venv/bin/pyuic5 -x auto-layout-window.ui -o auto-layout-window.py

转换后的UI Python文件可以直接执行,但是一般情况下都需要结合实际业务逻辑代码来启动UI,通常写法是通过第三方来调动UI类,并进行UI的初始化,如下:

class Loader(QMainWindow):

def __init__(self, parent=None):
    super(QMainWindow, self).__init__(parent)
    self.ui = LDCP_UI()
    self.ui.setupUi(self)

打包MAC应用

利用FBS来打包程序,fbs是一个打包工具,可以将python程序打包成exe,mac,linux下的安装包,先安装fbs,如下命令:

pip install fbs

生成fbs工程骨架,在当前工程所在目录命令行使用命令fbs startproject,即可生产fbs工程的骨架,包括如下目录:
截屏2022-01-16 下午10.19.27

该工程目录中包括了生成各个平台所需的资源文件和配置文件,比如icon,windows下的安装包路径,以及各个平台下的配置文件。将原先写的python文件copy至src - main - python下。修改启动类代码,加入fbs应用上下文类。

from fbs_runtime.application_context.PyQt5 import ApplicationContext

if __name__ == '__main__':
appctxt = ApplicationContext()       # 1. Instantiate ApplicationContext
loaderApp = loader.Loader()
loaderApp.show()
exit_code = appctxt.app.exec_()      # 2. Invoke appctxt.app.exec_()
sys.exit(exit_code)

在命令行执行fbs freeze,即可打包生成所在平台的应用程序包。

2022/1/16

代码未动,文档先行

现在估计是不可能的了,互联网项目,你说等文档写好了,那促销打折啥的活动早就凉凉了!但是,文档还是要有的,是事后补,还是前期写好,都行,重要的是要养成写文档的好习惯。

非常庆幸自己帝都经历过的几家公司,对文档要求都很严格,让我收益很多。软件研发过程中,要写的文档种类很多,需求规格说明书,软件详细设计说明书,测试报告,上线报告,产品手册,接口文档,数据库设计文档等等,自己都写过,通过写这些文档,让我对于软件研发整个生命周期的理解更加透彻。软件研发过程中,通过各种形式的文档,严格限制了需求和设计的边界,让参与研发的各个角色对于软件的理解,更加一致统一,并且保证了软件的维护质量和效率。

我们先来看看在研发一个传统企业级软件的时候,需要哪些形式的文档。


图一 软件文档控制

可以看出,软件研发的控制过程,从需求到产品发布,以及管理,在细化一下。


图二 软件文档控制

规范和文档模板,评审和周报,以及原型和需求,到手册以及部署文档等等,很全面的保障了软件交付质量。《人月神话》看了三遍,不如所有文档写一遍来的痛快和扎实。

需求规格说明书

这份文档的主要作用是理解软件的作用和约束需求(就是让客户不能随便发散),其重点不是罗列出各种功能性需求,而是设置好需求的边界,以及各种非功能性需求和与其他系统的交互规范。把功能性需求描述清楚,是基本要求,包括每个功能点的业务描述(注意要描述业务的特定上下文),详细操作步骤以及功能点的前置和后置条件,这些基本的功能表达清楚了,才能让研发和测试,以及客户都明白要做什么。可以通过UML图,表格,以及用例图等形式来表达。
现在很多互联网公司,多了一个产品经理的角色,其主要工作就是产品的需求和原型的确定,严格上来说他们都不会在写这种规格说明书了,而是通过原型来直接表达,即画出原型后,在原型页面上直接用文字标注各个关键元素的业务逻辑,很直观的表达方式,但是我觉得,一份完备的需求规格说明书还是很有必要的。


图三 软件需求规格说明书


图四 软件需求规格说明书-用例图

软件详细设计说明书

这份文档的主要目的是研发的规约设计,对于软件的主要模块如何设计,如何定义都有详细的说明。这个阶段一般需要写两份文档,概要设计和详细设计,但是很多公司已经就只要一份详细设计了,有重复的地方。
主要通过概述,业务逻辑,服务接口,数据层接口设计这几个方面来阐述一个系统的详细设计,并通过UML图来完整表达设计。依据此份文档,程序员就可以开始编码了。

模块概述:模块的业务描述,注意,同样需要说清楚这个业务模块的上下文和边界;关键流程的表达,一般通过UML中的状态图的方式来展现
业务逻辑:从界面,到业务功能,到异常处理,到特殊需求处理等都需要描述清楚
服务接口:主要是该模块和其他模块或者其他系统之间的接口描述,包括技术和业务描述
数据层接口:详细描述该模块对应的数据表结构的设计


图五 软件详细设计说明书


图六 软件详细设计说明书-类图

数据库模型设计

主要是pdm文件,以前通常用PowerDesigner来设计整个系统的数据模型,这里设计时需要根据公司具体的数据库设计规范,现在在线工具很多,形成最终的数据模型就行,保证团队内部都认可。在设计时,必须清晰的表达清楚,数据库的编码,版本,以及表的存储引擎,和每个字段的含义,索引,以及表之间的关系等等。


图七 数据模型

软件测试报告

测试是软件交付和上线前最关键的一个环节,一般有测试计划和测试报告两个文档,测试计划详细列举了对软件进行测试的环境、资源以及测试资源和测试方案,其中测试范围列出了本次测试的所有测试用例列表。

测试分为功能性测试和性能测试,测试计划中,主要内容是详细列出每个测试用例的测试详情,包括目的,角色和测试准备等。另外,测试会产生bug,通常bug会由统一的bug管理工具进行管理,无需通过文档形式列出。


图八 测试计划


图九 测试计划-测试用例详情

测试报告是对于软件测试的结果进行的总结性报告,即测试计划中的测试用例测试结果。功能性测试和性能测试可以根据不同的测试工具来进行。


图十 软件测试报告


图十一 软件测试报告-功能测试


图十二 软件测试报告-压力测试

软件产品发布

软件产品发布或者上线,会通过用户手册方式交给用户使用。包括某某系统安装配置手册,和某某系统用户手册。


图十三 安装配置手册


图十四 产品发布-配置说明

项目管理约束文档

在整个产品研发周期中,都会有各种评审和会议,都需要严格记录下来每次会议和评审的结果。列举如下。


图十五 项目管理-周报


图十六 项目管理-评审报告

2020/3/21