
2016/02/01 現在 |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 3学期 /Third Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
アレクサンダー ヴァジェニン |
担当教員名 /Instructor |
アレクサンダー ヴァジェニン , 吉岡 廉太郎 |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/02/26 |
---|---|
授業の概要 /Course outline |
Our current software engineering methods and techniques have made us much better at building large and complex systems than we were. However, there are still too many projects that are late, are over budget and do not deliver the software that meets the customer’s needs. There is, therefore, still a pressing need for software engineering education. This course covers many current topics of interest in software engineering. Some of the topics covered are formal methods to specify requirements of software systems, software design strategies, and evaluation of processes, products, and resources. |
授業の目的と到達目標 /Objectives and attainment goals |
The course can be useful for undergraduate and graduate students. It may be used in general software engineering, software specification, software design and management. The objective of the course is to impart knowledge to students about methods in software development including basic and advanced topics. The methods range from how to precisely specify software requirements to how to evaluate the methods and their products and required resources. This is achieved in three parts: first, lectures are given on several current topics of interest; second, students are asked to make a presentation on a topic interesting to them; and third, students are given a programming project to design and implement a system using the Object-Oriented (Java) or Mobile Programming Environment. |
授業スケジュール /Class schedule |
The course lectures are covering the following topics: Part 1. The Software Process • Professional software development • Software engineering ethics • Software Process Models • The Rational Unified Process • Agile Development Part 2. Software Engineering Practice • Practice: A Generic View • System Modeling • System Engineering • Requirements Engineering Part 3. Software Design Strategies • Architectural Design • Software Reuse • Component-Based Design • Design with UML Part 4. Security in Project Management • Critical points in project management. • Life cycle of secure software • Dependable Processes and Programming • Fault Tolerance Concepts and Architecture • Secure software development Presentation Topic: Students have to present advanced material based on reading of current software engineering journals and professional magazines. |
教科書 /Textbook(s) |
1.Software Engineering Theory and Practice by S. L. Pfleeger, Publisher: Prentice Hall. 2.Software Engineering, 6-8th editions by Ian Sommerville, Publisher: Addision-Wesley. 3.Software Engineering & Testing: An Introduction by B.B. Agarwal, S. P. Tayal, M. Gupta. Publisher: 4.Software Engineering: A Practitioner's Approach, 6th edition by Roger S. Pressman, Publisher: McGraw-Hill 5.Lecture notes distributed by the instructor (Lecture notes have been prepared from the above textbooks and from recently published papers in IEEE Transactions on Software Engineering, IEEE Computer, and IEEE Software) |
成績評価の方法・基準 /Grading method/criteria |
1.Two tests (30 points each), 2. Presentation topic (40 points) |
履修上の留意点 /Note for course registration |
Knowledge of object-oriented concepts is necessary. Students should complete the Java and/or C Programming 1 and 2 courses and Software Engineering 1. |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
1.User Interface Design and Evaluation by Debbie Stone, Caroline Jarrett, Mark Woodroffe, Shailey Minocha,publisher: Elsevier. 2. Human Aspects of Software Engineering by James E. Tomakyo、 Orit Hazaan, publisher: Charles River Media. 3.Quality Software Management, by Gerald M. Weinberg, publisher: Dorset House Publishing. |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 4学期 /Fourth Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
アレクサンダー ヴァジェニン |
担当教員名 /Instructor |
アレクサンダー ヴァジェニン , 吉岡 廉太郎 |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/02/26 |
---|---|
授業の概要 /Course outline |
This is the second part of the Course on Theory and Practice of Software Engineering. Our current software engineering methods and techniques have made us much better at building large and complex systems than we were. However, there are still too many projects that are late, are over budget and do not deliver the software that meets the customer’s needs. There is, therefore, still a pressing need for software engineering education. This course continues the course Theory and Practice of Software Engineering I and covers many current topics of interest in software engineering. Some of the topics covered are formal methods of software maintenance, evaluation of processes, products, and resources. It also introduces advanced Software Design Patterns. |
授業の目的と到達目標 /Objectives and attainment goals |
The course can be useful for undergraduate and graduate students. It may be used in general software engineering, software specification, software design and management. The objective of the course is to impart knowledge to students about methods in software development including basic and advanced topics. The methods range from how to precisely specify software requirements to how to evaluate the methods and their products and required resources. This is achieved in three parts: first, lectures are given on several current topics of interest; second, students are asked to make a presentation on a topic interesting to them; and third, students are given a programming project to design and implement a system using the Object-Oriented (Java) or Mobile Programming Environment. |
授業スケジュール /Class schedule |
The course lectures are covering the following topics: Part 1. Software Testing • Software Testing Strategies • Software Testing Techniques • Component testing • Test case design • Acceptance, Installation, Performance, Functional Testing • Test automation • Product Metrics for Software • Software Testing Tools and Environments Part 2. Human-Centric Design • Interface Types • Message System Features • User Interface design process and evaluation • Visual Programming Systems as example of the human-centric design Part 3. Service Oriented Design Pattern • Client-Server Architectures • Distributed Object Architectures • Service-Oriented Architectures and Design Pattern • Virtual MVC design Methodology • Software Agents, Agent Systems and Applications The experimental part of this course includes the Engineering Topic. The goal of this topic is in developing and testing the simple project using the Service-Oriented Paradigm. |
教科書 /Textbook(s) |
1.Software Engineering Theory and Practice by S. L. Pfleeger, Publisher: Prentice Hall. 2.Software Engineering, 6-8th editions by Ian Sommerville, Publisher: Addision-Wesley. 3.Software Engineering & Testing: An Introduction by B.B. Agarwal, S. P. Tayal, M. Gupta. Publisher: 4.Software Engineering: A Practitioner's Approach, 6th edition by Roger S. Pressman, Publisher: McGraw-Hill 5.Lecture notes distributed by the instructor (Lecture notes have been prepared from the above textbooks and from recently published papers in IEEE Transactions on Software Engineering, IEEE Computer, and IEEE Software) |
成績評価の方法・基準 /Grading method/criteria |
1.One test (50 points each), 2.Engineering Topic (50 points) |
履修上の留意点 /Note for course registration |
Student should have knowledge in Object-oriented programming. The course of Theory and Practice of Software Engineering I is also required. |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
1.User Interface Design and Evaluation by Debbie Stone, Caroline Jarrett, Mark Woodroffe, Shailey Minocha,publisher: Elsevier. 2. Human Aspects of Software Engineering by James E. Tomakyo、 Orit Hazaan, publisher: Charles River Media. 3.Quality Software Management, by Gerald M. Weinberg, publisher: Dorset House Publishing. |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 1学期 /First Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
ヴィタリー クリュエフ |
担当教員名 /Instructor |
ヴィタリー クリュエフ , マキシム モズゴボイ , アンナ D-B |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/02/27 |
---|---|
授業の概要 /Course outline |
Software industry is growing very fast. It is getting impossible to study the tools in detail to implement new software projects. Students should manage a large amount of tools in order to figure out how to start using them knowing only a little at the beginning and how to get detailed information about features when they need them. In the other words, students have to understand key ideas and they have to be able to apply them in practice. One of the key tendencies in the software development area is a priority of WEB applications. The corresponding branch of software engineering is growing very fast. We are facing increasing demands for professionals who can design large Web systems. The aim of this course is to study current concepts and methods for Internet application engineering. |
授業の目的と到達目標 /Objectives and attainment goals |
We assume that the students know how to write a computer program and debug it. We assume that students like programming. The course is intended for students who want to understand and apply in practice the technological basis of modern Internet applications. |
授業スケジュール /Class schedule |
The main topics covered in the course are as follows: Introduction Web Engineering Process Web Application Architectures Software Engineering: The Soft Aspects Structure and Semantics Communication in Software / Web Engineering Device-Responsive CSS Teaching Secure e-Commerce through building Real-World Sites Change Management Negotiating New Approaches to CSS Layouts Device APIs Web Apps |
教科書 /Textbook(s) |
The Modern Web: Multi-Device Web Development with HTML5, CSS3, and JavaScript by Peter Gasston, No Starch Press, 2013. On-line materials. |
成績評価の方法・基準 /Grading method/criteria |
The final grade will be calculated based on the following contributions: Exercises - 40%, Quizzes during lectures - 25%, Final examination - 35%. |
履修上の留意点 /Note for course registration |
Knowledge of object-oriented concepts is necessary. Students should complete the Java Programming 1 and 2 courses and Software Engineering 1 and Web Programming courses. |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
Course Web page: http://web-int.u-aizu.ac.jp/~vkluev/courses/SEIA/ |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 4学期 /Fourth Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
渡部 有隆 |
担当教員名 /Instructor |
渡部 有隆 , アレクサンダー ヴァジェニン |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/02/27 |
---|---|
授業の概要 /Course outline |
This core software engineering course is related to both theory and practice to design reliable, error-free software taking into account available resources like a skill of programming team, developing environment as well as a time schedule. Starting with an introduction to the various types of software, the course moves through computer-aided software engineering and writing effective source code to a term-based software development. A chapter on applications covers software development tools allowing students to get practical experience in usage modern techniques used in various applications including different platforms like Eclipse, Visual Studio, etc. |
授業の目的と到達目標 /Objectives and attainment goals |
The course can be useful for undergraduate and graduate students. The objective of the course is in imparting knowledge to students about methods in practical programming. These methods range from how to precisely specify and evaluate problem requirements to how to organize the programming process of the problem solution in limited time as well as required and available resources. The course program is oriented not only how to provide and accumulate knowledge but also how to use this experience in practical programming. The course exercises include individual and team programming strategies as well as collaborative verification and debugging techniques. They have the good opportunity to check their real abilities in solving practical problem. |
授業スケジュール /Class schedule |
Part 1. Introduction to Software Development – Program Phase – How to Write a Good Program – Programming Tools – Information Hiding – Programming Style – Internal Documentation – Monitoring and Control for Coding – Structured Programming Part 2. Creating High-Quality Code – High-Quality Routines – Defensive Programming Part 3. Team-based Software Design – Software Team Organization – Selecting staff – Motivating people – Managing groups – The people capability maturity model – Groupthink Part 4. Competitive Programming – Goals and motivations – Automatic Evaluation Systems – Roles on a team – Team Formations – Team Strategies – Preparation – Programming Strategies Part 5. Extreme Programming – Goals and Activities – Extreme Programming Rules – Coding and Testing – Criticism and Experience Part 6. Visual Programming – Features of current visual languages – Interactive Visual Analysis – Graphical and Responsible Dashboard – Comprehensive Big Data Platform – Data/Control Flow Paradigm – Visual language for creating stories, games and animations – Programming in pictures |
教科書 /Textbook(s) |
Software Engineering, 6-8th editions by Ian Sommerville, Addision-Wesley. Software Engineering & Testing: An Introduction by B.B. Agarwal, S.P. Tayal, M. Gupta. Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman, McGraw-Hill Extreme Programming Explained: Embrace Change (2nd Edition) by Kent Beck. Dode Complete, 2nd editions by Steve McConnell. The Art of Readable Code (Theory in Practice) by Dustin Boswell and Trevor Foucher. Lecture notes distributed by the instructor Lecture notes have been prepared from the above textbooks and from recently published journals. |
成績評価の方法・基準 /Grading method/criteria |
Exercise Assignment 40 % Presentation Topic 30 % Engineering Topic 30 % |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
http://www.xprogramming.com/ http://judge.u-aizu.ac.jp/ http://uva.onlinejudge.org/ http://codeforces.com/ http://www.topcoder.com/ https://sites.google.com/site/stevenhalim/ |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 1学期 /First Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
アレクサンダー ヴァジェニン |
担当教員名 /Instructor |
アレクサンダー ヴァジェニン |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/02/26 |
---|---|
授業の概要 /Course outline |
Parallel and Internet computing is a science concerning in solving a problem by giving parts of the problem to many computers to solve, and then combining the solutions for the parts into a solution for the problem. The course focuses on comparative and historical analysis of different approaches to parallel and Internet computing. Some specific topics of Software Engineering related to the reliability and accuracy of parallel computations are discussed. We show and compare also different parallel programming paradigms including SIMD, Message Passing and Shared Memory Programming as well as Client-Server and Distributed Objects Architectures. |
授業の目的と到達目標 /Objectives and attainment goals |
At the end of this course, the student should be able to: - Estimate the quality of parallel and distributed algorithms and programs, - Distinguish advantages and difficulties of parallel and Internet computing, - Explain some details of data parallel processing, - Know how to design coarse- and fine-grained parallel algorithms, - Manage the Internet application design, - Show experience in WEB-based parallel programming. |
授業スケジュール /Class schedule |
1.Introduction in Modern High-Performance Computing 2.Metrics of Parallel Programs and Algorithms 3.Network Topologies and Properties 4.Individual and Collective Operations on Networks 5.Classifications of Parallel Programming Models 6.Parallel Programming Models: SIMD-programming 7.Distributed Programming Models: Multiprocessor architectures 8.Client-server Programming Models 9.Parallel Computing and Accuracy of Results 10.Advanced Distributed Computing Paradigms 11.Multi-core Programming Platform (optional) 12.WEB-based High-Performance Computing (optional) |
教科書 /Textbook(s) |
1.Materials collected from books, journals and proceedings papers and provided by the instructor 2.Parallel and Distributed Computing, by Claudia Leopold, John Wiley and Sons, Inc. 3. Scalable Parallel Computing, by K. Hwang, Zh. Xu, McGraw-Hill. |
成績評価の方法・基準 /Grading method/criteria |
Students should be prompt for lectures, labs, and exams. Programming assignments must be turned in by the stated date and time. To pass this course, all the requirements must be satisfactorily completed. The course final grade includes the following parts 1.Two short quizzes (20 points each) 2.Design Project (60 points) |
履修上の留意点 /Note for course registration |
General computer organization, algorithms and data structures, Software Engineering I and II as well as a high-level language like C, Java, etc. |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
1.http://sealpv0.u-aizu.ac.jp/moodle/ - Course management system. 2.Computer Networks and Internets, by D. E. Comer, Prentice-Hall. 3.Parallel Processing in Cellular Arrays, by Ya. Fet, Taunton, UK, Research Studies Press. |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 1学期 /First Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
サバシュ バーラ |
担当教員名 /Instructor |
サバシュ バーラ |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/03/03 |
---|---|
授業の概要 /Course outline |
It is a first course on 'modern distributed systems'. Topics include, mobile communication systems and replication of databases. Concepts are studied by taking these example cases for analysis. It covers the internal architecture of Distributed systems. Course examines many distributed algorithms. It raises unsolved problems and design issues. |
授業の目的と到達目標 /Objectives and attainment goals |
Course emphasizes : - Architecture of a Distributed System, - Fault-tolerance in a multinode system, - Data Recovery and Process Recovery, - Dependency Tracking in Message Passing Systems, - Data Transparency and site Autonomy, - Transaction Management in Distributed Databases, |
授業スケジュール /Class schedule |
--------------------------------- 1. Introduction to Dist. Systems 2. Distributed O S 3. Time and Global States 4. Operation Systems Support 5. Distributed File Systems 6. Transactions and Concurrency 7. Replication 8. Failures and Recovery --------------------------------- |
教科書 /Textbook(s) |
1. Various materials prepared by the instructor. 2. Distributed Systems: Concepts and Design, by G.Coulouris, J.Dollimore, T. Kindberg, Pearson, 5th edition, 2011. 3. Guide to Reliable Distributed Systems, K.P. Birman, Springer, March 2012 |
成績評価の方法・基準 /Grading method/criteria |
- Two short quizzes ( 20 points each), One examination ( 30 points ) - Software projects and Assignments ( 30 points ) |
履修上の留意点 /Note for course registration |
Course Prerequisites: Courses on : Operating Systems; Algorithms and Data Structures, Distributed Computing, web programming |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
Course directory for handouts and exercise sheets. |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 4学期 /Fourth Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
鈴木 大郎 |
担当教員名 /Instructor |
鈴木 大郎 |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/02/27 |
---|---|
授業の概要 /Course outline |
宣言的プログラミングの目的は、プログラミングという作業を、解きたい問題がもつ数学的、論理的な性質を宣言的に記述する作業にすることである。宣言的に書かれたプログラムに対して、数学的、論理的な手法を使ってプログラムに関する性質やその正当性を調べることができる。 代表的な宣言的プログラミングは、関数型プログラミング、論理型プログラミング、関数論理プログラミングなどである。この科目では、代表的なプログラミング言語であるHaskellを使って、関数型プログラミングの基礎を学ぶ。 |
授業の目的と到達目標 /Objectives and attainment goals |
この科目の目的は、履修学生が宣言的プログラミング、とくに関数型プログラミングの基礎についての知識を得ることである。 この科目終了後、履修学生は以下のことができるようになる。 1. 手続き的プログラミングと宣言的プログラミングの違いを説明できる。 2. 関数型プログラミングの本質が何かについて説明できる。 3. 高階関数、多相型、遅延評価などが何を意味するか説明できる。 4. 高階関数、ユーザ定義の多相型、無限のデータ構造などを使った関数型プログラムを書くことができる。 5. 関数型プログラムの性質に関する数学的な推論を行うことができる。 6. 標準的なアルゴリズムを使った関数型プログラムを書くことができる。 |
授業スケジュール /Class schedule |
日程は以下の通り。 1. 宣言的プログラミングの概要 2. 関数プログラミングの概要 3. データ構造と定義 4. リストによるプログラミング I: リスト内包, 多相型など 5. リストによるプログラミング II: リスト上の再帰的プログラミング 6. 関数型プログラムに関する推論 7. 高階関数によるプログラミング (1) 8. 高階関数によるプログラミング (2) 9. 高階関数によるプログラミング (3) 10. 型クラス 11. 代数データ型 (1) 12. 代数データ型 (2) 13. 遅延評価と無限データ構造 (1) 14. 遅延評価と無限データ構造 (2) 15. 入出力とモナド (1) 16. 入出力とモナド (2) 進度により、日程は変更されることがある。 |
教科書 /Textbook(s) |
S.Thompson, The Craft of Functional Programming, 3rd Edition. Addison-Wesley, ISBN: 978-0201882957 |
成績評価の方法・基準 /Grading method/criteria |
評価は以下の結果により行う。 1. プログラミング課題: 原則として毎時間。提出は1週間後。 2. 教科書の割り当てられた箇所の発表。学生は必ず1回行う。 |
履修上の留意点 /Note for course registration |
学生は「プログラミング言語論」を履修済であることが望ましい。 |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
1. Haskell 2010 Language Report URL: http://www.haskell.org/onlinereport/haskell2010/ 2. J.Hughes, なぜ関数プログラミングは重要か URL: http://www.sampou.org/haskell/article/whyfp.html(翻訳) URL: http://www.md.chalmers.se/~rjmh/Papers/whyfp.html(英文) 3. R.Bird著, 関数プログラミング入門. オーム社, ISBN: 978-4274068966 4. M.Lipova著, すごいHaskellたのしく学ぼう!. オーム社, ISBN: 978-4274068850 5. G.Hutton著, プログラミングHaskell. オーム社, ISBN: 978-4274067815 6. R.Bird著, Pearls of Functional Algorithm Design. Cambridge University Press, ISBN: 978-0521513388 7. 青木峰郎, ふつうのHaskellプログラミング. ソフトバンククリエイティブ, ISBN: 978-4797336023 |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 4学期 /Fourth Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
ハミード サジ |
担当教員名 /Instructor |
ハミード サジ |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/03/02 |
---|---|
授業の概要 /Course outline |
This course is an introduction to the OpenCL parallel programming framework. This framework allows one to develop parallel programs for a wide variety of computing hardware including many core CPUs, GPGPUs and FPGAs. Students will develop simple models for oceanic and atmospheric phenomenon and apply OpenCL techniques to accelerate the codes on various hardware. |
授業の目的と到達目標 /Objectives and attainment goals |
The students will learn about many-core architectures and how to program them using CUDA and OpenCL languages. The course will heavily involve coding projects and assignments. |
授業スケジュール /Class schedule |
1. Numerical solution of differential equations 2. Oceanic and Atmospheric Modeling 3. Introduction to Heterogeneous Computing 4. Overview of CUDA 5. Kernel based parallel programming 6. Programming in OpenCL |
教科書 /Textbook(s) |
Numerical Analysis for Engineers and Scientists, G. Miller, Cambridge University Press Ocean Modeling for Beginners using Open-Source Software J Kampf, Springer OpenCL in Action, M. Scorpino, Manning |
成績評価の方法・基準 /Grading method/criteria |
Assignments, Projects and Project Reports |
履修上の留意点 /Note for course registration |
Computer architecture, mathematics, algorithms and programming (undergraduate). High Performance Computing (CSC09, Graduate school) Students are expected to have good knowledge of programming in C or Fortran. Exposure to parallel programming and numerical algorithms are desireable. |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
http://developer.amd.com/tools-and-sdks/opencl-zone/opencl-resources/introductory-tutorial-to-opencl/ https://opencl.codeplex.com/wikipage?title=OpenCL%20Tutorials |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 前期集中 /1st Semester Intensi |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
1.0 |
責任者 /Coordinator |
竹村 司(富士火災) |
担当教員名 /Instructor |
竹村 司(富士火災) , アレクサンダー ヴァジェニン |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/03/04 |
---|---|
授業の概要 /Course outline |
*Lectures will be given in Japanese. ソフトウェア開発の歴史は、抽象度向上の歴史である。機械語から始まり、アセンブラー言語、第三世代言語と抽象度が高まるにしたがって、ソフトウェア開発の生産性も向上した。しかし、近年主流になりつつJavaといえども、手続きの内容をテキスト形式で記述するという点では、1950年代に登場したFORTRANと本質的には変わっておらず、抽象度の向上による生産性の向上以上に要求が多様化複雑化している現在では、更なる抽象化が求められている。この点からもモデルに基づく開発の重要性は増している。 この講義では、オブジェクト指向分析の基礎を学ぶとともに、組み込みソフトウェアの開発からビジネス用アプリケーションの開発までの幅広い範囲でモデル駆動開発について解説する。また、これらの技術を理解するために必要なオブジェクト指向分析やUMLなどのモデリング手法についても解説する。 本講義では、モデル駆動開発のための要素技術として、次のような内容について学習する。 UML、MOF、OCL、モデルとメタモデル、モデル変換、モデル実行 |
授業の目的と到達目標 /Objectives and attainment goals |
将来ソフトウェア開発に携わる者にとっては必修の知識であるオブジェクト指向分析やそのために必要なモデリング技術の基礎を習得する。 |
授業スケジュール /Class schedule |
第一日 オブジェクト指向モデリングの基礎 第二日 UMLとオブジェクト指向分析 第三日 業務アプリケーションとモデリングおよびクラスモデル 第四日 ビジネスプロセスモデリングおよびユースケースモデル 第五日 ソフトウェアファクトリーおよびシーケンス図 第六日 組み込みソフトウェアとモデリングおよび状態遷移図 第七日 新しい技術 第八日 課題発表 |
教科書 /Textbook(s) |
毎時間、資料を配布します |
成績評価の方法・基準 /Grading method/criteria |
出席状況、課題提出状況、最終日の発表内容に基づいて総合的に評価します |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
「MDA モデル駆動アーキテクチャ」 # 出版社: エスアイビーアクセス (2003/11) # ISBN-13: 978-4434038136 「UML/MDAのためのオブジェクト制約言語OCL 第2版」 # 出版社: エスアイビーアクセス; 第2版 (2004/12) # ISBN-13: 978-4434055423 |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 前期集中 /1st Semester Intensi |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
カネフ カメン(静岡大) |
担当教員名 /Instructor |
カネフ カメン(静岡大) , アレクサンダー ヴァジェニン |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/03/04 |
---|---|
授業の概要 /Course outline |
This course focuses on advanced problem domain and requirements analysis and engineering, including requirement based solution system characteristics design, documentation, validation, and management. During the course students will acquire technical, analytical, and communication skills by assuming different roles in tackling practical engineering problems. Fundamental concepts, methods, and techniques for development and analysis of project requirements are also studied. The following main topics are covered by the course: Requirements engineering rationale in the scope of software lifecycle and the different activities it involves Requirements elucidation techniques including interviews, meetings, questionnaires, reverse engineering, simulations, and cognitive techniques Communication, negotiation, and conflict resolution skills and strategies Analyzing, scoping, evolving, and modeling of requirements; architectural implications Importance of nonfunctional requirements Security and privacy of information: concerns and threats |
授業の目的と到達目標 /Objectives and attainment goals |
At the end of the course students will: know how requirements are defined and classified be able to distinguish and handle standard types of requirements understand requirements development and analysis approaches be able to develop requirements (functional and nonfunctional, formal and informal, etc.) be aware of inter-component influences and environment impact on system solutions |
授業スケジュール /Class schedule |
Importance of Requirements Requirements Activities in the System Life Cycle General Process of Requirements Development Types of Requirements System Requirements Development Requirements Analysis Environment of a Problem Dependences Analysis Gathering Requirements Practices for Requirements Development and Management Requirements Quality and Quality Improvement Knowable Requirements and Manageable Risk Project Development Project Evaluation |
教科書 /Textbook(s) |
Lecture notes and a list of publications related to the course objectives will be distributed by the instructor |
成績評価の方法・基準 /Grading method/criteria |
Requirements development and analysis project class work (40%), homework (30%), and examination (30%) |
履修上の留意点 /Note for course registration |
Prerequisites and other related courses which include important concepts relevant to the course: Basic understanding of software engineering concepts and programming technologies. Courses that could be taken before this course (desirable, but not obligatory): Software Engineering Technologies of Programming Courses to be taken simultaneously with this course (strongly recommended): Software Project Management |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
1. Ralph R. Young. The Requirements Engineering Handbook. Artech House, 2004, www.artechhouse.com 2. Elizabeth Hull, Kenneth Jackson, Jeremy Dick, Ian Sommerville. Software Engineering. Addison Wesley. |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 前期集中 /1st Semester Intensi |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
1.0 |
責任者 /Coordinator |
カネフ カメン(静岡大) |
担当教員名 /Instructor |
カネフ カメン(静岡大) , アレクサンダー ヴァジェニン |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/03/04 |
---|---|
授業の概要 /Course outline |
This course introduces students to state of the art software project management practices. Roles of software project members are discussed, respective management techniques are introduced, and tasks and responsibilities of a software project manager are clarified. Advanced approaches and styles of management suitable for complex software projects are taught and students are encouraged to participate in both computer simulated and real software project management situation. The following main topics are included in the course: Role and function of project management in software project lifecycle Modern methodologies for software design, development, testing and implementation Risks, issues, and critical factors pertinent to successful technology projects Techniques for planning and management of technology projects Methods for managing software development teams Software project planning and tracking technologies |
授業の目的と到達目標 /Objectives and attainment goals |
At the end of the course students will: be familiar with software system lifecycles and related management activities understand the specific issues, risks, and factors, critical for the successful implementation of technology projects know the basic principles and methodologies of software design, development, testing and implementation master the basic of software development team management |
授業スケジュール /Class schedule |
Software Project Management Processes Software Project Management Knowledge Areas Software Project Cost and Time Management Software Project Quality Management Software Project Risk Management Software Project Human Resources Management Final Evaluation and Examination |
教科書 /Textbook(s) |
Lecture notes and a list of publications related to the course objectives will be distributed by the instructor |
成績評価の方法・基準 /Grading method/criteria |
Project development and analysis class work (40%), homework (30%), and examination (30%) |
履修上の留意点 /Note for course registration |
Prerequisites and other related courses which include important concepts relevant to the course: Basic understanding of software engineering concepts and programming technologies. Courses that could be taken before this course (desirable, but not obligatory): Software Engineering Technologies of Programming Courses to be taken simultaneously with this course (strongly recommended): Requirements Engineering |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
1. Ian Sommerville. Software Engineering. Addison Wesley 2. Gary R. Heerkens. Project Management. McGraw-Hill |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 後期集中 /2nd Semester Intensi |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
1.0 |
責任者 /Coordinator |
竹村 司(富士火災) |
担当教員名 /Instructor |
竹村 司(富士火災) |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/03/04 |
---|---|
授業の概要 /Course outline |
*Lectures will be given in Japanese. モデル駆動開発は、プラットフォームに依存しないモデルを構築し、そこからプラットフォームに応じたモデルを生成することによって、プラットフォームの多様性に対応しようとする技術である。さらにモデルからコードを生成することによってシステム開発の生産性の向上も目指している。 この講義では、UMLを用いたユースケースモデルから設計モデルまでモデリングの過程とモデルからのコード生成について解説するとともに、ツールを用いてこれらの過程を体験する。 |
授業の目的と到達目標 /Objectives and attainment goals |
モデル駆動開発は、プラットフォームに依存しないモデルを構築し、そこからプラットフォームに応じたモデルを生成することによって、プラットフォームの多様性に対応しようとする技術である。さらにモデルからコードを生成することによってシステム開発の生産性の向上も目指している。 この講義では、UMLを用いたユースケースモデルから設計モデルまでモデリングの過程とモデルからのコード生成について解説するとともに、ツールを用いてこれらの過程を体験する。 |
授業スケジュール /Class schedule |
1.「ソフトウェアモデリングの概要」 2.「ユースケースモデル」 3.「分析モデル」 4.「デザインパターン」 5.「設計モデル」 6.「モデル変換」 7.「演習課題発表」 |
教科書 /Textbook(s) |
講義用資料 |
成績評価の方法・基準 /Grading method/criteria |
出席 20% 宿題 20% プレゼンテーション 60% |
履修上の留意点 /Note for course registration |
Model-driven Software Development |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
「MDA モデル駆動アーキテクチャ」 出版社: エスアイビーアクセス (2003/11) ISBN-13: 978-4434038136 「UML/MDAのためのオブジェクト制約言語OCL 第2版」 出版社: エスアイビーアクセス; 第2版 (2004/12) ISBN-13: 978-4434055423 |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 後期集中 /2nd Semester Intensi |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
出村 裕英 |
担当教員名 /Instructor |
出村 裕英 , 平田 成 , JAXA/NAOJ講師 |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/03/13 |
---|---|
授業の概要 /Course outline |
月惑星探査ミッションのプロジェクトマネージメント、安全確保技術、ソフトウエア工学を学ぶ。 JAXAおよび国立天文台より講師を招き,遠隔授業を行います。 |
授業の目的と到達目標 /Objectives and attainment goals |
月惑星探査ミッションのプロジェクトマネージメント、安全確保技術、ソフトウエア工学を実習を通じて学ぶ。 コンピュータ理工学のトピックとして宇宙開発分野の基礎知識を学ぶ。 |
授業スケジュール /Class schedule |
参考として、2014年度の実績を挙げる。 #1-5 上野 (JAXA) 国際宇宙ステーションにおけるロボティクスと安全確保 #6-13春山 (JAXA) 月周回衛星かぐやミッションの紹介とデータ解析実習 #14-15 大嶽 (JAXA) 月周回衛星かぐやのプロジェクトマネージメント |
教科書 /Textbook(s) |
N/A |
成績評価の方法・基準 /Grading method/criteria |
出席(プレゼン等)、課題提出、レポート等、各講師指示による。 |
履修上の留意点 /Note for course registration |
関連科目 ITC08 Remote Sensing ITC09 Fundamental Data Analysis in Lunar and Planetary Explorations ITC10 Practical Data Analysis in Lunar and Planetary Explorations ITA19 Reliable System for Lunar and Planetary Explorations |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
N/A |
科目一覧へ戻る |
開講学期 /Semester |
2015年度/Academic Year 3学期 /Third Quarter |
---|---|
対象学年 /Course for; |
1年 , 2年 |
単位数 /Credits |
2.0 |
責任者 /Coordinator |
渡部 有隆 |
担当教員名 /Instructor |
渡部 有隆 |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2015/02/27 |
---|---|
授業の概要 /Course outline |
Usually parallel languages and parallel programming are considered as means and activity to extract maximum performance from some computer architecture. Growing role of multi-core and many-core systems makes users spend a lot of energy and time for technical aspects of application algorithm implementations. This essentially decreases their abilities in developing application models, performing necessary experiments and creating practical systems. In this course a new programming methodology based on a new multimedia programming environment is presented. Within this environment, programs are created as information resources with multiple clarifications and human performance, rather than hardware performance, is a focus. The course is supported by practical exercises helping in understanding new forms of modeling and programming in pictures. |
授業の目的と到達目標 /Objectives and attainment goals |
They are to give students a vision of modeling/programming systems of a new generation where pictures and moving pictures (animation) are used as super-characters for representing features of computational algorithms and data structures. They are also to explain how a cluster of visual languages and supportive tools are combined into a uniform framework to 1) integrate programming experience/knowledge and forms of their representation, and to 2) generate executable codes from picture-based specifications. In addition, students will get a basic skill of programming in *AIDA (Star-AIDA) language within Filmification modeling (F-modeling) environment and learn how introducing new super-characters representing a set of parallel activity coordinators (for Master-workers schemes, Send-receive, Data-flow, Pipeline and Statechart alliances) enhances intelligent aspects of the environment in general and allows obtaining special features required by applications. |
授業スケジュール /Class schedule |
-Overview and classification of parallel computer architectures and programming languages; examples of programming constructs for Message-Passing Interface and other conventional languages. -Visual languages and programming in pictures. -Algorithmic CyberFrames, CyberScenes and CyberFilm; Languages of Integrated view, Algorithmic Dynamics, Command and Interface views. -Algorithms as activities in 4-dimensional space-time; super-characters to declare space data structures, their substructures and slices; super-characters to define traversal schemes on space data structures. -Super-characters to define computational activity units (formulas, etc.); annotations for variables and language constructs; folding/unfolding techniques for formulas. -Examples of *AIDA programs; comparisons of *AIDA and conventional language constructs. -Executable diagrams for master-workers schemes, send-receive, data-flow, pipeline and state-chart alliances. -Template programs behind super-characters and automatic code generation. -Interface panels of F-modeling environment and their features. -*AIDA programs as information resources of a new type. |
教科書 /Textbook(s) |
1.Handouts of Lectures 2.Tutorials at http://aida.u-aizu.ac.jp/aida/tutorial.jsp |
成績評価の方法・基準 /Grading method/criteria |
1. Final test (45 points), 2. Technical report on *AIDA programming (40 points) 3. Attendance of lectures and participation in discussions (15 points) |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
1.R. Bitter, T. Mohiuddin, N. Nawrocki, LabVIEW: Advanced Programming Techniques, CRC Press, 2007. 2.B. P. Douglass, Real-Time UML, Second Edition, Addison-Wesley, 2000. |