软件的本质特性:复杂性 LinuxP内核有630个函数,存在1814个函数调用。 注:图中将函数表示为节点,调用关系表示为边。 is digit va_arg O vsprintf 函数vsprintf向控制台输出字符、数字和字符串, strlen O 它调用了is_digit、.strlen、number等多个函数, printk number 函数在动态执行过程中呈现出更为复杂的状态。 skip_atoi
软件的本质特性:一致性 ·软件不能独立存在,需要依附于一定的环境(如硬件、网络以及其他软件) 。 软件必须遵从人为的惯例并适应已有的技术和系统 ·软件需要随接口不同而改变,随时间推移而变化,而这些变化是不同人设计的结果 其他系统 发送请求 用户请求 转发请求 回复消息 返回数据 返回数据 微信服务器 抢票主服务器 辅助服务器
软件的本质特性:可变性 ·2011.1.21,微信1.0发布 ·2012.4.19,微信4.0发布 ·2014.1.26,微信5.2发布 (文字短信、QQ好友、头像) (朋友圈、开放APL、地理位置) (聊天记录搜索、银行卡新 ·2011.2,支持多人会话 ·2012.7.19,微信4.2发布 增服务、图片墙、@提醒) ·2011.3,增加图片功能 (视频、网页版、朋友圈回复)】 ·2014.5.8,微信5.3发布 ·2011.5.10,微信2.0发布 ·2012.8.18,微信公众平台开放 (面对面建群、收藏内容添 (语音对讲、QQ邮箱提醒) ·2012.9.25,微信4.3发布 加标签、外文翻译) (摇一摇传图、解绑、扫一扫) ·2014.8.14,微信5.4发布 2011 2012 2013 2014 ·2011.8,微信2.5发布 ·2013.1.21,微信4.5发布 (查看附近的人、语音记事本) (语音聊天室、摇一摇搜歌、 ·2011.10.1,微信3.0发布 语音提醒、位置导航) (摇一摇、漂流瓶) ·2013.8.5,微信5.0发布 2010.11.20 ·2011.12,微信3.5发布 (折叠公众账号、游戏中心、 微信正式立项 (二维码扫描、自定义表情) 新版扫一扫、微信支付)
软件的本质特性:不可见性 ·软件是一种“看不见、摸不着”的逻辑实体,不具有空间的形体特征 ·开发人员可以直接看到程序代码,但是源代码并不是软件本身 ·软件是以机器代码的形式运行,但是开发人员无法看到源代码是如何执行的 用户需求 软件产品
软件的特点 >硬件会出现磨损老化 >软件会出现功能配置失效 失效率 磨合 失效率 调整 磨损 用坏 实际曲线 理想曲线 硬件失效曲线 时间 软件失效曲线 时间 17
17 软件的特点 ➢ 硬件会出现磨损老化 ➢ 软件会出现功能配置失效 失 效 率 时间 磨合 调整 磨损 用坏 硬件失效曲线 失 效 率 软件失效曲线 时间 理想曲线 实际曲线