2016年11月25日(金) アプライアンス&デジタルソリューション株式会社 デジタルAV事業部 京都支店 中村 香澄

Slides:



Advertisements
Similar presentations
Silverlight Producer コンテンツ作成 第一回 GKB48 セミナー 「学習型クラウド共有スペース GKB コモンズは何を目指すか」 2013.oct.30.
Advertisements

データベースの基礎知識 ACEESS の基本操作. データベースの基礎知識 データベース  特定のテーマや目的に毎のデータの集合体 データベースソフトウェア  データベースを作成、管理するソフトウェアの総 称 Oracle(Oracle) IBM(DB2) Microsoft(SQL Server)
卒業論文審査会 Web の読みやすさ実験ツールの開発 岩手県立大学 ソフトウェア情報学部 ソフトウェア情報学部 4 年 柴田 大樹 指導教員:鈴木克明 藤原康宏 市川尚.
情報科学部 ディジタルメディア学科 佐々木研究室 n02k1118 流石 寛子
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
Microsoft Office 2010 クイックガイド ~OneNote編~
Powerpointを使用した ゆっくり動画の作成
オーダー端末操作手順書 WideNet株式会社 Ver.2013/01/30.
PROCESS 14:一般情報(2) InstallShieldLecture
図の挿入 ●方法1 ①図を挿入する位置にカーソルを置く。 ②「挿入」メニュー →「図」 → 「ファイルから」とクリックする。 ③挿入するファイルを選択し、「挿入」をクリックする。 ●方法2(書式までコピーされるので、ファイルサイズが大きくなる) ①挿入する図をコピーする。 ② 挿入する位置にカーソルを移動し、ツールバーまたは右クリックメニューの「貼り付け」をクリックする。
図の挿入 ●方法1 ①図を挿入する位置にカーソルを置く。 ②「挿入」タブ ⇒「図」 → 「ファイルから」とクリックする。 ③挿入するファイルを選択し、「挿入」をクリックする。 ●方法2(書式までコピーされるので、ファイルサイズが大きくなる) ①挿入する図をコピーする。 ② 挿入する位置にカーソルを移動し、ツールバーまたは右クリックメニューの「貼り付け」をクリックする。
ブラウザの基本操作 前のページに戻る ブラウザの左上にある 「戻る」ボタンで、自分がたどってきた一つ前のページに戻ることができます。
PowerPoint活用マニュアル スライドショーにせず、そのまま見てね。.
パワーポイントの使い方 東京女子大学 情報処理センター 浅川伸一.
パソコン教室(Word) ワークフロア清柳
Android と iPhone (仮題) 情報社会とコンピュータ 第13回
Lync 会議 Lync 会議に参加する Lync 2013 クイック リファレンス Lync 会議のスケジュール
Lync Web App クイック リファレンス カード: 会議にコールインする
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
コントロールパネル ◎コントロール パネル: コンピュータのさまざまな機能を設定するための画面
「サイボウズ Office on cybozu.com」 すぐできるBOOK -ワークフロー 編 -
情報処理 第11回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田 ここはメモを書く欄。
コントロールパネル ◎コントロール パネル: コンピュータのさまざまな機能を設定するための画面
情報処理入門A・B 第8回 プレゼンテーション支援ツール
IM、プレゼンス、連絡先 IM 要求に応答する プレゼンスを設定または変更する ユーザーを検索する
ユースケース図 FM12012 比嘉久登.
WagbyR6.5 Update 12 PPT版 更新情報
プレゼンテーション用ソフトウェア Impress
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
担当: 遠藤 美純 情報教育 初級講座 担当: 遠藤 美純
共通科目「情報(実習)」 第7回 プレゼンテーション資料作成 標準表示中は矢印下でスライド移動
IM、プレゼンス、連絡先 IM 要求を受け入れる Lync 2013 クイック リファレンス プレゼンスを設定または変更する ユーザーの検索
携帯端末による 海洋情報グラフ表示システム
CSP記述によるモデル設計と ツールによる検証
<テレビ会議サービス 簡易マニュアル> 1.使用機器のセッティング 小会議室等(複数人)での参加の一例 自席(個人)での参加の一例 ③ ②
かぞえチャオ!でコードレビュー 2013/10/20 Ciao-ware.
(B2) 親: minami, kazuki 多様な認証機器に対応する 認証システム (B2) 親: minami, kazuki.
マイクロソフト Access を使ってみよう 第1回
Microsoft Office クイックガイド ~OneNote 2013~
Microsoft Office 2010 クイックガイド ~OneNote編~
2016年度秋期 成果発表会 2016年11月25日 大阪開発センター 技術一部 畑中 龍樹.
校内LAN移動用PC等使用説明 移動用プロジェクタ(応用編) 高槻市教育センター.
大阪開発センター技術3部 辻脇 庸介 デジタルビジョンソリューション株式会社
2010年度春季 成果発表 2010年5月7日 大阪開発センター 技術3部 中村 光秀 年度春季成果発表会.
簡単PowerPoint (PowerPoint2007用)
経営工学基礎演習a PowerPointの利用.
情報コミュニケーション入門b 第5回 プレゼンテーション支援ツール入門
デジタルビジョンソリューション株式会社 大阪開発センター 技術3部 立石 壮平
2016年11月25日 大阪開発センター 技術1部 深田 健太 アプライアンス&デジタルソリューション株式会社
オーダー端末操作手順書 WideNet株式会社 Ver.2013/09/26.
アウトバウンド業務 ガイダンス Ver.7 アウトバウンド業務について、作業フローを具体的な事例別にご説明します。
アウトバウンド業務 ガイダンス Ver.7 アウトバウンド業務について、作業フローを具体的な事例別にご説明します。
実行時情報に基づく OSカーネルのコンフィグ最小化
すぐできるBOOK -スケジュール編-.
PowerPoint へようこそ 簡単に操作するための 5 つのヒント.
実物投影機の使い方 その① テレビにつないでみよう。.
ゲーム開発モデルの基礎.
2010年度 春季成果発表会 岡本 拓也 2010年5月14日 デジタルビジョンソリューション株式会社 新横浜支店 技術部.
ビジネス プロジェクトの計画 発表者名 | 会社名.
北海道情報大学 情報メディア学部 情報メディア学科 新井山ゼミ 金子拓磨
手書き文字の自動認識アプリケーション 15K1013 坂本 倖輝
簡単PowerPoint (PowerPoint2003用)
vc-2. Visual Studio C++ のデバッガー (Visual Studio C++ の実用知識を学ぶシリーズ)
F5 キーを押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
ここにタイトルを入力 ここにサブタイトルを入力 草原 (初級)
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
新入社員トレーニング 発表者名 発表日 このテンプレートは、トレーニング資料をグループ設定で紹介するための開始ファイルとして使用できます。
Googleマップを活用した 生物調査データベースの構築
ビデオ ビデオのクイック リファレンス ビデオ コントロールを使って表示する Lync 2013 クイック リファレンス
情報処理 II 第11回の教材 プレゼンテーションソフト PowerPoint 高知大学 共通教育 理学部 対象 担当:塩田
Presentation transcript:

2016年11月25日(金) アプライアンス&デジタルソリューション株式会社 デジタルAV事業部 京都支店 中村 香澄 2016年秋季 成果発表 2016年11月25日(金) アプライアンス&デジタルソリューション株式会社 デジタルAV事業部 京都支店 中村 香澄 デジタルAV事業部 京都支店 の 中村香澄です。 これから2016年秋季成果発表を始めます。よろしくお願いします。 ※10秒 ・発表時間:10分がベスト ・声の大きさ:後ろまで聞こえるように ・態度:スライドばかり見ない ・資料のわかりやすさ:アニメを使う ・自分の成果が書けているか:「成果発表」という趣旨にあっているか

目次 担当業務と成果 まとめ リファクタリング DTVソフトウェア開発 目標の達成度合と課題 下期の目標 こちらが、今回の発表内容です。 業務内容と成果では、私が担当したデジタルテレビのソフトウェア開発の内容と成果について発表します。 以下、紙面ではデジタルテレビをDTVとします。 まとめでは、上期の成果と課題をまとめ、下期の目標を発表します。 ※30秒

担当業務と成果 業務内容と成果 ※5秒

リファクタリング リファクタリングとは? →ソフトウェアの動作を変えずに、プログラムの内容を変えること  →ソフトウェアの動作を変えずに、プログラムの内容を変えること    プログラムを見やすく、編集しやすくすることが目的 内容:使われていない関数・変数の削除 目標:DTVの内部構造について知る プログラム remote_control {-------- --------- ----} rokuga_kiki {-- ---------- -- - - - - ---- -- ----- --- --} TV {----- ---- --- ---- ---- ---------------- - -- ----} TVphone {--------------- - -- - -} プログラム remote_control {{-------- --------- ----} record_device {-- ---------- -- - - - - ---- -- ----- --- --} TV {----- ---- --- ---- ---- ---------------- - -- ----} 変数名を変更 不要な記述を削除 まず、私が担当しました、リファクタリングという作業について説明します。 リファクタリングとは、ソフトウェアの外部仕様を変えずに内部構造を変更することです。 この作業は、プログラムを見やすくし、編集しやすくすることが目的です。 これは一例であり、実際に削除したプログラムとは違うものなのですが、 変数名の変更、不要な記述の削除などがリファクタリングにあたります。 デジタルテレビのプログラムは、多くのメンバーと共有するものなので、見やすさは重要な要素といえます。 私は使われていない関数・変数を削除するというリファクタリングを通して、 DTVの内部構造、すなわち各モジュールのプログラムについて知ることを目標にしました。 削除した関数・変数は、ソフトウェアのバージョンアップに伴い、削除された機能に関するものです。 ※1分

リファクタリング eeprom DTVシステムの概略図 設定変更の定義部 パネル描画部 アプリケーション 担当 (選局、各種設定など) 箇所 モジュール間の 情報共有部 ドライバ (ハードウェアの制御) eeprom DB TVシステムは、アプリケーション部、ドライバ部、ハードウェア部で成り立っています。 簡単に説明しますと、 アプリケーション部は選局や各種設定などの機能、 ドライバ部はハードウェアを制御するソフトウェア、 ハードウェア部がオーディオやスピーカーの再生機能 となります。これにデータベースを加えて、TVシステムの大まかな全体像となります。 私がリファクタリングを担当したのは、アプリケーション部です。 未使用の関数・変数を削除するため、アプリケーションを構成する各モジュールについて学びました。 主に確認したのは、大きく分けて3つのモジュールです。 一つめは表示や設定の変更の制御部です。 各設定、例えばDTVを任意の時間で自動で起動させるオンタイマー設定は、 一つのアプリとして管理されています。一つ一つに起動までの時間や、 ドライバを使用する際の優先度、そのアプリを起動させるための関数などが定義されています。 二つめはパネルの描画部です。 パネルは、メニューから設定項目を選んだ際のこのようなウィンドウです。 このパネルの幅、高さ、背景の色、テキスト、画像などを描画します。 三つめはモジュール間の情報共有部です。 これは、各モジュールで設定した値を、他のモジュールが参照するために必要になります。 例えば、オンタイマー設定のオンオフ設定、時間、音量、チャンネルといった値は テレビの電源が切れても保持しなければなりませんし、 指定の時間になれば指定のチャンネル、音量で起動しなければなりません。 そこでeepromという不揮発性メモリを用いて、設定値を保持し、他のモジュールが参照します。 動作や役割がわからない関数や変数については、関数名や変数名に頼って削除することもありました。 そのため、自分が新しい関数や変数を定義する際は、一目見てどの機能かわかるような名前をつけようと心がけています。 ※1分 ハードウェア (オーディオ、スピーカーなど)

リファクタリング 録画しますか? 予約しますか? 初期化しますか? 録画する 予約する ??? ~問いかけ文リスト~ “予約しますか?” “録画しますか?予約しますか?” “初期化しますか?” 初期化しますか? 録画する ~上選択肢リスト~ “はい” “録画する” “初期化する” 予約する ??? リファクタリングで注意すべき点として、 関数や変数の削除が、どのような影響を及ぼすか把握することがあります。 これも一例であり、実際のパネルを元にした架空のパネルなのですが、 このようなパネルがあったとします。 このパネルは、問いかけ文と選択肢を表示するために、 このような問いかけ文リストと、選択肢リストの2番目の要素を参照する仕様になっています。 ここで、「録画しますか?予約しますか?」の選択肢を削除したとします。 この場合、問いかけ文リストの2番目の要素が「初期化しますか?」になってしまい、 パネルの問いかけ文と選択肢が対応しなくなります。 このように、リファクタリングは関数や変数の影響範囲を把握しないと、 変更前には正常に動作していた機能が動作しなくなる、といったデグレを引き起こす可能性があります。 私は何度かデグレを起こしてしまいましたが、 変数の参照値を注視することで、なるべく早く解消することができました。 ※1分半 ~下選択肢リスト~ “いいえ” “予約する” “初期化しない”

ソフトウェア開発 内容:入力切換の仕様変更、外部機器の接続検出 目標:DTVについて理解し、仕様を実装する    追加する(リモコンの左右キーで選択できる) 入力切換 テレビ HDMI1 HDMI2 ビデオ 入力切換 テレビ HDMI1 HDMI2 < ビデオ D端子> 私はリファクタリングで各モジュールの役割について理解した後、 日本向けデジタルテレビの次世代モデルのソフトウェアの開発を担当しました。 プログラムを修正し、入力切換の仕様変更、外部機器の接続検出、バグの修正を行いました。 例として私が担当しました、入力切換パネル (このように、テレビ、HDMI、ビデオなどの切換を行う設定パネルです)に 「D端子」の選択肢を「ビデオ」の右に追加する、という仕様変更を解説します。 ※45秒

ソフトウェア開発 入力切換 テレビ HDMI1 HDMI2 ビデオ 入力切換 テレビ HDMI1 HDMI2 入力切換を 参照している 既存の箇所に 「D端子」を 追加する 入力切換 テレビ HDMI1 HDMI2 ビデオ 入力切換 テレビ HDMI1 HDMI2 < ビデオ D端子> 文字が入らないため パネルの幅を広くする、あるいは文字間隔を狭める 「D端子」という選択肢を増やしたことにより、既存のパネルでは文字が入りきらず、 表示できなくなります。そのため、パネルの幅を広くする必要があります。 しかし、実際は入力切換パネルを大きくと画面が見づらくなったり、見切れたりといった問題があるため、 文字間隔を設定する箇所も修正が必要でした。 また、今までの入力切換パネルは左右キーで操作する必要がないので、 左右キーが入力された際の処理は設定されていません。 つまり、このままでは左右キーを入力しても全く動きません。 「このキーが入力された場合はこの処理」という定義を行うキー関数を定義する必要もあります。 さらに、D端子が接続されたことを検出し、自動的に選択肢を切り換える必要もあります。 そして、入力切換を参照している、既存の箇所に、この選択肢を追加しなければなりません。 例えば、先ほどリファクタリングの項で解説した「オンタイマー設定」では、 指定の時刻に電源が自動でオンされた際の入力を設定できます。 ここの設定として、「D端子」を追加しなければなりません。 既存の入力切換では リモコンの左右キーを 受け付けていないため キーの受付を設定する D端子の入力を 検出する

ソフトウェア開発 DTV本体のキーでの動作 特定条件下で 設定できる項目 海外モデルとの 仕様の違い 2画面時の 変数の レイアウト 他のアプリ (接続機器一覧 など)への影響 特定条件下で 設定できる項目 想定していた 影響範囲 海外モデルとの 仕様の違い ここまでは、私が想定していた、「D端子」という選択肢を追加する際の影響範囲です。 しかし実際は想定できなかった影響範囲が数多くありました。 DTV本体に入力切換パネルを操作するキーがついているので、それを押した際の動作を定義する。 接続機器一覧表示など、他のアプリへ「D端子」を追加する。 ホテル向けモードなど、特定の条件下でのみ設定できる項目が、 先ほどのオンタイマーの例のように入力切換を参照している。 海外モデルと仕様を合わせる。 2画面になるとレイアウトが崩れるので、それも想定する。 既存の変数がオーバーフローする可能性があるので、値が異常にならないようにする。 などです。 2画面時の レイアウト 変数の オーバーフロー 想定できなかった影響範囲

まとめ まとめ

目標の達成度合と課題 リファクタリング 目標:DTVの内部構造について知る 課題:変数名に頼って、プログラムを修正している アプリケーションを構成するモジュールのうち、3つを理解した 参照する値がずれないようにリファクタリングする知識を得た  課題:変数名に頼って、プログラムを修正している 削除する項目がわからない際、まずは項目名で当たりをつけて  しまうことがあった プログラムの動作を一から理解し、DTVの内部構造について  より理解を深める必要がある デバッグツールを用いて、変数名ではなく動作を見る

目標の達成度合と課題 ソフトウェア開発 目標:DTVについて理解し、仕様を実装する 課題:仕様変更の影響範囲が把握できていない パネルの描画・レイアウトの変更を行えるようになった 外部機器の接続検出を行えるようになった  課題:仕様変更の影響範囲が把握できていない 一つの実装ごとに新たなバグを起こし、デグレになる 複数のモジュールやアプリが関わる場合は顕著 eepromによる情報共有が理解できていない

下期の目標 プログラムの動作を理解する 仕様変更の影響範囲を把握する 業務速度を向上させる 進捗、現状、問題点を把握する C、lispを中心に学習する 仕様変更の影響範囲を把握する より多くのモジュールについて知る eepromによる情報共有について学ぶ 業務速度を向上させる デバッグツール(GDBなど)の利用に慣れる 進捗、現状、問題点を把握する 3つの観点に応じて、やるべきことを決定する

発表内容は以上です。 ご静聴ありがとうございました。 ありがとうございました!!