Anda di halaman 1dari 27

Kisi2 UTS

Software Engineering
Multipaper 1
- 10 PG (8%)
- 5 Essay (32%)
Pelajari Sesi 4, 5, 6, 7.
Notes : 3 soal dari Binus, 1 soal dari BEC (Binus Entrepreneurship Center), 1 soal dari luar.

Multipaper 2
- 1 Case (60%)
Requirement Modelling.
Sesi 1
The Nature of Software and SE (1/2)
• Software = Gabungan dari :
1. Instruction (computer program) = Fitur, function, performance.
2. Data structure = Agar bisa memanipulasi info.
3. Documentation = Mendeskripsikan operation dan kegunaan program.

• 3 sifat/karakteristik software :
1. Software dikembangkan bukan dimanufaktur.
2. Software tidak kadaluarsa.
3. Software dibuat secara custom.

• Software engineering = Ilmu yang mempelajari semua aspek pengembangan software.


Sesi 1
The Nature of Software and SE (2/2)
• Legacy software = Software yg sudah berumur lanjut, tetapi masih bisa memenuhi kebutuhan.
• Sebuah software harus ...
1. Adapted = Meet new computing technology.
2. Enhanced = Implement new requirement.
3. Extended = Use more modern system/database.
4. Re-architected = Viable in network environment.

• 4 kategori software yg saat ini mendominasi industri :


1. WebApp
2. MobileApp
3. Cloud Computing
4. Product Line Software (software khusus kebutuhan tertentu)
Sesi 2
The Software Process (1/3)
• Software process = Aktivitas2 yg tujuannya adalah perkembangan software.

• 4 aktivitas software process :


1. Specification = Menentukan requirement dan constraint.
2. Development = Produksi software.
3. Validation = Mengecek apakah software tersebut adalah keinginan customer.
4. Evolution = Mengubah software untuk memenuhi permintaan baru.
Sesi 2
The Software Process (2/3)
• Software process model = Representasi software proses dari sudut pandang tertentu.

• 3 sudut pandang software process : Workflow, Data-flow, Role/action.

• Jenis2 process model pada umumnya :


Waterfall, V-Model, Incremental,
Com m unic a t ion
proje c t init ia t ion Planning
Prototyping,
re quire m e nt ga t he ring es timating Mode ling
sc heduling
tra cking
analysis
design
Const r uc t ion
code De ploy m e nt
Spiral, dll.
t est de liv e ry
s upport
f e e dba c k
Sesi 2
The Software Process (3/3)
• Agile development = Rapid, incremental delivery of software.

• Jenis2 agile development :


1. XP (eXtreme Programming). Siklus : Planning → Design → Coding → Test → (release)
2. ASD (Adaptive Software Development). Siklus : Speculation → Collab → Learning → (release)
3. DSDM (Dynamic System Development Method)
4. Scrum = Development dijadikan “packet”
dll.

• 4 organizational paradigm untuk SE team : Closed, Open, Random, Synchronous.


Sesi 3
An Introduction to SE
• CASE (Computer-Aided SE) = Software yg membantu proses SE.

• 2 kategori CASE :
1. Upper-CASE = Membantu aktivitas2 awal (requirement, design)
2. Lower-CASE = Membantu aktivitas2 akhir (programming, debugging, testing)

• 4 attribute good software :


1. Maintainability = Berkembang untuk memenuhi requirement baru.
2. Dependability = Dapat dipercaya.
3. Efficiency = Efisien dalam memanfaatkan system resources.
4. Acceptability = Diterima user.
Sesi 4
Customer Insight and Market Analysis
• Market Research = Memanfaatkan info untuk
mengenal kesempatan dan permasalahan di pasar
untuk menentukan strategi marketing
dan sebagai ramalan penjualan bagi perusahaan baru

• 3 jenis komponen yang di-research :


1. Market (disebut juga info requirement) : Customer, Product/Service, Price, Channel
2. Industry : New entrant, Substitute, Supplier, Buyer
3. Macro environment (faktor external) : Politic, Economy, Social, Technology
Sesi 5
Requirement Engineering and Modelling (1/2)
• Requirement analysis = Menggambarkan karakteristik operasional software,
menetapkan constraint software,
menunjukkan tampilan software.

• 2 tujuan requirement analysis :


1. Agar bisa menjelaskan/menguraikan requirement dasar.
2. Agar bisa requirement modelling.
Sesi 5
Requirement Engineering and Modelling (2/2)
• Biasanya, untuk web/mobileApp proses analysis + design dijadikan satu. Namun, analysis perlu
dipisah apabila web/mobileApp tersebut besar dan penting.

• 4 model analisa pada web/mobileApp :


1. Content model = Gambaran content beserta hubungan/hirarki content. (mirip class)
2. Interaction model = Use case, sequence, state, dan UI prototype.
3. Functional model = Memodelkan functionality untuk end-user dan operation dalam class.
4. Config model = Memodelkan server-side (server) dan client-side (browser).
Sesi 6
Design Concepts and Engineering (1/2)
• Perbedaan dari :
a. Design
Menggambarkan bagaimana cara mendesain software secara keseluruhan agar mempermudah coding.
b. Architecture
Menganalisa keefektifan design tersebut dalam rangka memenuhi requirement.

• 3 ciri design yang berkualitas :


1. Design harus mengimplementasi semua requirement.
2. Design harus dapat dimengerti oleh coder dan tester.
3. Design harus menggambarkan semua komponen software (data, functional, behavioral)
Sesi 6
Design Concepts and Engineering (2/2)
• 3 Golden Rules dalam Interface Design :
1. User adalah pemegang kontrol.
2. Minimalkan memory load yang digunakan user.
3. Buatlah interface yang konsisten.

• 5 faktor kualitas webApp : REMUF (Reliability, Efficiency, Maintainability, Usability, Functionality)

• MVC architecture dalam webApp design :


1. Model = Content + Logic.
2. View = Tampilan.
3. Controller = Mengatur data flow antar model dan view.
Sesi 7
Understanding Requirement (1/3)
• Requirement = Kebutuhan2 user yang dimasukkan ke dalam software.
Contoh : Software “Paint” harus bisa dipakai untuk menggambar.

• 3 jenis requirement :
1. Functional requirement = FITUR yang ditawarkan software.
Contoh : User bisa ngetik, software bisa print.
2. Non-functional requirement = Selain FITUR yang ditawarkan software.
Contoh : User bisa free trial, software harus user-friendly, user.
3. Specification requirement = Detail functional requirement.
Contoh : User bisa ngetik pakai font bebas, size bebas, warna bebas. Software bisa print color atau B&W.
Sesi 7
Understanding Requirement (2/3)
• 7 tahap requirement engineering :
1. Inception (permulaan)
Mendefinisikan masalah, solusi, pihak yang butuh solusi.
2. Elicitation
Menanyakan requirement dari semua stakeholder.
3. Elaboration
Membuat model analisa data, function, behavioral requirement.
4 jenis requirement model :
a. Scenario-based : Functional = Cerita tentang software function.
Use Case Diagram = Gambaran interaksi antara actor dengan system.
b. Class-based : Class Diagram = Gambaran class beserta hubungan antar class.
c. Behavioral : State Diagram = Gambaran event dan state dalam sebuah object.
d. Flow-oriented : Data Flow Diagram = Gambaran aliran data dalam sistem.
Sesi 7
Understanding Requirement (3/3)
4. Negotiation
Mengkonfirmasi model tsb dengan customer.
5. Specification
Dokumentasi spesifikasi requirement yg dapat berupa : dokumen, model, formal math, use case, prototype.
6. Validation
Mengecek kembali apakah ada error, miss info, inconsistency, requirement yang impossible.
7. Requirement Management
Mendokumentasi + memanage perubahan requirement.

In EliEla Nego Spec Vreman


(di toko komputer eliela kita nego spec komputer biar bisa jadi preman game).
Sesi 11
Design Engineering (1/4)
• Good design = Design yang membuat sesuatu dapat bekerja EFEKTIF + EFISIEN.

• 5 ciri good design :


1. Bisa direalisasikan
2. Sesuai tujuan dan requirement
3. Biaya yang dikeluarkan efektif (worth it)
4. Istimewa (khas)
5. Tahan lama

*3 faktor design performance


Sesi 11
Design Engineering (2/4)
• Design process = Proses menyelesaikan masalah design
yang butuh analisa logical dan sequential

• 3 tahap design process :

PD Crimp = Percaya diri kalau lagi crimping.


Sesi 11
Design Engineering (3/4)
• 4 UI (User Interface) design model :
1. User model = Profil semua end user.
Berupa penjelasan singkat siapa saja end user + peranannya dalam sistem.
2. Design model = Design realization dari user model.
Berupa Use Case Diagram.
3. Mental model = Persepsi (mental image) user terhadap interface.
Berupa penjelasan singkat interface.
4. Implementation model = Interface + deskripsi syntax dan semantic nya.
Berupa Mockup.

• 4 komponen interface analysis : End-user, Task, Content, Environment.


HANYA TAMBAHAN !!!
Sesi 11 berdasarkan jawaban
Design Engineering (4/4) penulis untuk exercise di
slide bimay.
• Control component penting di traditional software karena masih procedural programming.
Component dalam traditional software = “function/module” sehingga semua hal yang berkaitan
dengan logic diatur oleh control component.
• Control component tidak penting di OOP software karena sudah object-oriented.
Component dalam OOP software = “set of collaborating class” sehingga semua hal yang
berkaitan dengan logic sudah dienkapsulasi di dalam class, jadi tidak perlu control component.

• Perbedaan dari :
Architectural Pattern Component Pattern
adalah template untuk mengatasi masalah : adalah template untuk mengatasi masalah :
Application Application
Infrastructure Infrastructure
- Implementation
Sesi 12-14
• Tidak dibahas disini karena bahannya banyak dan besar kemungkinan hanya keluar di PG.

• Dipersilakan baca langsung dari slide bimay.


Latihan Soal PG (1/3)
Typical Design Errors during Interface Design are in the following, except : Software model process which in every step of development there is a software testing conducted is called :
Lack of consistency Iterative
Too much memory load Spiral
No guidance/help Waterfall
Fast response V Model

During WebApp Design, the web application quality are in the following, except : Constantine (1993) suggests four “organizational paradigms” for software engineering teams, except :
Effectiveness A closed paradigm
Usability A random paradigm
Functionality A synchronous paradigm
Reliability A make-up paradigm

The following steps are carried out during requirement gathering, except : An agile development model which distinguished characteristic of its development work is partitioned into
Inception “packets” is called :
Elaboration Scrum
Negotiation XP
Argumentation Crystal
ASD
Among the following aspects, which is not considered as the advantage of modularity?
The system built is easier to manage Elements of the analysis model are the following, except :
The software won’t change in the middle of project Scenario-based elements
Bug and error tracking can be done more easily. Class-based elements
Client can identify the developer’s progress more clearly. Data-oriented elements
Flow-oriented elements
A good design is the one that meets the following criteria, except :
Cost effective In Requirement Modeling through Class-Based methods, identifyng analysis classes are done through the
following, except :
Fit for purpose
External entities
Complicated
People
Achievable
Roles
Structures
Latihan Soal PG (2/3)
Software engineering is an engineering discipline that is concerned with: What kind of approach was introduced for elicitation and modeling to give a functional view of the system?
how computer systems work Object Oriented Design (by Booch)
theories and methods that underlie computers and software systems Use Cases (by Jacobson)
All aspects of software production. Fusion (by Coleman)
how complex engineering projects should be designed and managed over their life cycles Object Modeling Technique (by Rambaugh)

A structured set of activities used to develop a software system or product is called What is the major advantage of using Incremental Model?
Project management. a) Customer can respond to each increment
A software process. b) Easier to test and debug
Software engineering. c) It is used when there is a need to get a product to the market early
Requirements engineering. d) Both b & c

Which one of the following is not a step of requirement engineering?


Which model in system modeling depicts the dynamic behavior of the system?
Elicitation
a) Context Model
Design
b) Behavioral Model
Analysis c) Data Model
Documentation d) Object Model

Which is one of the most important stakeholders from the following? Which of the following diagram is not supported by UML considering Data-driven modeling?
Entry level personnel a) Activity
Middle level stakeholder b) Data Flow Diagram (DFD)
Managers c) State Chart
Users of the software d) Component

Which of the following is not a diagram studied in Requirement Analysis? Which one of the following is not a software process quality?
Use Cases a) Productivity
Entity Relationship Diagram b) Portability
State Transition Diagram c) Timeliness
Activity Diagram d) Visibility
Latihan Soal PG (3/3)
Aktivitas yang umum dalam semua proses pengembangan software adalah, kecuali : Manakah dari item dibawah ini yang tidak termasuk dari kegiatan pada process pattern :
Specification Menjelaskan masalah terkait yang ditemui selama pengerjaan perangkat lunak
Development Mengobservasi masalah yang ada dengan cara yang sesuai
Validation Mengidentifikasi lingkungan dimana masalah telah dihadapi
Menunjukkan satu atau lebih solusi yang terbukti untuk masalah yang dihadapi
Revolution

Manakah dari item dibawah ini yang tidak termasuk dalam tahapan perencanaan dalam proses model
Dibawah ini merupakan contoh model proses software ditinjau dari sudut pandang, kecuali :
“Waterfall” :
Sudut pandang workflow
Estimasi
Sudut pandang proses Penjadwalan
Sudut pandang dataflow Tracking
Sudut pandang role/aksi Pengumpulan kebutuhan

Apa saja yang termasuk dalam atribut software yang baik? Manakah dari item dibawah ini yang tidak termasuk dalam tahapan proses model “Extreme Programming” :
Maintainability Time-boxing
Dependability Coding
Efficiency Planning
Semua jawaban benar Test

Info apa saja yang dibutuhkan dalam penelitian sebuah market? Manakah dari item dibawah ini yang tidak perlu diperhatikan dalam interface design :
Profil pelanggan dan produk Tempatkan pengguna dalam kontrol
Harga dan saluran sales distribusi Memberikan umpan balik yang interaktif
Jawaban a dan b benar Kurangi beban memori pengguna
Membuat antarmuka yang konsisten
Harga pelayanan
Manakah dari item dibawah ini yang tidak termasuk dalam bidang utama lingkungan bisnis model :
Contoh dibawah ini yang bukan merupakan bagian dari spesifikasi dari requirement engineering adalah :
Market forces
Behaviour elemen
Industry forces
Sekumpulan model Key trends
Sekumpulan use case Microeconomic forces
Prototype
Latihan Soal Essay
1. List and describe the three methods used during requirements modelling (in any of the four sub-disciplines). How does each method contribute to
the goal of developing requirements specifications of good quality?
2. Explain the differences between: Software architecture and software design?
3. List and describe the six steps for requirements engineering? Provide an example of the output for each step
4. What are the information requirements in market research for developing a new product? Describe steps for gathering that each information
requirement
5. What are functional software requirements? Provide two (2) examples.
6. What are non-functional software requirements? Provide two (2) examples
7. Identify and explain the stages of design process?
8. Identify factors of good design and Explain factors affecting design performance?

9. Using the architecture of a house or building as a metaphor, draw comparisons with software architecture. How are the discip lines of classical
architecture and the software architecture similar? How do they differ?
10. Why are control components necessary in traditional software and generally not required in object-oriented software?
11. How do architectural patterns differ from component patterns ?

*Jawaban seharusnya sudah tercover di halaman2 sebelumnya.


Latihan Soal Case (1/2)
1. Consider an interactive applications of an automated course registration system for a university. Develop a user
model, design model, mental model, and an implementation model, for these systems.

2. Consider a system for Using your credit card for a meal at a restaurant, identify the requirements of the system
based on the following information:
a. Stakeholder of the system
b. The users the system
c. Functions of the system
d. Data and information
e. Scenarios
f. Use case diagram
g. Steps to fulfill each of use case

*Kemungkinan kecil case keluarnya seperti ini.


Latihan Soal Case (2/2)
3. The department of public works for a large city has decided to develop a web-based pothole tracking and repair
system (PHTRS). A description follows:
Citizens can log onto a website and report the location and severity of potholes. As potholes are reported they are
logged within a "public works department repair system" and are assigned an identifying .number, stored by street
address, size (on a scale of 1 to 1 0), location-(middle, curb, etc.), district (determined from street address), and repair
priority (determined from the size of the pothole). work order data are associated with each pothole. and include
pothole location and size, repair crew identifying number, number of people on crew, equipment assigned, hours
applied to repair, hole status (work in progress, repaired, temporary repair, not repaired), amount of filler material
used and cost of repair computed (from hours applied, number of people, material and equipment used). Flnally, a
damage file is created to hold information about reported damage due to the pothoie and incllude citizen's name,
address, phone number, type of damage, and dollar amount of damage. PHTRS is an online system; all queries are to
be made interactively
a. Draw a UML use case diagram for the PHTRS system!
b. Develop activity diagram for the PHTRS system!
c. Develop a class model for the PHTRS system!

*Kemungkinan besar case keluarnya seperti ini.


Pertempuran Selesai...

Selamat Menempuh Ujian


GLHF