[發明專利]SI-NS程序化圖形生成方法無效
| 申請號: | 200910100870.5 | 申請日: | 2009-07-16 |
| 公開(公告)號: | CN101609400A | 公開(公告)日: | 2009-12-23 |
| 發明(設計)人: | 斯傳根;斯希明 | 申請(專利權)人: | 杭州思圖軟件科技有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06F17/30 |
| 代理公司: | 杭州賽科專利代理事務所 | 代理人: | 王桂名 |
| 地址: | 310013浙江省杭州市西湖區*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | si ns 程序化 圖形 生成 方法 | ||
(一)技術領域
本發明涉及一種既是程序又是流程圖的“SI-NS程序化圖形”生成方法,它也可以稱為“SI-NS圖形化程序”,或者簡稱“SI-NS圖”。
(二)背景技術
近二十年來,伴隨著面向對象和窗口技術的出現,軟件技術有了長足的發展和進步。曾經是十分繁瑣的程序界面和一些標準軟件的設計,現在變得十分方便,甚至不需要編寫任何代碼就輕而易舉地實現了。
然而算法才是程序的靈魂。實際情況里往往蘊含著遠比我們預期要復雜得多的問題和算法。遺憾的是我們對算法程序的分析、測試和維護,至今仍只能依賴可讀性較差、一維的文字性程序。
“讀程序難,讀別人的程序更難。”一直是困擾軟件行業的一個難題。軟件行業普遍存在的“軟件開發成功率低、開發周期長、成本大、可靠性和可維護性差”的通病,與這個問題有直接的關系。即便是世界軟件巨子微軟公司,它的Windows操作系統也始終存在漏洞,需要不斷打補丁更正。原因不是別的,因為計算機語言說到底主要不是給人,而是給計算機看的,是給計算機里的編譯程序看的。受編譯技術和形式語言的制約,計算機語言并非是人性化、理想的語言。
程序員整天面對的是顯示屏里見首不見尾、整體結構差、文法上存在二義性的,一維的文字性程序。他們的精力和時間的很大部分要耗費在不斷弄懂曾經是自己或者別人開發出來的程序結構和設計思想上,連每個“if”、“else”的配對次序以及語法標點符號都不能疏忽。這會嚴重影響程序員整體結構性思維和解決復雜問題的能力。面對用戶提出的一個又一個實際問題,以及自己越改越復雜的程序,他們往往感到力不從心……。
1973年美國學者I.Nassi和B.Shneiderman提出了一種新的流程圖形式。在這種流程圖中,完全去掉了帶箭頭的流程線。算法中的順序、選擇和循環都用相應的方塊圖表示,它的整體結構清晰、可讀性特好,并且能保證設計出來的程序是結構化的,因而受到歡迎。這種流程圖最先在德國應用比較多,被稱為Struktogram。后來在中國和日本,又稱為NS圖。
NS圖的主要問題是它帶有長斜線的選擇結構,它使得:
(1)不適宜于計算機處理、顯示和打印輸出。
(2)斜線間的條件項不宜過長,否則占據的空間太大,空間效率太低。
它帶來的直接后果是,NS圖難以包含語言程序的全部信息,難以從語言程序自動生成,存在“圖與程序分離”的問題。用NS圖創始人Ben?Shneiderman自己的話講,NS圖只是一種算法設計形態,只能“在程序設計最初階段有用”(Ibelieve?it?is?helpful?at?early?stages?of?program?design)。至今我們在各種計算機教材和文獻里能見到的NS圖應用,主要仍局限于算法設計階段。
“程序圖型化表達”是世界上都在致力研究的一項技術,旨在提高程序的可讀性。日本日立公司提出了軟件設計圖型表現法PAD(Problem?AnalysisDiagram)。PAD圖的空間效率差,在結構二維性、圖形與其表達邏輯的一致性、信息完整性方面存在缺陷。國內曾經有大學、研究單位對PAD圖掀起過一陣研究熱潮。但十幾年過去了,至今看不到能夠生成PAD程序化圖形的產品化軟件。2000年4月,美國以CSD圖(Control?Structure?Diagram)為表示形式的GRASP項目在因特網上公開發布。據網上介紹,該項目得到了美國國家科學基金會、國家宇航局航天飛行中心、國防部研究開發署以及國防信息系統署的多項資助。然而CSD圖只是在程序上勾畫了一下,在整體結構二維性、清晰性方面,它與一維的文字性程序沒有本質的區別。
(三)發明內容
本發明所要解決的技術問題是提供一種既是流程圖又是程序的SI-NS程序化圖形生成方法。該程序化圖形在整體結構二維性、清晰性、信息完整性、空間效率、圖形與其表達邏輯的一致性、自上而下,一點進,一點出、易讀易理解性、實際可用性等方面要優于現有技術中的其它程序流程圖。
一種SI-NS程序化圖形生成方法,包括下述順序步驟:
(1)讀入一個函數子程序到一維數組;
(2)檢查讀入的函數子程序有無語法錯誤;
(3)由一維文字程序生成二維樹形節點數據結構,程序的順序結構生成呈順序的節點結構,程序的選擇和循環結構生成呈分支的節點結構;
(4)對樹形節點數據結構的每一個節點進行計算,得出各節點的相對位置以及節點包含的語句字符信息數的長和寬;
(5)將每一個節點信息數據填入到二維數組;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州思圖軟件科技有限公司,未經杭州思圖軟件科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910100870.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種組合云梯裝置
- 下一篇:小兒止瀉安顆粒的質量控制方法





